:root{
  --vw-gray-950:#111827;--vw-gray-900:#1f2937;--vw-gray-700:#374151;--vw-gray-500:#6b7280;--vw-gray-300:#d1d5db;--vw-gray-100:#f3f4f6;--vw-gray-50:#f8fafc;
  --vw-green:#2f7d5b;--vw-green-soft:#eaf5ef;--vw-orange:#f28c28;--vw-orange-soft:#fff2e4;--vw-red:#c84f4f;--vw-red-soft:#fdecec;--vw-blue:#69b7d6;--vw-blue-soft:#eaf7fc;
  --vw-white:#ffffff;--vw-shadow:0 18px 48px rgba(17,24,39,.12);--vw-radius:22px;--vw-radius-sm:14px;--vw-max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#fff,#f7f9fb);color:var(--vw-gray-900);line-height:1.64}a{color:inherit}img{max-width:100%;height:auto}.container{width:min(var(--vw-max),calc(100% - 38px));margin:auto}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:20px;top:20px;background:#fff;padding:10px 14px;border-radius:10px;z-index:9999}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(209,213,219,.75)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:850;letter-spacing:-.04em;font-size:1.42rem;color:var(--vw-gray-950)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--vw-green),var(--vw-blue));color:#fff;font-weight:900;box-shadow:0 10px 28px rgba(47,125,91,.25)}.brand small{display:block;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--vw-gray-500);font-weight:700}.nav-toggle{display:none;border:0;background:var(--vw-gray-100);border-radius:12px;padding:10px 12px}.main-nav ul{display:flex;align-items:center;gap:5px;list-style:none;margin:0;padding:0}.main-nav a{display:block;text-decoration:none;padding:11px 12px;border-radius:12px;font-weight:750;font-size:.94rem;color:var(--vw-gray-700)}.main-nav a:hover,.main-nav .current-menu-item>a{background:var(--vw-green-soft);color:var(--vw-green)}.header-cta{display:flex;align-items:center;gap:10px}.btn,.wp-block-button__link,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:999px;border:0;text-decoration:none;font-weight:850;line-height:1.1;cursor:pointer;transition:.2s ease;white-space:normal;text-align:center}.btn-primary{background:var(--vw-green);color:#fff;box-shadow:0 12px 30px rgba(47,125,91,.24)}.btn-primary:hover{transform:translateY(-1px);filter:brightness(.98)}.btn-orange{background:var(--vw-orange);color:#1f2937}.btn-light{background:#fff;color:var(--vw-gray-900);border:1px solid var(--vw-gray-300)}.btn-blue{background:var(--vw-blue);color:#0f172a}.btn-red{background:var(--vw-red);color:#fff}.hero{position:relative;overflow:hidden;padding:82px 0 68px;background:radial-gradient(circle at 12% 10%,var(--vw-blue-soft),transparent 34%),radial-gradient(circle at 83% 6%,var(--vw-orange-soft),transparent 32%),linear-gradient(135deg,#fff,#f7faf8)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr);gap:54px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:rgba(47,125,91,.12);color:var(--vw-green);font-weight:900;text-transform:uppercase;font-size:.74rem;letter-spacing:.1em;padding:8px 12px}.hero h1,.page-title h1{font-size:clamp(2.25rem,5vw,4.65rem);letter-spacing:-.075em;line-height:.98;margin:18px 0 20px;color:var(--vw-gray-950);max-width:930px}.lead{font-size:clamp(1.04rem,1.6vw,1.24rem);color:var(--vw-gray-700);max-width:760px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.trust-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.trust-pill{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid rgba(209,213,219,.7);font-size:.9rem;font-weight:750;color:var(--vw-gray-700)}.hero-card{position:relative;background:#fff;border:1px solid rgba(209,213,219,.8);border-radius:32px;padding:24px;box-shadow:var(--vw-shadow)}.hero-card:before{content:"";position:absolute;inset:-12px;z-index:-1;border-radius:38px;background:linear-gradient(135deg,rgba(47,125,91,.16),rgba(105,183,214,.16),rgba(242,140,40,.16),rgba(200,79,79,.12))}.founder-profile{display:grid;grid-template-columns:170px 1fr;gap:22px;align-items:center}.founder-picture{display:block;overflow:hidden;border-radius:24px;background:#e5e7eb;box-shadow:0 16px 34px rgba(17,24,39,.18)}.founder-picture img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.hero-card .founder-picture{width:170px}.founder-text h2{font-size:1.15rem;line-height:1.18;letter-spacing:-.025em;margin:0 0 8px}.founder-text p{margin:0;color:var(--vw-gray-700);font-size:.96rem}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.metric{border-radius:18px;background:var(--vw-gray-50);padding:14px;border:1px solid var(--vw-gray-300)}.metric strong{display:block;font-size:1.18rem}.metric span{font-size:.78rem;color:var(--vw-gray-500);font-weight:700}.section{padding:72px 0}.section-muted{background:linear-gradient(180deg,#f7faf8,#eef4f8)}.section-head{max-width:820px;margin-bottom:30px}.section-head h2,.content h2,.cta-band h2{font-size:clamp(1.42rem,3vw,2.28rem);line-height:1.06;letter-spacing:-.045em;margin:0 0 12px;color:var(--vw-gray-950)}.section-head p{font-size:1.06rem;color:var(--vw-gray-700)}.grid{display:grid;gap:22px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.industry-card,.product-card,.price-card,.info-box{background:#fff;border:1px solid rgba(209,213,219,.78);border-radius:var(--vw-radius);padding:24px;box-shadow:0 10px 30px rgba(17,24,39,.06);min-width:0;overflow-wrap:anywhere;word-break:normal}.industry-card{text-decoration:none;position:relative;overflow:hidden}.industry-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--vw-green)}.accent-blue:after,.accent-blue{--accent:var(--vw-blue)}.accent-orange:after,.accent-orange{--accent:var(--vw-orange)}.accent-red:after,.accent-red{--accent:var(--vw-red)}.accent-green:after,.accent-green{--accent:var(--vw-green)}.industry-card:after{background:var(--accent,var(--vw-green))}.card h3,.industry-card h3,.product-card h3,.price-card h3,.info-box h3{font-size:clamp(1.05rem,1.6vw,1.34rem);line-height:1.15;letter-spacing:-.025em;margin:10px 0 10px;overflow-wrap:anywhere;hyphens:auto}.card h2{font-size:clamp(1.24rem,2vw,1.72rem);line-height:1.12;letter-spacing:-.035em}.tag{display:inline-flex;border-radius:999px;padding:6px 10px;background:var(--vw-gray-100);font-size:.76rem;color:var(--vw-gray-700);font-weight:850;text-transform:uppercase;letter-spacing:.06em}.industry-card:hover,.product-card:hover,.card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(17,24,39,.1)}.product-card{display:flex;flex-direction:column}.product-card p{flex:1}.price-card.featured{border:2px solid var(--vw-green);box-shadow:0 22px 54px rgba(47,125,91,.18)}.price{font-size:2.3rem;line-height:1;font-weight:900;letter-spacing:-.055em}.note{color:var(--vw-gray-500);font-weight:750}.check-list,.template-list{padding:0;list-style:none;margin:14px 0 0}.check-list li,.template-list li{position:relative;padding-left:28px;margin:9px 0}.check-list li:before,.template-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--vw-green);font-weight:900}.template-list li:before{content:"•";color:var(--vw-orange)}.panel{border-radius:34px;padding:36px;background:#fff;border:1px solid rgba(209,213,219,.7);box-shadow:var(--vw-shadow)}.panel-muted{background:linear-gradient(135deg,#fff,#f5f8fb)}.cta-band{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px;border-radius:30px;background:linear-gradient(135deg,var(--vw-gray-950),#253244);color:#fff}.cta-band h2{color:#fff;margin:0 0 8px}.cta-band p{margin:0;color:#d1d5db}.page-title{padding:64px 0 28px;background:linear-gradient(135deg,#fff,#f6faf8)}.content{padding:44px 0 76px}.content>h2:first-child{margin-top:0}.founder-card{display:grid;grid-template-columns:210px 1fr;gap:26px;align-items:center;border-radius:32px;padding:28px;background:#fff;border:1px solid rgba(209,213,219,.8);box-shadow:var(--vw-shadow);margin-top:28px}.founder-card .founder-picture{width:210px}.contact-box{background:#fff;border-radius:28px;padding:28px;border:1px solid rgba(209,213,219,.8);box-shadow:var(--vw-shadow)}.site-footer{background:#111827;color:#e5e7eb;padding:56px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:28px}.site-footer h3{font-size:1.05rem}.site-footer a{color:#e5e7eb;text-decoration:none}.site-footer .btn{background:#fff;color:#111827!important;border:1px solid #fff;font-weight:900}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:20px;color:#9ca3af;font-size:.88rem}.notice{border-left:4px solid var(--vw-orange);padding:14px 18px;background:#fffaf3;border-radius:12px}.woocommerce div.product .product_title{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.05}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--vw-green);font-weight:900}.vw-generator-fields{border:1px solid #d1d5db;border-radius:20px;padding:18px;margin:20px 0;background:#f8fafc}.vw-generator-fields h3{margin-top:0;font-size:1.22rem}.vw-generator-fields label{font-weight:800}.vw-generator-fields input,.vw-generator-fields textarea,.vw-generator-fields select{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:12px;margin-top:6px;background:#fff}.vw-order-download{padding:20px;border-radius:20px;background:#eaf5ef;border:1px solid rgba(47,125,91,.2);margin:20px 0}@media (max-width:980px){.hero-grid,.grid-3,.grid-4,.footer-grid{grid-template-columns:1fr 1fr}.hero-grid{gap:34px}.header-cta{display:none}.main-nav{display:none;position:absolute;left:0;right:0;top:82px;background:#fff;border-bottom:1px solid #e5e7eb;padding:12px 18px}.main-nav.is-open{display:block}.main-nav ul{display:block}.main-nav a{padding:13px}.nav-toggle{display:inline-flex}.founder-profile{grid-template-columns:140px 1fr}.hero-card .founder-picture{width:140px}.founder-card{grid-template-columns:160px 1fr}.founder-card .founder-picture{width:160px}}@media (max-width:680px){.container{width:min(100% - 28px,var(--vw-max))}.hero{padding:54px 0 42px}.hero-grid,.grid-2,.grid-3,.grid-4,.footer-grid,.founder-card,.founder-profile{grid-template-columns:1fr}.metric-row{grid-template-columns:1fr}.hero-card .founder-picture,.founder-card .founder-picture{width:160px}.cta-band{display:block}.cta-band .btn{margin-top:18px}.section{padding:48px 0}.panel{padding:24px}.card,.industry-card,.product-card,.price-card,.info-box{padding:20px}.hero h1,.page-title h1{font-size:2.2rem}.main-nav{top:76px}.header-row{min-height:76px}}

/* =========================================================
   Vorlagenwerk Fix 2026-06-17
   Startseite: Foto-Box sauber unterhalb/neben der Überschrift halten
   Datei: /wp-content/themes/vorlagenwerk-theme/assets/css/main.css
   ========================================================= */

.hero-grid {
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.82fr);
  gap: clamp(42px, 6vw, 84px);
  align-items: start;
  position: relative;
}

