/* ===== WALDHEXEN THEME MAIN CSS ===== */
:root {
  --gruen: #2a6e2a;
  --gruen-light: #3a8a3a;
  --gruen-pale: #f0f7f0;
  --schwarz: #0f0f0f;
  --text: #1a1a1a;
  --text-muted: #6b7280;
  --border: #e5e7eb;
  --bg: #ffffff;
  --bg-soft: #f9fafb;
  --dark: #141414;
  --dark-green: #1a2e1a;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', system-ui, sans-serif; color: var(--text); background: var(--bg); -webkit-font-smoothing: antialiased; }

/* NAV */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  height: 64px; background: transparent;
  backdrop-filter: none; border-bottom: 1px solid transparent;
  display: flex; align-items: center; justify-content: space-between; padding: 0 48px;
  transition: background 0.35s ease, border-color 0.35s ease, backdrop-filter 0.35s ease;
}
nav.nav--scrolled {
  background: rgba(10,10,10,0.92);
  backdrop-filter: blur(16px);
  border-bottom-color: rgba(255,255,255,0.07);
}
/* Subpages: always dark nav */
body:not(.home) nav {
  background: rgba(10,10,10,0.92);
  backdrop-filter: blur(16px);
  border-bottom-color: rgba(255,255,255,0.07);
}
.nav-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.nav-logo img { height: 36px; }
.nav-logo-text { font-size: 14px; font-weight: 700; color: white; letter-spacing: -0.2px; }
.nav-logo-text span { display: block; font-size: 11px; font-weight: 400; color: rgba(255,255,255,0.45); }
.nav-links { display: flex; align-items: center; gap: 4px; list-style: none; }
.nav-links a { color: rgba(255,255,255,0.6); text-decoration: none; font-size: 13.5px; font-weight: 500; padding: 7px 14px; border-radius: 8px; transition: all 0.15s; }
.nav-links a:hover { color: white; background: rgba(255,255,255,0.07); }
.nav-cta { background: var(--gruen) !important; color: white !important; font-weight: 600 !important; }
.nav-cta:hover { background: var(--gruen-light) !important; }

/* HERO */
.hero { margin-top: 0; position: relative; height: 100vh; min-height: 560px; overflow: hidden; }
.hero-bg { position: absolute; inset: 0; background-image: url('https://assets.zyrosite.com/cdn-cgi/image/format=auto,w=1920,fit=crop/m2W81E66geUq5kLw/img_5147-Yan17lkJKRu7RM18.jpeg'); background-size: cover; background-position: center; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.35) 60%, rgba(0,0,0,0.08) 100%); }
.hero-content { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: center; padding: 0 80px; max-width: 700px; }
.hero-label { font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: rgba(255,255,255,0.55); margin-bottom: 20px; }
.hero h1 { font-size: clamp(2.6rem, 5vw, 4.2rem); font-weight: 800; color: white; line-height: 1.08; letter-spacing: -1.5px; margin-bottom: 22px; }
.hero h1 em { font-style: normal; color: #6fcf6f; }
.hero-desc { font-size: 1.05rem; color: rgba(255,255,255,0.7); line-height: 1.75; max-width: 460px; margin-bottom: 38px; }
.hero-btns { display: flex; gap: 12px; }
.btn { display: inline-flex; align-items: center; gap: 8px; font-family: inherit; font-size: 14px; font-weight: 600; padding: 12px 24px; border-radius: 10px; cursor: pointer; text-decoration: none; transition: all 0.15s; border: none; }
.btn-green { background: var(--gruen); color: white; }
.btn-green:hover { background: var(--gruen-light); transform: translateY(-1px); }
.btn-outline-white { background: transparent; color: white; border: 1.5px solid rgba(255,255,255,0.35); }
.btn-outline-white:hover { border-color: white; background: rgba(255,255,255,0.08); }
.hero-stats { position: absolute; bottom: 48px; left: 80px; display: flex; gap: 48px; z-index: 2; align-items: flex-end; }
.stat-num { font-size: 2rem; font-weight: 800; color: white; letter-spacing: -1px; line-height: 1; }
.stat-label { font-size: 11px; color: rgba(255,255,255,0.45); text-transform: uppercase; letter-spacing: 1.5px; margin-top: 4px; }
.stat-colors { display: flex; gap: 8px; margin-top: 2px; }
.stat-dot { width: 16px; height: 16px; border-radius: 50%; }

/* SECTIONS */
.section { padding: 56px 80px; }
.label { font-size: 11px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gruen); margin-bottom: 14px; }
h2.title { font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 800; color: var(--schwarz); letter-spacing: -0.8px; line-height: 1.12; margin-bottom: 16px; }
.subtitle { font-size: 1.05rem; color: var(--text-muted); line-height: 1.75; max-width: 540px; }