.hero-grid > div:first-child {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.hero-card {
  margin-top: clamp(32px, 4.5vw, 66px);
  position: relative;
  z-index: 1;
  justify-self: end;
  width: 100%;
  max-width: 520px;
}

.hero h1 {
  max-width: 780px;
  font-size: clamp(2rem, 4.2vw, 3.85rem);
  line-height: 1.02;
  overflow-wrap: normal;
  hyphens: auto;
}

.hero .lead {
  max-width: 720px;
}

@media (max-width: 1100px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .hero-card {
    margin-top: 0;
    justify-self: stretch;
    max-width: none;
  }

  .hero h1 {
    max-width: 100%;
  }
}

@media (max-width: 680px) {
  .hero h1 {
    font-size: clamp(2rem, 10vw, 2.55rem);
    line-height: 1.06;
  }

  .hero-card {
    padding: 20px;
    border-radius: 26px;
  }
}


/* =========================================================
   Vorlagenwerk Stand 4.0.0: Dropdown-/Slide-Menü, Produktbilder und Rechtsseiten
   ========================================================= */
.main-nav li { position: relative; }
.main-nav .menu-item-has-children > a::after { content: "▾"; font-size: .72rem; margin-left: 7px; }
.main-nav .sub-menu {
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  min-width: 260px;
  display: block;
  padding: 10px;
  border: 1px solid rgba(209,213,219,.85);
  border-radius: 18px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 42px rgba(17,24,39,.14);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index: 80;
}
.main-nav li:hover > .sub-menu,
.main-nav li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.main-nav .sub-menu li { display:block; }
.main-nav .sub-menu a { border-radius: 12px; padding: 12px 13px; white-space: normal; }
.product-card-image,
.vw-product-thumb {
  display:block;
  overflow:hidden;
  border-radius: 18px;
  background:#f3f4f6;
  border:1px solid rgba(209,213,219,.8);
  margin-bottom:16px;
}
.product-card-image img,
.vw-product-thumb img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.legal-page h3 { margin-top: 26px; }
.legal-page .notice { margin-bottom: 24px; }
@media (max-width:980px){
  .main-nav .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: 0;
    border-left: 3px solid var(--vw-green);
    border-radius: 0;
    background: var(--vw-gray-50);
    margin: 4px 0 8px 14px;
    min-width: 0;
  }
  .main-nav .menu-item-has-children > a::after { content:""; }
}


/* =========================================================
   Vorlagenwerk 4.0.2: WooCommerce-Shopseite im Vorlagenwerk-Design
   ========================================================= */
.woocommerce-shop .site-main,
.post-type-archive-product .site-main { background: linear-gradient(180deg,#fff,#f7faf8); }
.vw-shop-title { padding-bottom: 34px; }
.vw-shop-title .lead { margin-top: 0; }
.vw-shop-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:24px;
  padding:16px 18px;
  border:1px solid rgba(209,213,219,.82);
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 24px rgba(17,24,39,.05);
}
.vw-shop-count,
.woocommerce-result-count { margin:0; color:var(--vw-gray-700); font-weight:750; }
.vw-shop-ordering .orderby,
.woocommerce-ordering .orderby {
  border:1px solid var(--vw-gray-300);
  background:#fff;
  border-radius:999px;
  padding:11px 38px 11px 14px;
  color:var(--vw-gray-900);
  font-weight:750;
}
.woocommerce ul.products,
ul.products {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  margin:0 0 34px !important;
  padding:0 !important;
  list-style:none !important;
}
.woocommerce ul.products li.product,
ul.products li.product,
.vw-shop-product-card {
  float:none !important;
  width:auto !important;
  margin:0 !important;
  display:flex;
  flex-direction:column;
  min-width:0;
  background:#fff;
  border:1px solid rgba(209,213,219,.78);
  border-radius:var(--vw-radius);
  padding:20px;
  box-shadow:0 10px 30px rgba(17,24,39,.06);
  transition:.2s ease;
  overflow:hidden;
}
.woocommerce ul.products li.product:hover,
ul.products li.product:hover,
.vw-shop-product-card:hover { transform:translateY(-2px); box-shadow:0 18px 40px rgba(17,24,39,.10); }
.vw-shop-product-link { display:flex; flex-direction:column; gap:0; text-decoration:none; color:inherit; flex:1; }
.vw-shop-image {
  display:block;
  overflow:hidden;
  border-radius:18px;
  background:#f3f4f6;
  border:1px solid rgba(209,213,219,.8);
  margin-bottom:16px;
}
.vw-shop-image img,
.woocommerce ul.products li.product .vw-shop-image img,
.vw-shop-product-card .product-card-image img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  margin:0;
}
.vw-shop-image .product-card-image { margin-bottom:0; border:0; border-radius:0; }
.vw-shop-image-placeholder { display:grid; place-items:center; min-height:170px; background:linear-gradient(135deg,var(--vw-green-soft),var(--vw-blue-soft)); }
.vw-shop-image-placeholder span { display:grid; place-items:center; width:64px; height:64px; border-radius:18px; background:linear-gradient(135deg,var(--vw-green),var(--vw-blue)); color:#fff; font-size:2rem; font-weight:900; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.vw-shop-product-card .woocommerce-loop-product__title {
  font-size:clamp(1.08rem,1.5vw,1.32rem);
  line-height:1.14;
  letter-spacing:-.025em;
  color:var(--vw-gray-950);
  padding:0;
  margin:10px 0 8px;
  overflow-wrap:anywhere;
  hyphens:auto;
}
.vw-shop-excerpt { color:var(--vw-gray-700); margin:0 0 16px; font-size:.96rem; flex:1; }
.vw-shop-product-actions { margin-top:auto; display:grid; gap:12px; }
.woocommerce ul.products li.product .price,
.vw-shop-product-card .price { color:var(--vw-green); font-weight:900; font-size:1.22rem; margin:0; }
.woocommerce ul.products li.product .button,
.vw-shop-product-card .button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:46px;
  border-radius:999px;
  background:var(--vw-green);
  color:#fff;
  padding:13px 16px;
  font-weight:900;
  text-align:center;
  text-decoration:none;
  border:0;
  margin:0;
}
.woocommerce ul.products li.product .button:hover,
.vw-shop-product-card .button:hover { filter:brightness(.97); transform:translateY(-1px); }
.woocommerce nav.woocommerce-pagination ul { border:0; display:flex; gap:8px; justify-content:center; }
.woocommerce nav.woocommerce-pagination ul li { border:0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border:1px solid var(--vw-gray-300);
  border-radius:12px;
  padding:10px 13px;
  min-width:42px;
  color:var(--vw-gray-900);
  background:#fff;
  font-weight:800;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background:var(--vw-green); color:#fff; border-color:var(--vw-green); }
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
  border-top:0;
  border-left:4px solid var(--vw-green);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(17,24,39,.06);
}
.woocommerce .woocommerce-error { border-left-color:var(--vw-red); }
.woocommerce .woocommerce-info { border-left-color:var(--vw-blue); }
.woocommerce-cart table.cart img { width:96px; border-radius:14px; }
.vw-cart-thumb { border-radius:14px; object-fit:cover; }
@media (max-width:1100px){
  .woocommerce ul.products,
  ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:820px){
  .woocommerce ul.products,
  ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vw-shop-toolbar { align-items:flex-start; flex-direction:column; }
}
@media (max-width:560px){
  .woocommerce ul.products,
  ul.products { grid-template-columns:1fr; }
}