/* ÃBER UNS */
.ueber { background: #0d0d0d; }
.ueber-grid { max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.ueber-img { border-radius: 16px; overflow: hidden; aspect-ratio: 4/3; box-shadow: 0 20px 60px rgba(0,0,0,0.5); }
.ueber-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ueber .label { color: #6fcf6f; }
.ueber h2.title { color: white; }
.ueber .subtitle { color: rgba(255,255,255,0.55); }
.ueber-facts { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; margin-top: 36px; }
.fact { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; padding: 20px; }
.fact-num { font-size: 1.7rem; font-weight: 800; color: #6fcf6f; letter-spacing: -0.5px; line-height: 1; }
.fact-label { font-size: 12px; color: rgba(255,255,255,0.45); margin-top: 5px; }

/* HEXENWAGEN */
.hexenwagen { background: var(--dark-green); }
.hexenwagen-inner { max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.7fr; gap: 64px; align-items: center; }
.hexenwagen .label { color: #6fcf6f; }
.hexenwagen h2.title { color: white; }
.hexenwagen .subtitle { color: rgba(255,255,255,0.6); max-width: 480px; }
.hexenwagen-facts { display: flex; gap: 32px; margin-top: 32px; }
.hw-fact-num { font-size: 1.6rem; font-weight: 800; color: #6fcf6f; letter-spacing: -0.5px; line-height: 1; }
.hw-fact-label { font-size: 11px; color: rgba(255,255,255,0.4); margin-top: 4px; text-transform: uppercase; letter-spacing: 0.8px; }
.hexenwagen-video { border-radius: 16px; overflow: hidden; aspect-ratio: 16/9; box-shadow: 0 24px 64px rgba(0,0,0,0.6); }
.hexenwagen-video iframe { width: 100%; height: 100%; border: none; display: block; }

/* EVENTS */
.events { background: #ffffff; }
 .events-inner { max-width: 1160px; margin: 0 auto; }
.events .label { color: var(--gruen); }
.events h2.title { color: #141414; margin-bottom: 24px; font-size: 1.8rem; }
.events-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }
.event-card-flat { display: flex; gap: 0; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 14px; overflow: hidden; height: 100%; }
.event-card-flat-left { background: var(--gruen); padding: 18px 18px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.event-card-date { text-align: center; }
.event-day { display: block; font-size: 1.6rem; font-weight: 900; color: white; line-height: 1; letter-spacing: -1px; }
.event-month { display: block; font-size: 12px; font-weight: 600; color: rgba(255,255,255,0.7); text-transform: uppercase; letter-spacing: 1px; margin-top: 4px; }
.event-card-flat-body { padding: 16px 20px; }
.event-card-flat-body h3 { font-size: 1.1rem; font-weight: 800; color: #141414; margin-bottom: 8px; letter-spacing: -0.2px; }
.event-card-flat-body p { font-size: 13px; color: #6b7280; line-height: 1.5; margin-bottom: 12px; }
.cal-box { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 14px; overflow: hidden; }
.cal-box-header { padding: 16px 20px; border-bottom: 1px solid #e5e7eb; display: flex; justify-content: space-between; align-items: center; }
.cal-placeholder { padding: 40px 20px; text-align: center; color: #9ca3af; font-size: 13px; line-height: 1.7; }
.cal-placeholder strong { color: #374151; display: block; margin-bottom: 6px; }

/* GALERIE */
.galerie { background: #0d0d0d; }
.galerie-inner { max-width: 1160px; margin: 0 auto; }
.galerie .label { color: #6fcf6f; }
.galerie h2.title { color: white; }
.galerie-layout { max-width: 1240px; margin: 40px auto 0; padding: 0 40px; }
.gal-grid-layout { display: grid; grid-template-columns: 470px repeat(5, 150px); grid-template-rows: repeat(3, 150px); gap: 10px; }
.gal-featured { grid-column: 1; grid-row: 1 / span 3; border-radius: 14px; overflow: hidden; width: 470px; height: 470px; }
.gal-featured img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity 0.18s ease; } .gal-slideshow { position: relative; width: 100%; flex: 1; min-height: 0; }
.gal-thumb { border-radius: 8px; overflow: hidden; cursor: pointer; position: relative; width: 150px; height: 150px; }
.gal-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.25s, opacity 0.25s; }
.gal-thumb:hover img { transform: scale(1.07); opacity: 0.8; }
.gal-thumb.gal-active { outline: 2.5px solid #6fcf6f; outline-offset: -2px; }
.gal-thumb.gal-active img { opacity: 0.9; }

/* VORSTAND */
.vorstand { background: var(--dark-green); }
.vorstand-inner { max-width: 1160px; margin: 0 auto; }
.vorstand .label { color: #6fcf6f; }
.vorstand h2.title { color: white; }
.vorstand .subtitle { color: rgba(255,255,255,0.5); }
.vorstand-grid { margin-top: 40px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.vorstand-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; overflow: hidden; text-align: center; transition: box-shadow 0.2s, transform 0.2s; }
.vorstand-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,0.4); transform: translateY(-2px); border-color: rgba(42,110,42,0.4); }
.vorstand-photo { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; background: #1a2e1a; }
.vorstand-body { padding: 12px 10px 14px; }
.vorstand-name { font-size: 13px; font-weight: 700; color: white; margin-bottom: 3px; }
.vorstand-rolle { font-size: 10px; font-weight: 600; color: #6fcf6f; text-transform: uppercase; letter-spacing: 0.8px; }
.vorstand-placeholder { width: 100%; aspect-ratio: 1/1; background: #1a2e1a; display: flex; align-items: center; justify-content: center; font-size: 40px; }

/* KONTAKT */
.kontakt { background: #ffffff; }
.kontakt-inner { max-width: 760px; margin: 0 auto; text-align: center; }
.kontakt .label { color: var(--gruen); }
.kontakt h2.title { color: #141414; }
.kontakt-subtitle { font-size: 1rem; color: #6b7280; line-height: 1.7; max-width: 500px; margin: 0 auto 40px; }
.tab-row { display: inline-flex; gap: 0; border: 1px solid #d1d5db; border-radius: 10px; overflow: hidden; margin-bottom: 32px; }
.tab-btn { padding: 11px 24px; font-size: 13.5px; font-weight: 600; background: transparent; color: #6b7280; border: none; cursor: pointer; font-family: inherit; transition: all 0.15s; }
.tab-btn.active { background: var(--gruen); color: white; }
.kontakt-form { display: flex; flex-direction: column; gap: 14px; text-align: left; }
.form-field { display: flex; flex-direction: column; gap: 6px; }
.kontakt .form-label { color: #6b7280; }
.kontakt-input { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 10px; padding: 13px 16px; color: #1a1a1a; font-size: 14.5px; font-family: inherit; outline: none; transition: border-color 0.15s; }
.kontakt-input::placeholder { color: #9ca3af; }
.kontakt-input:focus { border-color: var(--gruen); box-shadow: 0 0 0 3px rgba(42,110,42,0.08); }
textarea.kontakt-input { resize: vertical; min-height: 120px; }
.form-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-submit-row { display: flex; justify-content: center; padding-top: 4px; }

/* PAGE HEADER (Unterseiten) */
.page-header { background: #141414; padding: 48px 80px; margin-top: 64px; border-bottom: 1px solid rgba(255,255,255,0.07); }
.page-header .page-header-label { font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #6fcf6f; margin-bottom: 12px; }
.page-header h1 { font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800; color: white; letter-spacing: -0.8px; }

/* CONTENT PAGES */
.content-page { background: #0f0f0f; min-height: calc(100vh - 64px); }
/* Kassen-Seite: heller Hintergrund */
.woocommerce-checkout .content-page {
  background: #f5f6f8 !important;
  color: #1a1a1a !important;
}
.content-section { padding: 72px 80px; max-width: 1100px; color: rgba(255,255,255,0.8); line-height: 1.8; font-size: 15px; }

.content-section h2 { font-size: 1.2rem; font-weight: 700; color: white; margin: 36px 0 12px; letter-spacing: -0.2px; }
.content-section h3 { font-size: 1rem; font-weight: 600; color: rgba(255,255,255,0.8); margin: 24px 0 8px; }
.content-section p { margin-bottom: 14px; color: rgba(255,255,255,0.65); }
.content-section a { color: #6fcf6f; }
.content-section ul { margin: 8px 0 14px 20px; }
.content-section ul li { color: rgba(255,255,255,0.65); margin-bottom: 6px; }

/* FOOTER */
footer { background: #0a0a0a; padding: 48px 80px 28px; border-top: 1px solid rgba(255,255,255,0.07); }
.footer-top { display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: start; margin-bottom: 36px; }
.footer-brand-name { font-size: 14px; font-weight: 700; color: white; margin-bottom: 6px; }
.footer-brand-info { font-size: 13px; color: rgba(255,255,255,0.35); line-height: 1.8; }
.footer-brand-info a { color: rgba(255,255,255,0.5); text-decoration: none; }
.footer-brand-info a:hover { color: #6fcf6f; }
.footer-social { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.footer-social-label { font-size: 11px; font-weight: 600; color: rgba(255,255,255,0.3); text-transform: uppercase; letter-spacing: 1.5px; }
.footer-social-icons { display: flex; gap: 8px; }
.footer-social-btn { width: 38px; height: 38px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.09); border-radius: 9px; display: flex; align-items: center; justify-content: center; font-size: 15px; text-decoration: none; transition: all 0.15s; }
.footer-social-btn:hover { background: var(--gruen); border-color: var(--gruen); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.07); padding-top: 20px; display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: rgba(255,255,255,0.25); }
.footer-links { display: flex; gap: 24px; }
.footer-links a { color: rgba(255,255,255,0.25); text-decoration: none; transition: color 0.15s; }
.footer-links a:hover { color: rgba(255,255,255,0.6); }

/* HEXENBALL PAGE */
.hexenball-page { background: #ffffff; margin-top: 64px; }
.hexenball-header { background: #141414; padding: 48px 80px; border-bottom: 1px solid rgba(255,255,255,0.07); }
.hexenball-header .hero-label { font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #6fcf6f; margin-bottom: 12px; }
.hexenball-header h1 { font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800; color: white; letter-spacing: -0.8px; margin-bottom: 14px; }
.hexenball-header-date { display: inline-flex; align-items: center; gap: 8px; background: rgba(42,110,42,0.2); border: 1px solid rgba(42,110,42,0.4); color: #6fcf6f; font-size: 13px; font-weight: 600; padding: 7px 16px; border-radius: 8px; }
.hexenball-body { max-width: 1100px; margin: 0 auto; padding: 64px 80px; display: grid; grid-template-columns: 1fr 380px; gap: 64px; align-items: start; }
/* Form Card (Left) */
.hexenball-form-card { background: white; border: 1px solid #e5e7eb; border-radius: 20px; padding: 44px; box-shadow: 0 4px 24px rgba(0,0,0,0.05); }
.hexenball-form-card h2 { font-size: 1.4rem; font-weight: 800; color: #1a1a1a; letter-spacing: -0.4px; margin-bottom: 6px; }
.hexenball-form-desc { font-size: 14px; color: #6b7280; margin-bottom: 32px; line-height: 1.6; }
.hb-section-title { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--gruen); margin: 24px 0 16px; padding-bottom: 10px; border-bottom: 1px solid #e5e7eb; }
.hb-form-group { margin-bottom: 16px; }
.hb-label { display: block; font-size: 13px; font-weight: 600; color: #1a1a1a; margin-bottom: 7px; }
.hb-req { color: var(--gruen); }
.hb-input { width: 100%; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 10px; padding: 12px 15px; color: #1a1a1a; font-size: 14.5px; font-family: inherit; outline: none; transition: border-color 0.15s, background 0.15s; }
.hb-input::placeholder { color: #9ca3af; }
.hb-input:focus { border-color: var(--gruen); background: white; box-shadow: 0 0 0 3px rgba(42,110,42,0.08); }
select.hb-input option { background: white; color: #1a1a1a; }
textarea.hb-input { resize: vertical; }
.hb-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.hb-submit-btn { width: 100%; background: var(--gruen); color: white; border: none; border-radius: 12px; padding: 15px; font-size: 15px; font-weight: 700; cursor: pointer; font-family: inherit; transition: background 0.15s; margin-top: 8px; }
.hb-submit-btn:hover { background: var(--gruen-light); }
.hb-privacy { font-size: 12px; color: #9ca3af; text-align: center; margin-top: 14px; line-height: 1.5; }
.hb-privacy a { color: var(--gruen); text-decoration: none; }
.hexenball-success-inline { text-align: center; padding: 32px 0; }
.hexenball-success-inline h3 { font-size: 1.4rem; font-weight: 800; color: #1a1a1a; margin-bottom: 10px; }
.hexenball-success-inline p { color: #6b7280; font-size: 15px; line-height: 1.7; }
/* Sidebar (Right) */
.hexenball-sidebar { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 84px; }
.hb-highlight-card { background: var(--gruen); border-radius: 16px; padding: 28px; color: white; }
.hb-big-date { font-size: 2.5rem; font-weight: 900; letter-spacing: -1px; line-height: 1; }
.hb-date-label { font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-top: 6px; }
.hb-date-sub { font-size: 13px; color: rgba(255,255,255,0.65); margin-top: 12px; line-height: 1.5; }
.hb-info-card { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 16px; padding: 28px; }
.hb-info-card h3 { font-size: 1rem; font-weight: 700; color: #1a1a1a; margin-bottom: 18px; }
.hb-info-item { display: flex; gap: 12px; margin-bottom: 14px; align-items: flex-start; }
.hb-info-item:last-child { margin-bottom: 0; }
.hb-info-icon { font-size: 18px; flex-shrink: 0; }
.hb-info-item strong { display: block; font-size: 13px; font-weight: 700; color: #1a1a1a; margin-bottom: 2px; }
.hb-info-item span { font-size: 13px; color: #6b7280; }
.hb-hint-card { background: #f0f7f0; border: 1px solid rgba(42,110,42,0.2); border-radius: 16px; padding: 28px; }
.hb-hint-card h3 { font-size: 1rem; font-weight: 700; color: var(--gruen); margin-bottom: 10px; }
.hb-hint-card p { font-size: 13.5px; color: #6b7280; line-height: 1.65; }
.hb-hint-card strong { color: #1a1a1a; }
/* Radio buttons */
.hb-radio-group { display: flex; flex-direction: column; gap: 10px; margin-bottom: 4px; }
.hb-radio-label { display: flex; align-items: center; gap: 12px; padding: 13px 16px; border: 1.5px solid #e5e7eb; border-radius: 10px; cursor: pointer; transition: all 0.15s; font-size: 14.5px; font-weight: 500; color: #1a1a1a; }
.hb-radio-label:hover { border-color: var(--gruen); background: var(--gruen-pale); }
.hb-radio-label input[type="radio"] { display: none; }
.hb-radio-dot { width: 18px; height: 18px; border: 2px solid #e5e7eb; border-radius: 50%; flex-shrink: 0; position: relative; transition: all 0.15s; }
.hb-radio-label:has(input:checked) { border-color: var(--gruen); background: var(--gruen-pale); }
.hb-radio-label:has(input:checked) .hb-radio-dot { border-color: var(--gruen); background: var(--gruen); box-shadow: inset 0 0 0 3px white; }
/* Checkboxes */
.hb-checkbox-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.hb-checkbox-label { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1.5px solid #e5e7eb; border-radius: 10px; cursor: pointer; transition: all 0.15s; font-size: 14px; font-weight: 500; color: #1a1a1a; }
.hb-checkbox-label:hover { border-color: var(--gruen); background: var(--gruen-pale); }
.hb-checkbox-label input[type="checkbox"] { display: none; }
.hb-checkbox-box { width: 18px; height: 18px; border: 2px solid #e5e7eb; border-radius: 5px; flex-shrink: 0; position: relative; transition: all 0.15s; display: flex; align-items: center; justify-content: center; }
.hb-checkbox-label:has(input:checked) { border-color: var(--gruen); background: var(--gruen-pale); }
.hb-checkbox-label:has(input:checked) .hb-checkbox-box { background: var(--gruen); border-color: var(--gruen); }
.hb-checkbox-label:has(input:checked) .hb-checkbox-box::after { content: ''; width: 5px; height: 9px; border: 2px solid white; border-top: none; border-left: none; transform: rotate(45deg); margin-top: -2px; }
/* Conditional sections */
.hb-conditional { overflow: hidden; max-height: 0; opacity: 0; transition: max-height 0.35s ease, opacity 0.3s ease; pointer-events: none; }
.hb-conditional--visible { max-height: 700px; opacity: 1; pointer-events: all; }
/* Legacy form styles (used by checkout page) */
.form-input { width: 100%; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 13px 16px; color: white; font-size: 14.5px; font-family: inherit; outline: none; transition: border-color 0.15s; }
.form-input::placeholder { color: rgba(255,255,255,0.25); }
.form-input:focus { border-color: var(--gruen-light); }
select.form-input option { background: #1a2e1a; color: white; }
textarea.form-input { resize: vertical; }
.form-group { margin-bottom: 16px; }
.form-label { display: block; font-size: 12px; font-weight: 600; color: rgba(255,255,255,0.5); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: 6px; }
.form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.conditional-section { overflow: hidden; transition: max-height 0.4s ease; }
.form-section-title { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #6fcf6f; margin: 24px 0 16px; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,0.08); }

/* MITGLIEDER LOGIN PAGE */
.mitglieder-login-page { background: #0f0f0f; min-height: 100vh; display: flex; flex-direction: column; }
.login-container { flex: 1; display: flex; align-items: center; justify-content: center; padding: 120px 24px 80px; }
.login-box { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.1); border-radius: 20px; padding: 48px; width: 100%; max-width: 420px; text-align: center; }
.login-box .login-icon { font-size: 48px; margin-bottom: 20px; }
.login-box h1 { font-size: 1.6rem; font-weight: 800; color: white; letter-spacing: -0.5px; margin-bottom: 8px; }
.login-box p { font-size: 14px; color: rgba(255,255,255,0.45); margin-bottom: 32px; line-height: 1.6; }
.login-input { width: 100%; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 14px 16px; color: white; font-size: 15px; font-family: inherit; outline: none; transition: border-color 0.15s; text-align: center; letter-spacing: 2px; margin-bottom: 16px; }
.login-input:focus { border-color: var(--gruen-light); }
.login-input::placeholder { letter-spacing: 0; }
.login-btn { width: 100%; background: var(--gruen); color: white; border: none; border-radius: 10px; padding: 14px; font-size: 15px; font-weight: 700; font-family: inherit; cursor: pointer; transition: background 0.15s; }
.login-btn:hover { background: var(--gruen-light); }
.login-error { background: rgba(220,60,60,0.15); border: 1px solid rgba(220,60,60,0.3); border-radius: 8px; padding: 12px; font-size: 13px; color: #ff9999; margin-top: 12px; display: none; }

@media (max-width: 480px) {
  .login-box h1 {
    hyphens: none;
    -webkit-hyphens: none;
    word-break: keep-all;
  }
}

/* WOOCOMMERCE DARK THEME */
body.woocommerce-page { background: #0f0f0f; }
.woocommerce-page .woocommerce { color: white; }

/* Shop page */
.wh-shop-page { background: #0f0f0f; padding-top: 64px; }
.wh-shop-header { background: #141414; padding: 36px 80px; border-bottom: 1px solid rgba(255,255,255,0.07); }
.wh-shop-header h1 { font-size: 1.8rem; font-weight: 800; color: white; letter-spacing: -0.5px; }
.wh-shop-body { max-width: 1260px; margin: 0 auto; padding: 48px 80px; }
.wh-category-filter { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 40px; }
.wh-cat-btn { padding: 9px 20px; border-radius: 20px; font-size: 13px; font-weight: 600; background: rgba(255,255,255,0.05); color: rgba(255,255,255,0.5); border: 1px solid rgba(255,255,255,0.1); cursor: pointer; font-family: inherit; transition: all 0.15s; }
.wh-cat-btn.active, .wh-cat-btn:hover { background: var(--gruen); color: white; border-color: var(--gruen); }
.wh-products-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.wh-product-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; overflow: hidden; transition: transform 0.2s, box-shadow 0.2s; }
.wh-product-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,0.4); border-color: rgba(42,110,42,0.3); }
.wh-product-img { aspect-ratio: 1; background: #1a1a1a; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.wh-product-img img { width: 100%; height: 100%; object-fit: contain; display: block; padding: 12px; background: white; }
.wh-product-img.no-img { background: #1a2e1a; }
.wh-product-body { padding: 14px; }
.wh-product-cat { font-size: 10px; font-weight: 700; color: #6fcf6f; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 6px; }
.wh-product-name { font-size: 13.5px; font-weight: 700; color: white; margin-bottom: 8px; line-height: 1.3; }
.wh-product-price { font-size: 15px; font-weight: 800; color: #6fcf6f; margin-bottom: 12px; }
.wh-product-price.haes-price { font-size: 12px; font-weight: 600; color: rgba(255,255,255,0.4); font-style: italic; }
.wh-add-btn { width: 100%; background: var(--gruen); color: white; border: none; border-radius: 8px; padding: 10px; font-size: 13px; font-weight: 600; cursor: pointer; font-family: inherit; transition: background 0.15s; }
.wh-add-btn:hover { background: var(--gruen-light); }
.wh-haes-note { background: rgba(255,200,50,0.1); border: 1px solid rgba(255,200,50,0.2); border-radius: 8px; padding: 10px 12px; font-size: 12px; color: rgba(255,200,50,0.85); line-height: 1.5; margin-bottom: 10px; }

/* Name field on product */
.wh-name-field { margin-bottom: 10px; }
.wh-name-field label { display: block; font-size: 11px; font-weight: 600; color: rgba(255,255,255,0.45); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 5px; }
.wh-name-field input { width: 100%; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 7px; padding: 8px 12px; color: white; font-size: 13px; font-family: inherit; outline: none; }
.wh-name-field input:focus { border-color: var(--gruen-light); }

/* Cart sidebar */
.wh-cart-sidebar { position: fixed; right: -440px; top: 0; width: 420px; height: 100vh; background: #1a1a1a; border-left: 1px solid rgba(255,255,255,0.1); z-index: 999; transition: right 0.3s ease; display: flex; flex-direction: column; box-shadow: -8px 0 40px rgba(0,0,0,0.5); }
.wh-cart-sidebar.open { right: 0; }
.wh-cart-header { padding: 20px 24px; border-bottom: 1px solid rgba(255,255,255,0.08); display: flex; justify-content: space-between; align-items: center; }
.wh-cart-header h3 { font-size: 1rem; font-weight: 700; color: white; }
.wh-cart-close { background: none; border: none; color: rgba(255,255,255,0.5); font-size: 20px; cursor: pointer; padding: 4px 8px; border-radius: 6px; }
.wh-cart-close:hover { color: white; background: rgba(255,255,255,0.08); }
.wh-cart-items { flex: 1; overflow-y: auto; padding: 16px 24px; }
.wh-cart-item { display: flex; gap: 12px; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,0.06); align-items: flex-start; }
.wh-cart-item-img { width: 52px; height: 52px; background: white; border-radius: 8px; overflow: hidden; flex-shrink: 0; }
.wh-cart-item-img img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.wh-cart-item-info { flex: 1; }
.wh-cart-item-name { font-size: 13px; font-weight: 600; color: white; margin-bottom: 3px; }
.wh-cart-item-detail { font-size: 12px; color: rgba(255,255,255,0.4); margin-bottom: 6px; }
.wh-cart-item-price { font-size: 13px; font-weight: 700; color: #6fcf6f; }
.wh-cart-item-remove { background: none; border: none; color: rgba(255,255,255,0.3); cursor: pointer; font-size: 14px; padding: 4px; border-radius: 4px; }
.wh-cart-item-remove:hover { color: #ff6b6b; }
.wh-cart-empty { text-align: center; padding: 60px 0; color: rgba(255,255,255,0.3); font-size: 14px; }
.wh-cart-footer { padding: 16px 24px; border-top: 1px solid rgba(255,255,255,0.08); }
.wh-cart-total { display: flex; justify-content: space-between; font-size: 15px; font-weight: 700; color: white; margin-bottom: 16px; }
.wh-checkout-btn { width: 100%; background: var(--gruen); color: white; border: none; border-radius: 10px; padding: 14px; font-size: 14px; font-weight: 700; cursor: pointer; font-family: inherit; transition: background 0.15s; margin-bottom: 10px; }
.wh-checkout-btn:hover { background: var(--gruen-light); }
.wh-cart-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 998; display: none; }
.wh-cart-overlay.open { display: block; }

/* Cart icon in nav */
.nav-cart-btn { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12); border-radius: 8px; padding: 7px 14px; color: white; cursor: pointer; font-size: 13.5px; font-weight: 500; display: flex; align-items: center; gap: 6px; transition: all 0.15s; }
.nav-cart-btn:hover { background: rgba(255,255,255,0.14); }
.nav-cart-count { background: var(--gruen); color: white; border-radius: 50%; width: 18px; height: 18px; font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }

/* CHECKOUT PAGE */
/* ===== CHECKOUT ===== */
.wh-checkout-page {
  background: #f5f6f8;
  padding-top: 64px;
  min-height: 100vh;
  color: #1a1a1a;
}
.wh-shop-header {
  background: transparent;
  padding: 0 40px 28px;
  max-width: 1080px;
  margin: 0 auto;
}
.wh-shop-header h1 {
  font-size: 26px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
}
.wh-checkout-body {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 40px 80px;
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 24px;
  align-items: start;
  background: transparent;
}
@media(max-width:900px) {
  .wh-checkout-body { grid-template-columns: 1fr; padding: 0 20px 60px; }
}

/* Linke Spalte - Formular-Wrapper */
.wh-checkout-body > div:first-child {
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  padding: 28px;
  color: #1a1a1a;
}
.wh-checkout-section-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #888;
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #f0f0f0;
}
.wh-checkout-section-title + .wh-checkout-section-title,
.wh-form-group + .wh-checkout-section-title {
  margin-top: 24px;
}
.wh-form-group { margin-bottom: 13px; }
.wh-form-label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 5px;
}
.wh-form-input,
input.wh-form-input,
select.wh-form-input {
  width: 100%;
  padding: 11px 13px;
  border: 1.5px solid #e0e0e0;
  border-radius: 9px;
  font-size: 15px;
  color: #1a1a1a;
  background: #fafafa;
  box-sizing: border-box;
  transition: border-color .15s;
  display: block;
}
.wh-form-input:focus { border-color: #2e7d32; outline: none; background: #fff; }

/* Zwei-Spalten-Zeilen für Land/Bundesland, PLZ/Ort */
.wh-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* Zahlungsoptionen */
.wh-payment-options {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-top: 4px;
}
.wh-payment-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 15px;
  border: 1.5px solid #e0e0e0;
  border-radius: 11px;
  cursor: pointer;
  background: #fff;
  transition: border-color .15s, background .15s;
  color: #1a1a1a;
}
.wh-payment-option:has(input:checked),
.wh-payment-option.selected {
  border-color: #2e7d32;
  background: #f1f8f1;
}
.wh-payment-option input[type=radio] {
  accent-color: #2e7d32;
  width: 17px;
  height: 17px;
  flex-shrink: 0;
}
.wh-payment-option-content { flex: 1; }
.wh-payment-option-title {
  font-size: 14px;
  font-weight: 600;
  color: #1a1a1a;
  display: flex;
  align-items: center;
  gap: 8px;
}
.wh-payment-option-desc {
  font-size: 12px;
  color: #999;
  margin-top: 2px;
}
.wh-payment-logos { display: flex; gap: 6px; margin-top: 4px; }
.wh-payment-logo { height: 20px; }

/* PayPal-Option ans Ende */
.wh-payment-option:last-child { order: 10; }

/* Bestellung aufgeben Button */
.wh-place-order-btn {
  width: 100%;
  padding: 15px;
  background: #2e7d32;
  color: #fff;
  border: none;
  border-radius: 11px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  margin-top: 20px;
  transition: background .15s;
  letter-spacing: .01em;
}
.wh-place-order-btn:hover { background: #1b5e20; }
.wh-place-order-btn:disabled { background: #bbb; cursor: not-allowed; }

/* Rechte Spalte - Bestellübersicht */
.wh-order-summary {
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  padding: 24px;
  color: #1a1a1a;
  position: sticky;
  top: 90px;
}
.wh-order-summary > p,
.wh-order-summary > h3 {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #888;
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #f0f0f0;
}

/* Artikel in der Bestellübersicht */
.wh-order-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #f5f5f5;
  color: #1a1a1a;
}
.wh-order-item:last-of-type { border-bottom: none; }
.wh-order-item img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
  background: #f5f5f5;
}
.wh-item-name, .wh-order-item .item-name {
  flex: 1;
  font-size: 13px;
  font-weight: 600;
  color: #1a1a1a;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wh-item-qty, .wh-order-item .item-qty {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
}
.wh-item-price, .wh-order-item .item-price {
  font-size: 13px;
  font-weight: 700;
  color: #1a1a1a;
  white-space: nowrap;
}
/* Entfernen-Button */
.wh-remove-item,
.remove-cart-item-btn,
.wh-order-item button[data-action="remove"] {
  background: none;
  border: none;
  color: #ccc;
  font-size: 20px;
  cursor: pointer;
  padding: 0 3px;
  line-height: 1;
  border-radius: 5px;
  flex-shrink: 0;
  transition: color .15s;
}
.wh-remove-item:hover,
.remove-cart-item-btn:hover { color: #e53935; }

/* Gesamt */
.wh-order-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 2px solid #f0f0f0;
  padding-top: 14px;
  margin-top: 10px;
  font-size: 18px;
  font-weight: 700;
  color: #1a1a1a;
}
.wh-haes-note {
  font-size: 12px;
  color: #aaa;
  margin-top: 12px;
  line-height: 1.5;
  background: #fafafa;
  border-radius: 8px;
  padding: 10px 12px;
}

/* === Events Section kompakter === */
.section.events { padding: 40px 80px; }
.events h2.title { font-size: 1.6rem !important; margin-bottom: 20px; }
.event-card-flat-left { padding: 16px !important; min-width: 90px; }
.event-day { font-size: 1.4rem !important; }
.event-month { font-size: 11px; }
.event-card-flat-body { padding: 14px 18px !important; }
.event-card-flat-body h3 { font-size: 1rem !important; margin-bottom: 6px; }
.event-card-flat-body p { font-size: 12.5px !important; line-height: 1.45; margin-bottom: 10px !important; }
.btn.btn-green { padding: 8px 16px !important; font-size: 12px !important; }
.cal-box iframe { min-height: 300px !important; height: 300px !important; }









/* ================================================================
   WALDHEXEN SHOP - CLEAN MODERN (v4.0)
   ================================================================ */

/* Nav Cart */
.nav-woo-cart { display:flex;align-items:center; }
.nav-cart-link {
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,0.1);color:#fff;
  text-decoration:none;position:relative;transition:background .2s;
}
.nav-cart-link:hover{background:rgba(255,255,255,0.2);}
.nav-cart-count {
  position:absolute;top:-2px;right:-2px;
  background:var(--gruen);color:#fff;
  font-size:9px;font-weight:800;
  min-width:16px;height:16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  padding:0 3px;
}
.page_item.page-item-9,.menu-item-9{display:none!important;}

/* Shop-Seiten-Hintergrund */
body.post-type-archive-product,
body.single-product,
body.woocommerce-cart,
body.woocommerce-checkout { background:#f5f5f5!important; }

/* Kein Shop-Header */
.woocommerce-products-header{display:none!important;}

/* Haupt-Container */
.woocommerce-page .woocommerce,
body.post-type-archive-product .woocommerce,
body.single-product .woocommerce,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
  max-width:1400px;margin:0 auto;padding:0 32px 80px;background:transparent;
}

/* Toolbar */
.woocommerce-result-count{color:#888!important;font-size:13px!important;margin:0!important;}
.woocommerce-ordering{margin:0!important;}
.woocommerce-ordering select{
  background:#fff!important;border:1px solid #ddd!important;
  border-radius:6px!important;padding:7px 14px!important;
  font-size:13px!important;color:#333!important;
}

/* ---- PRODUKT-GRID ---- */
.woocommerce ul.products {
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:16px!important;
  margin:20px 0 0!important;
  padding:0!important;
  list-style:none!important;
  float:none!important;
  width:100%!important;
  clear:both!important;
}

/* ---- PRODUKT-KARTE ---- */
.woocommerce ul.products li.product {
  background:#fff!important;
  border-radius:12px!important;
  overflow:hidden!important;
  border:none!important;
  box-shadow:0 1px 8px rgba(0,0,0,0.07)!important;
  transition:box-shadow .25s,transform .25s!important;
  margin:0!important;padding:0!important;
  width:auto!important;float:none!important;
  display:flex!important;flex-direction:column!important;
  position:relative!important;
}
.woocommerce ul.products li.product:hover {
  box-shadow:0 6px 24px rgba(0,0,0,0.13)!important;
  transform:translateY(-2px)!important;
}

/* ---- DER LINK (umschließt Bild+Titel+Preis) ---- */
/* WICHTIG: kein overflow:hidden, kein feste Höhe */
.woocommerce ul.products li.product a.woocommerce-loop-product__link,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display:block!important;
  overflow:visible!important;
  height:auto!important;
  min-height:0!important;
  text-decoration:none!important;
  color:inherit!important;
  flex:1!important;
}

/* ---- BILD ---- */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img.wp-post-image,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
  width:100%!important;
  height:200px!important;
  object-fit:cover!important;
  display:block!important;
  background:#f0f0f0!important;
  border-radius:12px 12px 0 0!important;
  transition:transform .4s!important;
}
.woocommerce ul.products li.product:hover a img { transform:scale(1.04)!important; }

/* ---- TITEL ---- */
.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
  font-size:13px!important;font-weight:500!important;
  color:#1a1a1a!important;
  padding:10px 14px 3px!important;
  margin:0!important;line-height:1.4!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  display:block!important;visibility:visible!important;opacity:1!important;
}

/* ---- PREIS ---- */
.woocommerce ul.products li.product span.price,
.woocommerce ul.products li.product .price {
  font-size:15px!important;font-weight:700!important;
  color:#1a1a1a!important;
  padding:0 14px 12px!important;
  margin:0!important;display:block!important;
  visibility:visible!important;opacity:1!important;
}

/* ---- "IN DEN WARENKORB" BUTTON ---- */
/* Standard WC-Button verstecken, wir nutzen eigenen */
.woocommerce ul.products li.product > a.button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product .added_to_cart { display:none!important; }

/* Quick-Add Button erscheint beim Hover unten in der Karte */
.wh-quick-add-btn {
  display:block!important;width:100%!important;
  background:#1a1a1a!important;color:#fff!important;
  border:none!important;padding:11px 14px!important;
  font-size:11px!important;font-weight:700!important;
  text-transform:uppercase!important;letter-spacing:.8px!important;
  cursor:pointer!important;text-align:center!important;
  opacity:0!important;max-height:0!important;overflow:hidden!important;
  transition:opacity .2s,max-height .2s!important;
  box-sizing:border-box!important;
}
.woocommerce ul.products li.product:hover .wh-quick-add-btn {
  opacity:1!important;max-height:42px!important;
}
.wh-quick-add-btn:hover{background:var(--gruen)!important;}

/* ---- QUICK-ADD MODAL ---- */
.wh-modal-overlay {
  position:fixed;inset:0;background:rgba(0,0,0,0.45);
  z-index:99999;display:flex;align-items:flex-end;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .25s;
}
@media(min-width:600px){.wh-modal-overlay{align-items:center;}}
.wh-modal-overlay.open{opacity:1;pointer-events:all;}
.wh-modal {
  background:#fff;border-radius:20px 20px 0 0;
  width:100%;max-width:480px;max-height:90vh;overflow-y:auto;
  position:relative;transform:translateY(40px);transition:transform .3s;padding:24px;
}
@media(min-width:600px){.wh-modal{border-radius:16px;}}
.wh-modal-overlay.open .wh-modal{transform:translateY(0);}
.wh-modal-close {
  position:absolute;top:14px;right:14px;
  background:#f5f5f5;border:none;font-size:16px;
  cursor:pointer;color:#666;width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;transition:background .2s;
}
.wh-modal-close:hover{background:#e8e8e8;}
.wh-modal-top {
  display:grid;grid-template-columns:100px 1fr;gap:16px;margin-bottom:20px;
}
.wh-modal-img {
  width:100px;height:100px;object-fit:cover;
  border-radius:10px;background:#f5f5f5;
}
.wh-modal-meta h3{font-size:15px;font-weight:700;color:#1a1a1a;margin:0 0 4px;}
.wh-modal-meta-price{font-size:17px;font-weight:800;color:#1a1a1a;}

/* Größen im Modal */
.wh-modal-body .variations{width:100%!important;border:none!important;}
.wh-modal-body .variations td,.wh-modal-body .variations th{
  padding:4px 0!important;border:none!important;background:transparent!important;
}
.wh-modal-body .variations label{
  font-size:11px!important;font-weight:700!important;
  text-transform:uppercase!important;letter-spacing:1px!important;color:#888!important;
}
.wh-modal-body .variations select {
  width:100%!important;border:1.5px solid #e0e0e0!important;
  border-radius:8px!important;padding:10px 12px!important;
  font-size:15px!important;color:#1a1a1a!important;background:#fff!important;cursor:pointer!important;
}
.wh-modal-body .cart{display:flex!important;gap:10px!important;margin-top:16px!important;align-items:center!important;}
.wh-modal-body .quantity{
  display:flex!important;align-items:center!important;
  border:1.5px solid #e0e0e0!important;border-radius:8px!important;
}
.wh-modal-body .quantity input.qty{
  width:46px!important;border:none!important;padding:10px 6px!important;
  text-align:center!important;font-size:15px!important;font-weight:700!important;
  background:transparent!important;color:#1a1a1a!important;
}
.wh-modal-body .single_add_to_cart_button {
  flex:1!important;background:#1a1a1a!important;color:#fff!important;
  border:none!important;border-radius:8px!important;padding:12px!important;
  font-size:13px!important;font-weight:700!important;
  text-transform:uppercase!important;letter-spacing:.8px!important;cursor:pointer!important;
  transition:background .2s!important;
}
.wh-modal-body .single_add_to_cart_button:hover{background:var(--gruen)!important;}
.wh-modal-see-all{
  display:block;text-align:center;margin-top:12px;
  font-size:12px;color:#aaa;text-decoration:underline;
}

/* Custom Fields */
.wh-field{margin-bottom:14px;}
.wh-field label{
  display:block;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:1px;color:#888;margin-bottom:5px;
}
.wh-input{
  width:100%;border:1.5px solid #e0e0e0;border-radius:8px;
  padding:10px 12px;font-size:15px;background:#fff;color:#1a1a1a;
  box-sizing:border-box;transition:border-color .2s;
}
.wh-input:focus{border-color:#1a1a1a;outline:none;}

/* Häs-Banner */
.wh-haes-banner {
  display:flex;gap:10px;align-items:flex-start;
  background:#fff9e6;border:1.5px solid #f0c030;
  border-radius:8px;padding:12px 14px;margin-bottom:14px;
  font-size:13px;color:#7a5c00;line-height:1.5;
}
.wh-haes-banner svg{flex-shrink:0;margin-top:2px;}

/* ---- PRODUKT-DETAIL ---- */
body.single-product .woocommerce{background:transparent;}
.woocommerce div.product{
  background:#fff!important;border-radius:12px!important;
  padding:40px!important;margin-top:20px!important;
}
/* Layout: Bild links, Details rechts */
.woocommerce div.product > .woocommerce-product-gallery { float:left!important; width:50%!important; }
.woocommerce div.product > .summary { float:right!important; width:46%!important; }
.woocommerce div.product::after{content:'';display:table;clear:both;}

.woocommerce div.product .product_title{font-size:22px!important;font-weight:800!important;color:#1a1a1a!important;margin-bottom:8px!important;}
.woocommerce div.product p.price{font-size:20px!important;font-weight:700!important;color:#1a1a1a!important;margin-bottom:20px!important;}
.woocommerce div.product .variations{width:100%!important;border:none!important;}
.woocommerce div.product .variations td,.woocommerce div.product .variations th{padding:6px 0!important;border:none!important;background:transparent!important;}
.woocommerce div.product .variations label{font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:1px!important;color:#888!important;}
.woocommerce div.product .variations select{width:100%!important;border:1.5px solid #e0e0e0!important;border-radius:8px!important;padding:12px 14px!important;font-size:15px!important;background:#fff!important;color:#1a1a1a!important;}
.woocommerce div.product form.cart{display:flex!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important;margin-top:20px!important;}
.woocommerce div.product form.cart .quantity{display:flex!important;align-items:center!important;border:1.5px solid #e0e0e0!important;border-radius:8px!important;}
.woocommerce div.product form.cart .quantity input.qty{width:54px!important;border:none!important;padding:12px 8px!important;text-align:center!important;font-size:16px!important;font-weight:700!important;background:transparent!important;color:#1a1a1a!important;}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1!important;background:#1a1a1a!important;color:#fff!important;border:none!important;border-radius:8px!important;padding:14px 24px!important;font-weight:700!important;font-size:14px!important;text-transform:uppercase!important;letter-spacing:.8px!important;cursor:pointer!important;transition:background .2s!important;min-width:160px!important;}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{background:var(--gruen)!important;}
.woocommerce div.product .woocommerce-tabs{clear:both!important;margin-top:32px!important;border-top:1px solid #eee!important;padding-top:32px!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid #eee!important;padding:0!important;margin-bottom:24px!important;background:transparent!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent!important;border:none!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:#999!important;font-weight:600!important;font-size:13px!important;text-transform:uppercase!important;letter-spacing:.8px!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#1a1a1a!important;border-bottom:2px solid #1a1a1a!important;}
.woocommerce div.product .woocommerce-tabs .panel{background:transparent!important;border:none!important;padding:0!important;color:#555!important;font-size:15px!important;line-height:1.7!important;}

/* ---- WARENKORB ---- */
.woocommerce-cart table.shop_table{background:#fff!important;border-radius:10px!important;border:none!important;box-shadow:0 1px 4px rgba(0,0,0,0.07)!important;overflow:hidden!important;color:#1a1a1a!important;}
.woocommerce-cart table.shop_table th{background:#f8f8f8!important;color:#666!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:1px!important;font-weight:700!important;border:none!important;}
.woocommerce-cart table.shop_table td{padding:16px!important;border-bottom:1px solid #f0f0f0!important;color:#1a1a1a!important;}
.woocommerce .wc-proceed-to-checkout a.checkout-button{background:#1a1a1a!important;border-radius:8px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.8px!important;transition:background .2s!important;}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover{background:var(--gruen)!important;}

/* ---- CHECKOUT ---- */
.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review{background:#fff!important;border-radius:10px!important;padding:28px!important;box-shadow:0 1px 4px rgba(0,0,0,0.07)!important;}
.woocommerce-checkout h3{font-size:14px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.8px!important;color:#1a1a1a!important;margin-bottom:20px!important;}
.woocommerce-checkout .input-text,.woocommerce-checkout select{background:#f8f8f8!important;border:1.5px solid #e8e8e8!important;border-radius:8px!important;padding:12px 14px!important;color:#1a1a1a!important;font-size:15px!important;width:100%!important;box-sizing:border-box!important;transition:border-color .2s!important;}
.woocommerce-checkout .input-text:focus,.woocommerce-checkout select:focus{border-color:#1a1a1a!important;outline:none!important;background:#fff!important;}
.woocommerce-checkout label{font-size:11px!important;font-weight:700!important;color:#666!important;text-transform:uppercase!important;letter-spacing:.5px!important;}
.woocommerce-checkout #payment{background:#fff!important;border-radius:10px!important;border:none!important;}
.woocommerce-checkout #payment ul.payment_methods{background:transparent!important;border:none!important;}
.woocommerce-checkout #payment ul.payment_methods li{background:#f8f8f8!important;border-radius:8px!important;margin-bottom:8px!important;padding:14px 16px!important;border:1.5px solid transparent!important;}
.woocommerce-checkout #payment .place-order .button{background:#1a1a1a!important;border-radius:8px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.8px!important;padding:16px!important;font-size:15px!important;width:100%!important;transition:background .2s!important;}
.woocommerce-checkout #payment .place-order .button:hover{background:var(--gruen)!important;}

/* Notices */
.woocommerce-message{background:#f0faf4!important;border-top:3px solid var(--gruen)!important;color:#1a1a1a!important;}
.woocommerce-error{background:#fff5f5!important;border-top:3px solid #e53e3e!important;color:#c53030!important;}
.woocommerce-info{background:#f0f6ff!important;border-top:3px solid #3b82f6!important;color:#1e40af!important;}

/* Unsinnige Seitenlinks in WooCommerce verstecken */
.woocommerce .woocommerce-pagination { display:none!important; }




/* ================================================================
   WALDHEXEN SHOP v5 - CLEAN
   ================================================================ */

/* Nav Warenkorb */
.nav-woo-cart{display:flex;align-items:center;}
.nav-cart-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.1);color:#fff;text-decoration:none;position:relative;transition:background .2s;}
.nav-cart-link:hover{background:rgba(255,255,255,0.2);}
.nav-cart-count{position:absolute;top:-2px;right:-2px;background:var(--gruen);color:#fff;font-size:9px;font-weight:800;min-width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 3px;}
.page_item.page-item-9,.menu-item-9{display:none!important;}

/* Shop-Seiten Hintergrund */
body.post-type-archive-product,body.single-product,body.woocommerce-cart,body.woocommerce-checkout{background:#f5f5f5!important;}

/* Shop-Wrapper */
.wh-shop-wrap,.wh-wc-main{max-width:1400px;margin:0 auto;padding:24px 32px 80px;}

/* WooCommerce Wrapper-Divs die WC rendert */
.woocommerce-products-header{display:none!important;}
.woocommerce-page #primary,.woocommerce-page #main,.woocommerce-page #content,.woocommerce-page .site-main{background:transparent!important;padding:0!important;margin:0!important;width:100%!important;max-width:none!important;}

/* Sidebar + Widgets komplett weg */
#secondary,.widget-area,aside.widget-area,.sidebar{display:none!important;}

/* Toolbar */
.woocommerce-result-count{color:#888!important;font-size:13px!important;margin:0 0 16px!important;display:block!important;}
.woocommerce-ordering{margin:0 0 16px!important;}
.woocommerce-ordering select{background:#fff!important;border:1px solid #ddd!important;border-radius:6px!important;padding:7px 14px!important;font-size:13px!important;color:#333!important;}

/* === KATEGORIE-FILTER === */
.wh-cat-filter{
  display:flex;gap:8px;flex-wrap:wrap;
  margin:0 0 24px;padding:0;
}
.wh-cat-btn{
  display:inline-block;
  padding:8px 18px;
  border-radius:100px;
  border:1.5px solid #e0e0e0;
  background:#fff;
  color:#333;
  font-size:13px;font-weight:600;
  text-decoration:none;
  transition:all .2s;
  white-space:nowrap;
}
.wh-cat-btn:hover{border-color:#1a1a1a;color:#1a1a1a;}
.wh-cat-btn.active{background:#1a1a1a;color:#fff;border-color:#1a1a1a;}

/* === PRODUKT-GRID === */
.woocommerce ul.products,
ul.products.columns-4{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:16px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  float:none!important;
  width:100%!important;
  clear:none!important;
}

/* === PRODUKT-KARTE === */
.woocommerce ul.products li.product{
  background:#fff!important;
  border-radius:12px!important;
  overflow:hidden!important;
  border:none!important;
  box-shadow:0 1px 6px rgba(0,0,0,0.07)!important;
  transition:box-shadow .2s,transform .2s!important;
  margin:0!important;padding:0!important;
  width:auto!important;float:none!important;
  display:flex!important;flex-direction:column!important;
  position:relative!important;
  /* Float/Clear Bug Fix */
  clear:none!important;
}
.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last{clear:none!important;float:none!important;margin:0!important;width:auto!important;}
.woocommerce ul.products li.product:hover{box-shadow:0 6px 20px rgba(0,0,0,0.12)!important;transform:translateY(-2px)!important;}

/* Produkt-Link */
.woocommerce ul.products li.product a.woocommerce-loop-product__link,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
  display:block!important;
  overflow:visible!important;
  height:auto!important;
  text-decoration:none!important;
  color:inherit!important;
}

/* Bild */
.woocommerce ul.products li.product img{
  width:100%!important;height:200px!important;
  object-fit:cover!important;display:block!important;
  background:#f0f0f0!important;
  transition:transform .4s!important;
  border-radius:0!important;
}
.woocommerce ul.products li.product:hover img{transform:scale(1.03)!important;}

/* Titel */
.woocommerce ul.products li.product h2.woocommerce-loop-product__title{
  font-size:13px!important;font-weight:500!important;color:#1a1a1a!important;
  padding:10px 14px 3px!important;margin:0!important;line-height:1.4!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  display:block!important;
}

/* Preis */
.woocommerce ul.products li.product span.price,
.woocommerce ul.products li.product .price{
  font-size:15px!important;font-weight:700!important;color:#1a1a1a!important;
  padding:0 14px 12px!important;margin:0!important;display:block!important;
}

/* WC Standard-Button weg */
.woocommerce ul.products li.product > a.button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product .added_to_cart{display:none!important;}

/* Quick-Add Button */
.wh-quick-add-btn{
  display:block!important;width:100%!important;background:#1a1a1a!important;
  color:#fff!important;border:none!important;padding:11px 14px!important;
  font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;
  letter-spacing:.8px!important;cursor:pointer!important;text-align:center!important;
  opacity:0!important;max-height:0!important;overflow:hidden!important;
  transition:opacity .15s,max-height .15s!important;box-sizing:border-box!important;
  border-radius:0 0 12px 12px!important;
}
.woocommerce ul.products li.product:hover .wh-quick-add-btn{opacity:1!important;max-height:42px!important;}
.wh-quick-add-btn:hover{background:var(--gruen)!important;}

/* === MODAL === */
.wh-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:99999;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s;}
@media(min-width:600px){.wh-modal-overlay{align-items:center;}}
.wh-modal-overlay.open{opacity:1;pointer-events:all;}
.wh-modal{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;position:relative;transform:translateY(30px);transition:transform .3s;padding:24px;}
@media(min-width:600px){.wh-modal{border-radius:16px;}}
.wh-modal-overlay.open .wh-modal{transform:translateY(0);}
.wh-modal-close{position:absolute;top:14px;right:14px;background:#f0f0f0;border:none;font-size:16px;cursor:pointer;color:#555;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s;}
.wh-modal-close:hover{background:#e0e0e0;}
.wh-modal-top{display:grid;grid-template-columns:100px 1fr;gap:16px;margin-bottom:20px;}
.wh-modal-img{width:100px;height:100px;object-fit:cover;border-radius:10px;background:#f5f5f5;}
.wh-modal-meta h3{font-size:15px;font-weight:700;color:#1a1a1a;margin:0 0 4px;}
.wh-modal-meta-price{font-size:17px;font-weight:800;color:#1a1a1a;}
.wh-modal-body .variations{width:100%!important;border:none!important;}
.wh-modal-body .variations td,.wh-modal-body .variations th{padding:4px 0!important;border:none!important;background:transparent!important;}
.wh-modal-body .variations label{font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:1px!important;color:#888!important;}
.wh-modal-body .variations select{width:100%!important;border:1.5px solid #e0e0e0!important;border-radius:8px!important;padding:10px 12px!important;font-size:15px!important;color:#1a1a1a!important;background:#fff!important;cursor:pointer!important;}
.wh-modal-body .cart{display:flex!important;gap:10px!important;margin-top:16px!important;align-items:center!important;}
.wh-modal-body .quantity{display:flex!important;align-items:center!important;border:1.5px solid #e0e0e0!important;border-radius:8px!important;}
.wh-modal-body .quantity input.qty{width:46px!important;border:none!important;padding:10px 6px!important;text-align:center!important;font-size:15px!important;font-weight:700!important;background:transparent!important;color:#1a1a1a!important;}
.wh-modal-body .single_add_to_cart_button{flex:1!important;background:#1a1a1a!important;color:#fff!important;border:none!important;border-radius:8px!important;padding:12px!important;font-size:13px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.8px!important;cursor:pointer!important;transition:background .2s!important;}
.wh-modal-body .single_add_to_cart_button:hover{background:var(--gruen)!important;}
.wh-modal-see-all{display:block;text-align:center;margin-top:12px;font-size:12px;color:#aaa;text-decoration:underline;}

/* Custom Fields */
.wh-field{margin-bottom:14px;}
.wh-field label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#666;margin-bottom:5px;}
.wh-input{width:100%;border:1.5px solid #e0e0e0;border-radius:8px;padding:10px 12px;font-size:15px;background:#fff;color:#1a1a1a;box-sizing:border-box;transition:border-color .2s;}
.wh-input:focus{border-color:#1a1a1a;outline:none;}

/* Häs-Banner */
.wh-haes-banner{display:flex;gap:10px;align-items:flex-start;background:#fff9e6;border:1.5px solid #f0c030;border-radius:8px;padding:12px 14px;margin-bottom:14px;font-size:13px;color:#7a5c00;line-height:1.5;}
.wh-haes-banner svg{flex-shrink:0;margin-top:2px;}

/* Notices */
.woocommerce-message{background:#f0faf4!important;border-top:3px solid var(--gruen)!important;color:#1a1a1a!important;border-radius:6px!important;padding:14px 18px!important;}
.woocommerce-error{background:#fff5f5!important;border-top:3px solid #e53e3e!important;color:#c53030!important;border-radius:6px!important;padding:14px 18px!important;}
.woocommerce-info{background:#f0f6ff!important;border-top:3px solid #3b82f6!important;color:#1e40af!important;border-radius:6px!important;padding:14px 18px!important;}

/* === PRODUKT-DETAIL === */
body.single-product .wh-wc-main{max-width:1200px;}
.woocommerce div.product{background:#fff!important;border-radius:12px!important;padding:40px!important;margin-top:16px!important;}
.woocommerce div.product>div.woocommerce-product-gallery{float:left!important;width:48%!important;margin-right:4%!important;}
.woocommerce div.product>div.summary{float:none!important;width:48%!important;float:right!important;}
.woocommerce div.product::after{content:'';display:table;clear:both;}
.woocommerce div.product .product_title{font-size:22px!important;font-weight:800!important;color:#1a1a1a!important;margin-bottom:8px!important;}
.woocommerce div.product p.price{font-size:20px!important;font-weight:700!important;color:#1a1a1a!important;margin-bottom:20px!important;}
.woocommerce div.product .variations{width:100%!important;border:none!important;}
.woocommerce div.product .variations td,.woocommerce div.product .variations th{padding:6px 0!important;border:none!important;background:transparent!important;}
.woocommerce div.product .variations label{font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:1px!important;color:#666!important;}
.woocommerce div.product .variations select{width:100%!important;border:1.5px solid #e0e0e0!important;border-radius:8px!important;padding:12px 14px!important;font-size:15px!important;background:#fff!important;color:#1a1a1a!important;}
.woocommerce div.product form.cart{display:flex!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important;margin-top:20px!important;}
.woocommerce div.product form.cart .quantity{display:flex!important;align-items:center!important;border:1.5px solid #e0e0e0!important;border-radius:8px!important;}
.woocommerce div.product form.cart .quantity input.qty{width:54px!important;border:none!important;padding:12px 8px!important;text-align:center!important;font-size:16px!important;font-weight:700!important;background:transparent!important;color:#1a1a1a!important;}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1!important;background:#1a1a1a!important;color:#fff!important;border:none!important;border-radius:8px!important;padding:14px 24px!important;font-weight:700!important;font-size:14px!important;text-transform:uppercase!important;letter-spacing:.8px!important;cursor:pointer!important;transition:background .2s!important;min-width:160px!important;}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{background:var(--gruen)!important;}
.woocommerce div.product .woocommerce-tabs{clear:both!important;margin-top:32px!important;border-top:1px solid #eee!important;padding-top:32px!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid #eee!important;padding:0!important;margin-bottom:24px!important;background:transparent!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent!important;border:none!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:#999!important;font-weight:600!important;font-size:13px!important;text-transform:uppercase!important;letter-spacing:.8px!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#1a1a1a!important;border-bottom:2px solid #1a1a1a!important;}
.woocommerce div.product .woocommerce-tabs .panel{background:transparent!important;border:none!important;padding:0!important;color:#555!important;font-size:15px!important;line-height:1.7!important;}

/* === WARENKORB === */
.woocommerce-cart table.shop_table{background:#fff!important;border-radius:10px!important;border:none!important;box-shadow:0 1px 4px rgba(0,0,0,0.07)!important;overflow:hidden!important;color:#1a1a1a!important;}
.woocommerce-cart table.shop_table th{background:#f8f8f8!important;color:#666!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:1px!important;font-weight:700!important;border:none!important;}
.woocommerce-cart table.shop_table td{padding:16px!important;border-bottom:1px solid #f0f0f0!important;color:#1a1a1a!important;}
.woocommerce .wc-proceed-to-checkout a.checkout-button{background:#1a1a1a!important;border-radius:8px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.8px!important;transition:background .2s!important;}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover{background:var(--gruen)!important;}

/* === CHECKOUT === */
.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review{background:#fff!important;border-radius:10px!important;padding:28px!important;box-shadow:0 1px 4px rgba(0,0,0,0.07)!important;}
.woocommerce-checkout h3{font-size:14px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.8px!important;color:#1a1a1a!important;margin-bottom:20px!important;}
.woocommerce-checkout .input-text,.woocommerce-checkout select{background:#f8f8f8!important;border:1.5px solid #e8e8e8!important;border-radius:8px!important;padding:12px 14px!important;color:#1a1a1a!important;font-size:15px!important;width:100%!important;box-sizing:border-box!important;transition:border-color .2s!important;}
.woocommerce-checkout .input-text:focus,.woocommerce-checkout select:focus{border-color:#1a1a1a!important;outline:none!important;background:#fff!important;}
.woocommerce-checkout label{font-size:11px!important;font-weight:700!important;color:#666!important;text-transform:uppercase!important;letter-spacing:.5px!important;}
.woocommerce-checkout #payment{background:#fff!important;border-radius:10px!important;border:none!important;}
.woocommerce-checkout #payment ul.payment_methods{background:transparent!important;border:none!important;}
.woocommerce-checkout #payment ul.payment_methods li{background:#f8f8f8!important;border-radius:8px!important;margin-bottom:8px!important;padding:14px 16px!important;border:1.5px solid transparent!important;}
.woocommerce-checkout #payment .place-order .button{background:#1a1a1a!important;border-radius:8px!important;font-weight:700!important;text-transform:uppercase!important;padding:16px!important;font-size:15px!important;width:100%!important;transition:background .2s!important;letter-spacing:.8px!important;}
.woocommerce-checkout #payment .place-order .button:hover{background:var(--gruen)!important;}

/* Footer-Widgets auf Shop-Seiten verstecken */
body.post-type-archive-product footer .widget,
body.single-product footer .widget,
body.post-type-archive-product .site-footer .widget-area,
body.single-product .site-footer .widget-area{display:none!important;}


/* === LETZTE FIXES === */

/* Container: Abstand zur Nav */
.wh-wc-main {
  padding-top: 90px !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  padding-bottom: 80px !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

/* Grid: volle Breite, kein Versatz */
.wh-wc-main .woocommerce ul.products,
.wh-wc-main ul.products {
  grid-template-columns: repeat(4, 1fr) !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Alle li.product: kein Float, kein Clear, kein Margin */
.wh-wc-main ul.products li.product,
.wh-wc-main ul.products li.product.first,
.wh-wc-main ul.products li.product.last {
  float: none !important;
  clear: none !important;
  width: auto !important;
  margin: 0 !important;
}

/* Kein WC-Standard-Wrapper der Probleme macht */
.woocommerce-page #content {
  width: 100% !important;
  float: none !important;
}

/* Footer-Widgets auf Shop */
body.post-type-archive-product .site-footer .widget,
body.post-type-archive-product .footer-widgets,
body.single-product .site-footer .widget,
body.single-product .footer-widgets,
body.woocommerce-cart .site-footer .widget,
body.woocommerce-checkout .site-footer .widget {
  display: none !important;
}

/* Alle WC-Sidebar-Outputs weg */
.woocommerce-page .widget-area,
.woocommerce-page aside,
.woocommerce-page #secondary {
  display: none !important;
}

/* Filter genug Abstand nach unten */
.wh-cat-filter {
  margin-bottom: 20px !important;
  padding-bottom: 4px !important;
}


/* === FINAL FIX: Container-Abstand zur Nav === */
.wh-wc-main {
  margin-top: 96px !important;
  padding-top: 0 !important;
}
body.admin-bar .wh-wc-main {
  margin-top: 128px !important;
}

/* Ergebnis-Anzahl und Filter nebeneinander */
.woocommerce-result-count {
  float: none !important;
  display: inline !important;
}

/* Erste-Spalte Fix: WC setzt clear:left auf .first Klasse */
.woocommerce ul.products li.product.first {
  clear: none !important;
}


/* === CLEARFIX-BUG FIX === */
/* WooCommerce setzt ::before/::after mit display:table auf ul.products
   Das belegt im CSS-Grid die erste Spalte. Deaktivieren: */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
}


/* === KATEGORIESEITEN HINTERGRUND FIX === */
/* tax-product_cat = wenn Kategorie-Filter geklickt wird */
body.tax-product_cat,
body.tax-product_tag {
  background: #f5f5f5 !important;
}

body.tax-product_cat .wh-wc-main,
body.tax-product_tag .wh-wc-main {
  margin-top: 128px !important;
  background: transparent !important;
}

/* Alle WooCommerce Archiv/Kategorie Seiten hell */
body.woocommerce-page {
  background: #f5f5f5 !important;
}


/* === CART SLIDE PANEL === */
#wh-cart-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.4);
  z-index: 9998;
}
#wh-cart-panel {
  position: fixed;
  top: 0;
  right: -420px;
  width: 400px;
  max-width: 94vw;
  height: 100vh;
  background: #fff;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  box-shadow: -4px 0 30px rgba(0,0,0,.15);
  transition: right .3s cubic-bezier(.4,0,.2,1);
}
#wh-cart-panel.open {
  right: 0 !important;
}
#wh-cart-panel.open ~ #wh-cart-overlay,
#wh-cart-panel.open + #wh-cart-overlay {
  display: block;
}
#wh-cart-overlay.open { display: block; }
#wh-cart-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1.5px solid #f0f0f0;
  font-size: 16px;
  font-weight: 800;
  color: #1a1a1a;
}
#wh-cart-close {
  background: #f5f5f5;
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  color: #333;
  line-height: 1;
}
#wh-cart-panel-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
}
#wh-cart-panel-loading {
  text-align: center;
  color: #ccc;
  padding: 40px 0;
  font-size: 14px;
}
.wh-cart-item {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #f5f5f5;
}
.wh-cart-item img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  background: #f5f5f5;
}
.wh-cart-item-name {
  font-size: 13px;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.4;
}
.wh-cart-item-meta {
  font-size: 11px;
  color: #888;
  margin-top: 2px;
}
.wh-cart-item-price {
  font-size: 14px;
  font-weight: 700;
  color: #1a1a1a;
  white-space: nowrap;
}
.wh-cart-empty {
  text-align: center;
  color: #aaa;
  padding: 60px 0;
  font-size: 14px;
}
.wh-cart-empty svg { margin: 0 auto 12px; display: block; opacity: .3; }
#wh-cart-panel-footer {
  padding: 16px 24px 24px;
  border-top: 1.5px solid #f0f0f0;
}
#wh-cart-panel-total {
  display: flex;
  justify-content: space-between;
  font-size: 15px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 14px;
}
#wh-cart-checkout-btn {
  display: block;
  width: 100%;
  background: #1a1a1a;
  color: #fff;
  text-align: center;
  padding: 14px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .8px;
  transition: background .2s;
  box-sizing: border-box;
}
#wh-cart-checkout-btn:hover { background: #2d7a4f; color: #fff; }
.wh-cart-item-remove {
  background: none;
  border: none;
  color: #ccc;
  cursor: pointer;
  font-size: 16px;
  padding: 4px;
  line-height: 1;
  grid-column: 3;
  align-self: start;
}
.wh-cart-item-remove:hover { color: #e53e3e; }

/* Mengen-Spinner ausblenden */
#whm-qty::-webkit-inner-spin-button,
#whm-qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
#whm-qty { -moz-appearance: textfield; }

.gal-slide-dots { display: none !important; }
 */

/* === CHECKOUT FINAL === */
.woocommerce-checkout .content-page { background:#f5f6f8 !important; color:#1a1a1a !important; }

/* Texte */
.woocommerce-checkout label,
.wc-block-components-text-input label,
.wc-block-components-checkout-step__title,
.wc-block-components-radio-control__label,
.wc-block-components-payment-method-label__name,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.woocommerce-checkout h2,.woocommerce-checkout h3 { color:#1a1a1a !important; }
.wc-block-components-text-input input { background:#fff !important; color:#1a1a1a !important; border-radius:8px !important; }

/* Land/Bundesland normal groß */
.wc-block-components-country-input input,
.wc-block-components-state-input input { font-size:14px !important; padding:10px 12px !important; height:auto !important; }

/* Bestellübersicht */
.wc-block-components-order-summary-item { display:flex !important; align-items:center !important; gap:10px !important; padding:10px 0 !important; flex-wrap:nowrap !important; }
.wc-block-components-order-summary-item__image { flex:0 0 44px !important; }
.wc-block-components-order-summary-item__image img { width:44px !important; height:44px !important; border-radius:6px !important; object-fit:cover !important; }
.wc-block-components-order-summary-item__description { flex:1 1 auto !important; min-width:0 !important; overflow:hidden !important; }
.wc-block-components-order-summary-item__name { font-size:13px !important; font-weight:600 !important; color:#1a1a1a !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; display:block !important; }
.wc-block-components-order-summary-item__individual-prices,
.wc-block-components-order-summary-item__total-price { flex:0 0 auto !important; white-space:nowrap !important; font-weight:600 !important; color:#1a1a1a !important; }

/* Zahlungsreihenfolge: Überweisung zuerst, PayPal danach */
.wc-block-checkout__payment-method ul.wc-block-components-radio-control { display:flex !important; flex-direction:column !important; }
.wc-block-components-radio-control li:has([value="bacs"]) { order:1 !important; }
.wc-block-components-radio-control li:has([value="ppcp-gateway"]) { order:2 !important; }

/* Button grün */
.wc-block-checkout__place-order .wc-block-components-button { background:#2e7d32 !important; border-radius:10px !important; font-weight:700 !important; border:none !important; color:#fff !important; }
.wc-block-checkout__place-order .wc-block-components-button:hover { background:#1b5e20 !important; }

/* PayPal Express ausblenden */
.wc-block-components-express-payment,.wc-block-components-express-payment-continue-rule { display:none !important; }
/* === END CHECKOUT FINAL === */

/* === CHECKOUT OVERRIDE v7 === */

/* Heller Hintergrund */
.woocommerce-checkout .content-page { background:#f5f6f8 !important; color:#1a1a1a !important; }

/* FORMULAR: Labels und Felder im gleichen Verhältnis */
/* Label: größer und lesbarer (nicht mehr winzig) */
.wc-block-components-text-input label,
.wc-block-components-country-input label,
.wc-block-components-state-input label,
.wc-block-components-combobox label,
.wc-blocks-components-select label {
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #555 !important;
  margin-bottom: 4px !important;
}
/* Feld-Text gleiche Größe wie Label */
.wc-block-components-text-input input,
.wc-block-components-country-input input,
.wc-block-components-state-input input,
.wc-blocks-components-select__select,
.wc-block-components-combobox input {
  font-size: 13px !important;
  padding: 10px 12px !important;
  height: auto !important;
  background: #fff !important;
  color: #1a1a1a !important;
  border-radius: 8px !important;
}

/* BESTELLÜBERSICHT: breitere Sidebar + Name einzeilig */
/* Sidebar breiter machen */
.wc-block-components-sidebar-layout .wc-block-components-sidebar,
.wc-block-checkout__sidebar {
  flex: 0 0 360px !important;
  width: 360px !important;
  min-width: 300px !important;
}
.wc-block-components-sidebar-layout .wc-block-components-main {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
/* Produkt-Item Layout */
.wc-block-components-order-summary-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 10px 0 !important;
  flex-wrap: nowrap !important;
}
.wc-block-components-order-summary-item__image {
  flex: 0 0 44px !important;
}
.wc-block-components-order-summary-item__image img {
  width: 44px !important; height: 44px !important;
  border-radius: 6px !important; object-fit: cover !important;
}
.wc-block-components-order-summary-item__description {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
/* Name: umbrechend statt abgeschnitten */
.wc-block-components-order-summary-item__name {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  white-space: normal !important;
  word-break: break-word !important;
  line-height: 1.3 !important;
  display: block !important;
}
.wc-block-components-order-summary-item__individual-prices,
.wc-block-components-order-summary-item__total-price {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  font-size: 13px !important;
}

/* Totals + allg. Texte */
.woocommerce-checkout label,
.wc-block-components-checkout-step__title,
.wc-block-components-radio-control__label,
.wc-block-components-payment-method-label__name,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.woocommerce-checkout h2, .woocommerce-checkout h3 { color:#1a1a1a !important; }

/* Bestellung-Button */
.wc-block-checkout__place-order .wc-block-components-button {
  background:#2e7d32 !important; border-radius:10px !important;
  font-weight:700 !important; border:none !important; color:#fff !important;
}
.wc-block-checkout__place-order .wc-block-components-button:hover { background:#1b5e20 !important; }

/* PayPal Express ausblenden */
.wc-block-components-express-payment,
.wc-block-components-express-payment-continue-rule { display:none !important; }

/* === END CHECKOUT OVERRIDE v7 === */
/* Newsletter-Checkbox ausblenden */
.wc-block-checkout__newsletter-description,
.wp-block-woocommerce-checkout-newsletter-subscribe-block,
.wc-block-checkout__newsletter { display: none !important; }

/* Rechnungsfelder mehr Abstand */
.wc-block-components-text-input { margin-bottom: 12px !important; }
.wc-block-components-text-input input,
.wc-block-components-text-input textarea { padding: 12px 14px !important; border-radius: 10px !important; }
.wc-block-components-address-form { gap: 8px 16px !important; }
.wc-block-components-address-form .wc-block-components-text-input { width: 100% !important; }


/* === CLASSIC CHECKOUT FIXES (Kasse ID 10) === */
/* 1. Zweispalten-Grid mit expliziter Platzierung */
.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: 1.3fr 1fr !important;
  grid-template-rows: auto 1fr !important;
  column-gap: 48px !important;
  row-gap: 0 !important;
  align-items: start !important;
}
/* Linke Spalte: Rechnungsdetails */
#customer_details { grid-column: 1 !important; grid-row: 1 / 3 !important; float: none !important; width: auto !important; min-width: 0 !important; }
/* Rechte Spalte: Bestellübersicht */
#order_review_heading { grid-column: 2 !important; grid-row: 1 !important; float: none !important; width: auto !important; }
#order_review { grid-column: 2 !important; grid-row: 2 !important; float: none !important; width: auto !important; min-width: 0 !important; }

/* 2. Rechnungsfelder Abstände */
.woocommerce-checkout .form-row { margin-bottom: 16px !important; }
.woocommerce-checkout .form-row label { display: block !important; font-size: 12px !important; font-weight: 600 !important; margin-bottom: 6px !important; }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select { width: 100% !important; box-sizing: border-box !important; padding: 12px 14px !important; border-radius: 10px !important; }
/* Vorname/Nachname untereinander (nicht nebeneinander) */
.woocommerce-billing-fields .form-row-first,
.woocommerce-billing-fields .form-row-last { float: none !important; width: 100% !important; clear: both !important; }

/* 3. Newsletter (Hostinger Reach) ausblenden */
.hostinger-reach-optin { display: none !important; }