/* =========================================================
   Vorlagenwerk 4.0.3: Warenkorb, Kasse und Mein Konto
   ========================================================= */
.vw-commerce-page {
  padding: 54px 0 78px;
  background: radial-gradient(circle at 10% 0%, var(--vw-blue-soft), transparent 28%), linear-gradient(180deg, #fff, #f7faf8 72%, #fff);
}
.vw-commerce-hero {
  margin-bottom: 28px;
  max-width: 920px;
}
.vw-commerce-hero h1 {
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.02;
  letter-spacing: -.06em;
  margin: 16px 0 12px;
  color: var(--vw-gray-950);
}
.vw-commerce-layout,
.vw-checkout-grid,
.vw-account-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 28px;
  align-items: start;
}
.vw-cart-form,
.vw-checkout-card,
.vw-checkout-review-card,
.vw-cart-summary,
.vw-account-content,
.vw-account-nav,
.woocommerce-form-login,
.woocommerce-form-register {
  background: #fff;
  border: 1px solid rgba(209,213,219,.82);
  border-radius: 28px;
  box-shadow: 0 14px 36px rgba(17,24,39,.07);
}
.vw-cart-form { padding: 18px; }
.vw-cart-list { display: grid; gap: 16px; }
.vw-cart-item {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr) 128px;
  gap: 18px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(209,213,219,.78);
  border-radius: 22px;
  background: linear-gradient(135deg, #fff, #f8fafc);
}
.vw-cart-media a,
.vw-cart-media img,
.vw-line-item-img,
.vw-cart-thumb,
.vw-review-thumb,
.vw-mini-product-image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 18px;
  background: var(--vw-gray-100);
}
.vw-cart-media img { min-height: 84px; }
.vw-cart-product-title,
.vw-review-product h3 {
  font-size: clamp(1.08rem, 1.5vw, 1.34rem);
  line-height: 1.16;
  letter-spacing: -.03em;
  margin: 8px 0 6px;
  color: var(--vw-gray-950);
}
.vw-cart-product-title a { text-decoration: none; }
.vw-cart-note,
.vw-review-product-meta,
.vw-total-note {
  color: var(--vw-gray-500);
  font-size: .92rem;
  font-weight: 650;
}
.vw-cart-remove a.remove {
  display: inline-flex;
  margin-top: 10px;
  width: auto;
  height: auto;
  border-radius: 999px;
  padding: 7px 10px;
  background: var(--vw-red-soft);
  color: var(--vw-red) !important;
  font-size: .86rem;
  font-weight: 900;
  text-decoration: none;
  line-height: 1;
}
.vw-cart-quantity label {
  display: block;
  margin-bottom: 7px;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--vw-gray-500);
  font-weight: 900;
}
.vw-cart-quantity .quantity input.qty,
.woocommerce .quantity .qty {
  width: 92px;
  border: 1px solid var(--vw-gray-300);
  border-radius: 14px;
  padding: 10px 12px;
  font-weight: 900;
  background: #fff;
}
.vw-cart-actions {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(209,213,219,.75);
}
.vw-coupon { display: flex; gap: 10px; flex-wrap: wrap; }
.vw-coupon .input-text,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  border: 1px solid var(--vw-gray-300);
  border-radius: 14px;
  min-height: 48px;
  padding: 12px 14px;
  background: #fff;
}
.vw-update-cart,
.vw-coupon .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  border-radius: 999px;
  background: var(--vw-green);
  color: #fff;
  font-weight: 900;
  border: 0;
  padding: 13px 18px;
}
.vw-cart-summary { padding: 0; position: sticky; top: 104px; }
.vw-totals-card,
.vw-checkout-review {
  padding: 24px;
  border-radius: 28px;
  background: #fff;
}
.vw-totals-card h2,
.vw-checkout-review-card h2,
.vw-checkout-card h2,
.vw-account-content h2 {
  font-size: clamp(1.34rem, 2vw, 1.9rem);
  line-height: 1.1;
  letter-spacing: -.04em;
  margin: 10px 0 18px;
  color: var(--vw-gray-950);
}
.vw-total-lines,
.vw-review-totals { display: grid; gap: 10px; }
.vw-total-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: baseline;
  padding: 12px 0;
  border-bottom: 1px solid rgba(209,213,219,.72);
  color: var(--vw-gray-700);
}
.vw-total-row strong { color: var(--vw-gray-950); font-size: 1.04rem; }
.vw-total-row-main {
  margin-top: 6px;
  padding: 16px 0 4px;
  border-bottom: 0;
  color: var(--vw-gray-950);
  font-size: 1.15rem;
}
.vw-total-row-main strong {
  font-size: clamp(1.34rem, 2vw, 1.82rem);
  color: var(--vw-green);
}
.vw-proceed-checkout .checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
  width: 100%;
  margin-top: 18px;
  margin-bottom: 0;
  border-radius: 999px;
  background: var(--vw-orange);
  color: #111827;
  font-weight: 950;
  text-align: center;
}
.vw-empty-products { margin-top: 34px; }
.vw-mini-product-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
  border: 1px solid rgba(209,213,219,.78);
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 10px 30px rgba(17,24,39,.06);
}
.vw-mini-product-card h3 {
  margin: 12px 0 8px;
  font-size: 1.08rem;
  line-height: 1.16;
}
.vw-mini-product-card p { flex: 1; color: var(--vw-gray-700); }
.vw-mini-product-image { min-height: 150px; }
.vw-checkout-grid { grid-template-columns: minmax(0, 1fr) 430px; }
.vw-checkout-fields { display: grid; gap: 22px; }
.vw-checkout-card,
.vw-checkout-review-card { padding: 24px; }
.vw-checkout-review-card { position: sticky; top: 104px; }
.vw-review-products { display: grid; gap: 14px; margin-bottom: 18px; }
.vw-review-product {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(209,213,219,.76);
  border-radius: 20px;
  background: linear-gradient(135deg, #fff, #f8fafc);
}
.vw-review-product-image img,
.vw-review-thumb { width: 86px; min-height: 64px; }
.vw-review-product h3 { font-size: 1.05rem; margin: 6px 0 2px; }
.vw-review-product .variation,
.vw-cart-body .variation { margin: 8px 0 0; color: var(--vw-gray-500); font-size: .92rem; }
.vw-review-product .amount,
.vw-cart-body .amount,
.vw-cart-product-title .amount,
.vw-review-product h3 .amount { display: none !important; }
.woocommerce-checkout-review-order-table .product-total,
.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-subtotal { display: none !important; }
.woocommerce-checkout #payment {
  background: var(--vw-gray-50);
  border: 1px solid rgba(209,213,219,.8);
  border-radius: 22px;
  margin-top: 18px;
}
.woocommerce-checkout #payment div.payment_box {
  background: #fff;
  border-radius: 16px;
}
.woocommerce-checkout #payment div.form-row { padding: 18px; }
.woocommerce-checkout #payment #place_order {
  width: 100%;
  border-radius: 999px;
  background: var(--vw-green);
  color: #fff;
  font-weight: 950;
  min-height: 52px;
}
.vw-account-shell { grid-template-columns: 290px minmax(0, 1fr); }
.vw-account-nav { padding: 18px; position: sticky; top: 104px; }
.vw-account-nav-head {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--vw-green-soft), var(--vw-blue-soft));
  margin-bottom: 14px;
}
.vw-account-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--vw-green), var(--vw-blue));
  color: #fff;
  font-weight: 950;
}
.vw-account-nav-head strong { display: block; line-height: 1.1; }
.vw-account-nav-head small { color: var(--vw-gray-500); font-weight: 800; }
.vw-account-nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.vw-account-nav a {
  display: block;
  padding: 12px 13px;
  border-radius: 14px;
  background: #fff;
  color: var(--vw-gray-700);
  text-decoration: none;
  font-weight: 850;
  border: 1px solid transparent;
}
.vw-account-nav .is-active a,
.vw-account-nav a:hover {
  background: var(--vw-green-soft);
  border-color: rgba(47,125,91,.22);
  color: var(--vw-green);
}
.vw-account-content { padding: 26px; min-height: 360px; }
.vw-account-welcome {
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(135deg, #fff, var(--vw-blue-soft));
  border: 1px solid rgba(105,183,214,.28);
  margin-bottom: 22px;
}
.vw-account-welcome h2 { margin-top: 12px; }
.vw-account-cards { margin-bottom: 22px; }
.vw-account-card { text-decoration: none; }
.vw-account-card h3 { margin-top: 10px; }
.vw-account-help { margin-top: 22px; box-shadow: none; }
.woocommerce-account .woocommerce-MyAccount-content table,
.woocommerce table.shop_table {
  border: 1px solid rgba(209,213,219,.76);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content table th,
.woocommerce-account .woocommerce-MyAccount-content table td,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { padding: 14px 16px; }
.woocommerce form .form-row label { font-weight: 850; color: var(--vw-gray-900); }
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid rgba(209,213,219,.8);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(17,24,39,.06);
}
.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 { float: none; width: 100%; }
@media (max-width: 1100px) {
  .vw-commerce-layout,
  .vw-checkout-grid,
  .vw-account-shell { grid-template-columns: 1fr; }
  .vw-cart-summary,
  .vw-checkout-review-card,
  .vw-account-nav { position: static; }
}
@media (max-width: 720px) {
  .vw-commerce-page { padding-top: 40px; }
  .vw-cart-form,
  .vw-checkout-card,
  .vw-checkout-review-card,
  .vw-account-content,
  .vw-account-nav { border-radius: 22px; padding: 18px; }
  .vw-cart-item { grid-template-columns: 92px minmax(0, 1fr); align-items: start; }
  .vw-cart-quantity { grid-column: 1 / -1; }
  .vw-cart-actions { display: grid; }
  .vw-coupon { display: grid; }
  .vw-review-product { grid-template-columns: 72px minmax(0, 1fr); }
  .vw-review-product-image img,
  .vw-review-thumb { width: 72px; min-height: 56px; }
}

/* =========================================================
   Vorlagenwerk 4.0.4: Shop-Karten sauber auf eine Höhe bringen
   Korrektur: Startordner darf nicht tiefer stehen als die anderen Pakete.
   Hinweis: WooCommerce erzeugt ::before/::after-Elemente auf Produktlisten.
   Diese werden hier entfernt, damit CSS-Grid keine unsichtbaren Zusatzfelder erzeugt.
   ========================================================= */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after {
  content: none !important;
  display: none !important;
}

.post-type-archive-product .woocommerce ul.products,
.woocommerce-shop .woocommerce ul.products,
.woocommerce ul.products,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
  clear: none !important;
}

.woocommerce ul.products li.product,
ul.products li.product,
.vw-shop-product-card {
  float: none !important;
  clear: none !important;
  width: auto !important;
  height: 100% !important;
  min-height: 560px;
  margin: 0 !important;
  padding: 20px !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last,
ul.products li.product.first,
ul.products li.product.last {
  clear: none !important;
}

.vw-shop-product-link,
.woocommerce ul.products li.product .vw-shop-product-link,
ul.products li.product .vw-shop-product-link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  width: 100% !important;
}

.vw-shop-image,
.woocommerce ul.products li.product .vw-shop-image,
ul.products li.product .vw-shop-image {
  display: block !important;
  width: 100% !important;
  height: 214px !important;
  min-height: 214px !important;
  max-height: 214px !important;
  aspect-ratio: auto !important;
  flex: 0 0 214px !important;
  margin: 0 0 15px 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

.vw-shop-image img,
.vw-shop-image picture,
.woocommerce ul.products li.product .vw-shop-image img,
ul.products li.product .vw-shop-image img,
.woocommerce ul.products li.product img,
ul.products li.product img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 214px !important;
  max-height: 214px !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 !important;
  border-radius: 18px !important;
}

.woocommerce ul.products li.product .tag,
ul.products li.product .tag,
.vw-shop-product-card .tag {
  display: inline-flex !important;
  align-items: center !important;
  align-self: flex-start !important;
  min-height: 28px !important;
  margin: 0 0 10px 0 !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: var(--vw-green-soft) !important;
  color: var(--vw-green) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title,
.vw-shop-product-card .woocommerce-loop-product__title {
  display: flex !important;
  align-items: flex-start !important;
  min-height: 58px !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  font-size: clamp(1.05rem, 1.45vw, 1.26rem) !important;
  line-height: 1.16 !important;
  overflow-wrap: anywhere !important;
  hyphens: auto !important;
}

.vw-shop-excerpt,
.woocommerce ul.products li.product .vw-shop-excerpt,
ul.products li.product .vw-shop-excerpt {
  min-height: 128px !important;
  margin: 0 0 18px 0 !important;
  color: var(--vw-gray-700) !important;
  font-size: .95rem !important;
  line-height: 1.55 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 5 !important;
  -webkit-box-orient: vertical !important;
}

.vw-shop-product-actions,
.woocommerce ul.products li.product .vw-shop-product-actions,
ul.products li.product .vw-shop-product-actions {
  margin-top: auto !important;
  display: grid !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 88px !important;
}

.woocommerce ul.products li.product .price,
ul.products li.product .price,
.vw-shop-product-card .price {
  min-height: 30px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  color: var(--vw-green) !important;
  font-weight: 900 !important;
}

.woocommerce ul.products li.product .button,
ul.products li.product .button,
.vw-shop-product-card .button {
  min-height: 48px !important;
  margin: 0 !important;
  width: 100% !important;
  align-self: end !important;
}

@media (max-width: 1100px) {
  .post-type-archive-product .woocommerce ul.products,
  .woocommerce-shop .woocommerce ul.products,
  .woocommerce ul.products,
  ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  .post-type-archive-product .woocommerce ul.products,
  .woocommerce-shop .woocommerce ul.products,
  .woocommerce ul.products,
  ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .post-type-archive-product .woocommerce ul.products,
  .woocommerce-shop .woocommerce ul.products,
  .woocommerce ul.products,
  ul.products {
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
  }

  .woocommerce ul.products li.product,
  ul.products li.product,
  .vw-shop-product-card {
    min-height: 0 !important;
  }

  .vw-shop-image,
  .woocommerce ul.products li.product .vw-shop-image,
  ul.products li.product .vw-shop-image,
  .vw-shop-image img,
  .woocommerce ul.products li.product .vw-shop-image img,
  ul.products li.product .vw-shop-image img,
  .woocommerce ul.products li.product img,
  ul.products li.product img {
    height: 210px !important;
    min-height: 210px !important;
    max-height: 210px !important;
    flex-basis: 210px !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  ul.products li.product .woocommerce-loop-product__title,
  .vw-shop-product-card .woocommerce-loop-product__title,
  .vw-shop-excerpt,
  .woocommerce ul.products li.product .vw-shop-excerpt,
  ul.products li.product .vw-shop-excerpt {
    min-height: 0 !important;
  }
}

/* =========================================================
   WooCommerce Blocks: Preisduplikat unter Paketnamen entfernen
   Ziel: Die kleine Preiszeile unter dem Produktnamen wird entfernt.
   Die ausgewählte Position und die Gesamtsumme bleiben sichtbar.
   ========================================================= */

/* Nur die doppelte Preiszeile direkt unter dem Paketnamen ausblenden */
.wc-block-cart .wc-block-cart-item__prices,
.wc-block-cart .wc-block-cart-item__prices .wc-block-components-product-price,
.wc-block-checkout .wc-block-components-order-summary-item__individual-prices,
.wc-block-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-price,
.wc-block-components-order-summary .wc-block-components-order-summary-item__individual-prices,
.wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-price {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Wichtig: ausgewählter Positionspreis, Zwischensumme und Gesamtsumme wieder sichtbar halten */
.wc-block-cart .wc-block-cart-item__total,
.wc-block-cart .wc-block-cart-items__header-total,
.wc-block-cart .wc-block-components-totals-wrapper,
.wc-block-cart .wc-block-components-totals-item,
.wc-block-cart .wc-block-components-totals-item__value,
.wc-block-cart .wc-block-components-totals-footer-item,
.wc-block-checkout .wc-block-components-order-summary-item__total-price,
.wc-block-checkout .wc-block-components-totals-wrapper,
.wc-block-checkout .wc-block-components-totals-item,
.wc-block-checkout .wc-block-components-totals-item__value,
.wc-block-checkout .wc-block-components-totals-footer-item,
.wc-block-components-order-summary .wc-block-components-order-summary-item__total-price,
.wc-block-components-order-summary .wc-block-components-totals-item__value {
  display: revert !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  opacity: 1 !important;
  overflow: visible !important;
}

/* Warenkorb-Block sauber strukturieren */
.wc-block-cart .wc-block-cart-items__row {
  border-bottom: 1px solid rgba(209, 213, 219, .75) !important;
}

.wc-block-cart .wc-block-cart-item__wrap,
.wc-block-checkout .wc-block-components-order-summary-item__description {
  padding-right: 0 !important;
}

.wc-block-cart .wc-block-components-totals-footer-item,
.wc-block-checkout .wc-block-components-totals-footer-item {
  border-top: 2px solid rgba(47, 125, 91, .20) !important;
  padding-top: 16px !important;
  font-weight: 900 !important;
}

/* Klassische WooCommerce-Tabellen: Einzelpreis ausblenden, Positionssumme und Gesamtsumme sichtbar lassen */
.woocommerce-cart-form .product-price {
  display: none !important;
  visibility: hidden !important;
}

.woocommerce-cart-form .product-subtotal,
.woocommerce-checkout-review-order-table .product-total,
.woocommerce table.shop_table .order-total,
.woocommerce table.shop_table .cart-subtotal,
.woocommerce table.shop_table .order-total td,
.woocommerce table.shop_table .cart-subtotal td {
  display: table-cell !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  opacity: 1 !important;
}


/* =========================================================
   Vorlagenwerk 4.0.7: Preisseite mit direkter Warenkorb-Funktion
   ========================================================= */
.price-grid .price-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.price-grid .price-card .check-list {
  flex: 1;
}
.price-actions {
  display: grid;
  gap: 10px;
  margin-top: 20px;
}
.price-actions .btn,
.price-actions .button,
.price-actions .added_to_cart {
  width: 100%;
  min-height: 46px;
}
.price-actions .added_to_cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 12px 16px;
  font-weight: 850;
  text-decoration: none;
  background: var(--vw-blue-soft);
  color: var(--vw-gray-950);
  border: 1px solid rgba(105,183,214,.35);
}
.price-card .product-card-image img {
  height: 168px;
  object-fit: cover;
  border-radius: 18px;
}
