/* Schrift */
@font-face {
  font-family: "Archivo WH";
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url("fonts/archivo-latin-standard-normal.woff2") format("woff2-variations"),
       url("fonts/archivo-latin-standard-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Archivo WH";
  font-style: italic;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url("fonts/archivo-latin-standard-italic.woff2") format("woff2-variations"),
       url("fonts/archivo-latin-standard-italic.woff2") format("woff2");
}

/* Variablen */
:root {
  --wh-font: "Archivo WH", "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;

  --wh-ink: #1f1a1c;          
  --wh-ink-2: #3a3235;
  --wh-muted: #5d5457;        
  --wh-line: #ece8e9;
  --wh-line-2: #cfc6c9;
  --wh-white: #ffffff;
  --wh-soft: #f4f1f2;         
  --wh-berry: #8e3357;        
  --wh-berry-dark: #5c1f38;
  --wh-olive: #9aa75f;        
  --wh-olive-soft: #e9ecd6;
  --wh-olive-line: #cdd1ad;
  --wh-olive-ink: #3e3a2a;    
  --wh-star: #c4cc86;         
  --wh-dark-card: #2b2427;
  --wh-on-dark-muted: #c9c1c4;

  --wh-r-s: 10px;             
  --wh-r-m: 18px;             
  --wh-r-l: 22px;             

  --wh-gutter: clamp(20px, 4vw, 56px);
  --wh-space: clamp(64px, 8vw, 120px);
  --wh-max: 1328px;
  --wh-max-text: 760px;
}

/* Grundlagen */
body :where(.wh) { font-family: var(--wh-font); color: var(--wh-ink); font-size: 18px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
body :where(.wh), body :where(.wh) * { box-sizing: border-box; }
body :where(.wh) :where(p, ul, ol, figure, blockquote, h1, h2, h3, h4) { margin: 0; padding: 0; }
body :where(.wh) :where(ul, ol) { list-style: none; }
body :where(.wh) :where(img, video) { display: block; max-width: 100%; height: auto; }
body :where(.wh) :where(a) { color: var(--wh-berry); text-decoration-thickness: 1px; text-underline-offset: 3px; }
body :where(.wh) :where(a:hover) { color: var(--wh-berry-dark); }
body :where(.wh) :where(a, button, summary, input, label):focus-visible { outline: 2px solid var(--wh-berry); outline-offset: 3px; border-radius: 4px; }

body .wh :is(h1, h2, h3, h4) { font-family: var(--wh-font); color: inherit; padding-bottom: 0; letter-spacing: normal; }

/* Sektion und Container */
body .wh-section {
  width: 100vw; max-width: 100vw;
  margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
  padding: var(--wh-space) var(--wh-gutter);
  background: var(--wh-white);
}
body .wh-section--tight { padding-top: 0; }
body .wh-section--flush-bottom { padding-bottom: 0; }
body .wh-section--soft { background: var(--wh-soft); }
body .wh-section--olive { background: var(--wh-olive-soft); color: var(--wh-olive-ink); }
body .wh-section--dark { background: var(--wh-ink); color: var(--wh-white); }
body .wh-container { max-width: var(--wh-max); margin: 0 auto; }
body .wh-container--narrow { max-width: 1040px; margin: 0 auto; }
body .wh-container--text { max-width: var(--wh-max-text); margin: 0 auto; }

body .wh-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 32px; margin-bottom: 40px; }
body .wh-stack > * + * { margin-top: 20px; }

/* Typografie */
body .wh-eyebrow { font-size: 15px; font-weight: 600; letter-spacing: 0.02em; color: var(--wh-berry); }
body .wh-section--dark .wh-eyebrow { color: var(--wh-star); }
body .wh-display,
body .wh :is(h1, h2).wh-display {
  font-size: clamp(52px, 8.6vw, 136px); line-height: 0.9; font-weight: 800;
  font-stretch: 72%; letter-spacing: -0.01em; text-transform: uppercase;
}
body .wh-display em, body .wh-h2 em { font-style: normal; color: var(--wh-berry); }
body .wh-h1,
body .wh :is(h1).wh-h1 { font-size: clamp(44px, 6.2vw, 96px); line-height: 0.92; font-weight: 800; font-stretch: 72%; text-transform: uppercase; }
body .wh-h2,
body .wh :is(h2, h3).wh-h2 { font-size: clamp(38px, 4.6vw, 68px); line-height: 0.95; font-weight: 800; font-stretch: 72%; text-transform: uppercase; }
body .wh-h3,
body .wh :is(h3, h4).wh-h3 { font-size: clamp(26px, 2.4vw, 34px); line-height: 1; font-weight: 800; font-stretch: 72%; text-transform: uppercase; }
body .wh-h4,
body .wh :is(h3, h4).wh-h4 { font-size: 21px; line-height: 1.25; font-weight: 700; }
body .wh-lead { font-size: clamp(19px, 1.5vw, 21px); line-height: 1.5; color: var(--wh-ink-2); }
body .wh-muted { color: var(--wh-muted); }
body .wh-small { font-size: 15px; }
body .wh-section--dark :is(.wh-lead, .wh-muted) { color: var(--wh-on-dark-muted); }
body .wh-section--olive :is(.wh-lead, .wh-muted) { color: var(--wh-olive-ink); }

body .wh-prose { max-width: var(--wh-max-text); color: var(--wh-ink-2); }
body .wh-prose > * + * { margin-top: 1em; }
body .wh-prose :is(h2, h3) { margin-top: 1.6em; font-size: 26px; line-height: 1.15; font-weight: 800; font-stretch: 80%; color: var(--wh-ink); }
body .wh-prose ul { padding-left: 0; }
body .wh-prose ul li { position: relative; padding-left: 26px; }
body .wh-prose ul li + li { margin-top: 8px; }
body .wh-prose ul li::before { content: ""; position: absolute; left: 4px; top: 0.62em; width: 8px; height: 8px; border-radius: 50%; background: var(--wh-olive); }

body .wh-checks li { position: relative; padding-left: 34px; }
body .wh-checks li + li { margin-top: 12px; }
body :is(.wh-section--olive, .wh-card--olive, .wh-notice) .wh-checks li::before { background-color: var(--wh-white); }
body .wh-checks li::before {
  content: ""; position: absolute; left: 0; top: 0.2em; width: 22px; height: 22px; border-radius: 50%;
  background: var(--wh-olive-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233e3a2a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat;
}

/* Buttons und Links */
body .wh-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 13px 24px; border-radius: var(--wh-r-s);
  font-family: var(--wh-font); font-size: 16px; font-weight: 600; line-height: 1.2;
  text-decoration: none; border: 1px solid transparent; cursor: pointer;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
body .wh-btn:active { transform: translateY(1px); }
body .wh-btn--dark { background: var(--wh-ink); color: var(--wh-white); }
body .wh-btn--dark:hover { background: var(--wh-berry-dark); color: var(--wh-white); }
body .wh-btn--berry { background: var(--wh-berry); color: var(--wh-white); }
body .wh-btn--berry:hover { background: var(--wh-berry-dark); color: var(--wh-white); }
body .wh-btn--outline { background: transparent; color: var(--wh-ink); border-color: var(--wh-line-2); }
body .wh-btn--outline:hover { border-color: var(--wh-ink); color: var(--wh-ink); }
body .wh-btn--light { background: var(--wh-white); color: var(--wh-ink); }
body .wh-btn--light:hover { background: var(--wh-olive-soft); color: var(--wh-ink); }
body .wh-btn--outline-light { background: transparent; color: var(--wh-white); border-color: rgba(255,255,255,.45); }
body .wh-btn--outline-light:hover { border-color: var(--wh-white); color: var(--wh-white); }
body .wh-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

body .wh-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; text-decoration: none; color: var(--wh-berry); }
body .wh-link::after {
  content: ""; width: 18px; height: 18px; flex: none; transition: transform .18s ease;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
body .wh-link:hover::after { transform: translateX(4px); }
body .wh-section--dark .wh-link { color: var(--wh-star); }

body .wh-chips { display: flex; flex-wrap: wrap; gap: 10px; }
body .wh-chip { display: inline-block; padding: 10px 16px; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--wh-ink); font-size: 15px; font-weight: 600; text-decoration: none; }
body a.wh-chip:hover { background: var(--wh-white); color: var(--wh-berry); }

/* Hero */
body .wh-hero { padding-top: clamp(40px, 5vw, 72px); padding-bottom: 0; }
body .wh-hero__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px 48px; margin-bottom: 36px; }
body .wh-hero__aside { flex: 0 1 380px; }
body .wh-hero__aside p { font-size: 19px; color: var(--wh-ink-2); }
body .wh-hero__aside .wh-link { margin-top: 22px; }
body .wh-hero__media { position: relative; height: clamp(360px, 46vw, 660px); border-radius: var(--wh-r-l); overflow: hidden; background: #111; }
body .wh-hero__media :is(video, img) { width: 100%; height: 100%; object-fit: cover; }
body .wh-hero__media .wh-chips { position: absolute; left: 20px; right: 20px; bottom: 20px; }

body .wh-pagehero { padding-top: clamp(32px, 4vw, 56px); padding-bottom: clamp(48px, 6vw, 88px); border-bottom: 1px solid var(--wh-line); }
body .wh-breadcrumb { display: flex; flex-wrap: wrap; gap: 6px; font-size: 14px; color: var(--wh-muted); margin-bottom: 28px; }
body .wh-breadcrumb a { color: var(--wh-muted); text-decoration: none; }
body .wh-breadcrumb a:hover { color: var(--wh-berry); }
body .wh-breadcrumb span[aria-hidden] { opacity: .5; }
body .wh-pagehero__grid { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 28px 56px; }
body .wh-pagehero__grid > :first-child { flex: 1 1 560px; min-width: 0; }
body .wh-pagehero__grid > :last-child { flex: 0 1 420px; }
body .wh-pagehero__grid > :last-child > * + * { margin-top: 20px; }
body .wh-pagehero__img { margin-top: clamp(32px, 4vw, 56px); width: 100%; height: clamp(260px, 34vw, 480px); object-fit: cover; border-radius: var(--wh-r-l); }

/* Raster und Bild neben Text */
body .wh-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
body .wh-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body .wh-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .wh-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body .wh-grid--gap-l { gap: 32px; }

body .wh-split { display: flex; flex-wrap: wrap; gap: 16px; align-items: stretch; }
body .wh-split > * { flex: 1 1 420px; min-width: 0; }
body .wh-split--reverse { flex-direction: row-reverse; }
body .wh-split__panel { background: var(--wh-soft); border-radius: var(--wh-r-m); padding: clamp(32px, 4vw, 64px); display: flex; flex-direction: column; justify-content: center; }
body .wh-section--soft .wh-split__panel,
body .wh-section--olive .wh-split__panel { background: var(--wh-white); }
body .wh-split__img { width: 100%; height: auto; align-self: stretch; min-height: 420px; object-fit: cover; border-radius: var(--wh-r-m); }
body .wh-split__panel .wh-h2 { margin-top: 14px; }
body .wh-split__panel .wh-lead { margin-top: 24px; }
body .wh-split__panel .wh-lead + p { margin-top: 16px; color: var(--wh-muted); }

/* Kacheln, Karten, Kennzahlen, Ablauf */

body .wh-tiles { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .wh-tile {
  border-radius: var(--wh-r-m); padding: 28px; min-height: 240px;
  display: flex; flex-direction: column; justify-content: space-between; gap: 20px;
  text-decoration: none; background: var(--wh-soft); color: var(--wh-ink);
  transition: transform .2s ease;
}
body a.wh-tile:hover { transform: translateY(-3px); color: inherit; }
body .wh-tile__nr { font-size: 15px; font-weight: 600; opacity: .8; }
body .wh-tile__title { display: block; font-size: 30px; line-height: 1; font-weight: 800; font-stretch: 72%; text-transform: uppercase; }
body .wh-tile__text { display: block; margin-top: 10px; font-size: 16px; }
body .wh-tile--berry { background: var(--wh-berry); color: var(--wh-white); }
body .wh-tile--olive { background: var(--wh-olive-soft); color: var(--wh-ink); }
body .wh-tile--dark { background: var(--wh-ink); color: var(--wh-white); }
body a.wh-tile--berry:hover, body a.wh-tile--dark:hover { color: var(--wh-white); }
body .wh-tile--photo { position: relative; grid-row: span 2; min-height: 520px; overflow: hidden; padding: 0; justify-content: flex-end; color: var(--wh-white); }
body .wh-tile--photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body .wh-tile--photo .wh-tile__body { position: relative; padding: 28px; background: linear-gradient(0deg, rgba(20,14,16,.85), rgba(20,14,16,0)); }
body .wh-tile--photo .wh-tile__title { font-size: 34px; }
body a.wh-tile--photo:hover { color: var(--wh-white); }

body .wh-card { background: var(--wh-white); border: 1px solid var(--wh-line); border-radius: var(--wh-r-m); padding: clamp(24px, 3vw, 36px); display: flex; flex-direction: column; gap: 14px; }
body .wh-card--soft { background: var(--wh-soft); border-color: transparent; }
body .wh-card--olive { background: var(--wh-olive-soft); border-color: transparent; }
body .wh-card .wh-btn, body .wh-card .wh-link { margin-top: auto; align-self: flex-start; }
body .wh-card :is(.wh-btn, .wh-link) ~ :is(.wh-btn, .wh-link) { margin-top: 4px; }

body .wh-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); border-bottom: 1px solid var(--wh-line); }
body .wh-stat { padding: 36px 24px 36px 0; }
body .wh-stat__value { font-size: 52px; line-height: 1; font-weight: 800; font-stretch: 72%; }
body .wh-stat__label { margin-top: 8px; font-size: 16px; color: var(--wh-muted); }

body .wh-steps { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); counter-reset: wh-step; }
body .wh-step { border-top: 2px solid var(--wh-ink); padding-top: 22px; counter-increment: wh-step; }
body .wh-step::before { content: counter(wh-step, decimal-leading-zero); display: block; font-size: 15px; font-weight: 600; color: var(--wh-berry); margin-bottom: 14px; }
body .wh-step p { margin-top: 10px; color: var(--wh-muted); }

body .wh-offer { border: 1px solid var(--wh-line); border-radius: var(--wh-r-m); padding: clamp(24px, 3vw, 36px); display: flex; flex-direction: column; gap: 16px; background: var(--wh-white); }
body .wh-offer .wh-offer__price { font-size: 44px; line-height: 1; font-weight: 800; font-stretch: 72%; }
body .wh-offer .wh-offer__note { font-size: 14px; color: var(--wh-muted); }
body .wh-offer--featured { background: var(--wh-ink); color: var(--wh-white); border-color: var(--wh-ink); }
body .wh-offer--featured :is(.wh-offer__note, .wh-muted) { color: var(--wh-on-dark-muted); }
body .wh-offer .wh-btn { margin-top: auto; }

body .wh-ad { display: inline-block; font-style: normal; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; line-height: 1.4; padding: 2px 7px; border-radius: 6px; border: 1px solid currentColor; opacity: .75; vertical-align: 2px; }
body .wh-adnote { font-size: 13px; color: var(--wh-muted); margin-top: 16px; }
body .wh-section--dark .wh-adnote, body .wh-offer--featured .wh-adnote { color: var(--wh-on-dark-muted); }
body .wh-offer .wh-offer__img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: var(--wh-r-s); }
body .wh-notice { border-radius: var(--wh-r-m); background: var(--wh-olive-soft); color: var(--wh-olive-ink); padding: 24px 28px; font-size: 16px; }
body .wh-notice strong { display: block; margin-bottom: 6px; color: var(--wh-ink); }

/* Bewertungen, Produkte, FAQ, Galerie */
body .wh-review { background: var(--wh-dark-card); color: var(--wh-white); border-radius: var(--wh-r-m); padding: 32px; display: flex; flex-direction: column; gap: 24px; }
body .wh-section:not(.wh-section--dark) .wh-review { background: var(--wh-soft); color: var(--wh-ink); }
body .wh-review__stars { color: var(--wh-star); letter-spacing: 4px; font-size: 18px; }
body .wh-section:not(.wh-section--dark) .wh-review__stars { color: var(--wh-berry); }
body .wh-review blockquote { font-size: 20px; line-height: 1.45; border: 0; padding: 0; margin: 0; }
body :where(.wh) blockquote { border-left: 0; padding-left: 0; }
body .wh-review figcaption { margin-top: auto; font-size: 15px; opacity: .8; }

body .wh-product { display: flex; flex-direction: column; gap: 14px; color: var(--wh-ink); text-decoration: none; }
body .wh-product__img { display: block; border-radius: var(--wh-r-m); overflow: hidden; background: var(--wh-soft); aspect-ratio: 1 / 1; }
body .wh-product__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
body a.wh-product:hover .wh-product__img img { transform: scale(1.03); }
body .wh-product__name { font-size: 19px; font-weight: 600; line-height: 1.3; }
body .wh-product__meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 18px; }
body .wh-product__cta { font-size: 15px; font-weight: 600; color: var(--wh-berry); }
body a.wh-product:hover { color: var(--wh-ink); }

body .wh-faq { border-top: 1px solid var(--wh-line); }
body .wh-faq details { border-bottom: 1px solid var(--wh-line); }
body .wh-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 0; font-size: 20px; font-weight: 600; }
body .wh-faq summary::-webkit-details-marker { display: none; }
body .wh-faq summary::after { content: ""; flex: none; width: 14px; height: 14px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-4px); transition: transform .2s ease; }
body .wh-faq details[open] summary::after { transform: rotate(225deg) translateY(-4px); }
body .wh-faq details > div { padding: 0 0 26px; max-width: var(--wh-max-text); color: var(--wh-ink-2); }
body .wh-faq details > div > * + * { margin-top: 12px; }

body .wh-gallery { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
body .wh-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--wh-r-m); }

body .wh-person { display: flex; flex-direction: column; gap: 12px; }
body .wh-person img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--wh-r-m); }
body .wh-person__role { font-size: 16px; color: var(--wh-muted); }

/* Header */
body .wh-header {
  width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
  position: relative; z-index: 50; background: var(--wh-white); border-bottom: 1px solid var(--wh-line);
}
body .wh-header__bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px var(--wh-gutter); }
body .wh-header__logo { line-height: 0; flex: none; }
body .wh-header__logo img { height: 56px; width: auto; }
body .wh-header__nav { display: flex; align-items: center; gap: 4px 28px; font-size: 16px; font-weight: 500; }
body .wh-header__nav a { color: var(--wh-ink); text-decoration: none; padding: 6px 0; border-bottom: 2px solid transparent; }
body .wh-header__nav a:hover, body .wh-header__nav a[aria-current="page"] { border-bottom-color: var(--wh-berry); color: var(--wh-ink); }
body .wh-header__actions { display: flex; align-items: center; gap: 12px; flex: none; }
body .wh-iconbtn { width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--wh-line-2); display: inline-flex; align-items: center; justify-content: center; color: var(--wh-ink); }
body .wh-iconbtn:hover { border-color: var(--wh-ink); color: var(--wh-ink); }
body .wh-iconbtn svg { width: 20px; height: 20px; }
body .wh-header__toggle { position: absolute; opacity: 0; pointer-events: none; }
body .wh-header__burger { display: none; cursor: pointer; }
body .wh-header__burger span, body .wh-header__burger span::before, body .wh-header__burger span::after { display: block; width: 20px; height: 2px; background: var(--wh-ink); position: relative; transition: transform .2s ease, background-color .2s ease; }
body .wh-header__burger span::before, body .wh-header__burger span::after { content: ""; position: absolute; left: 0; }
body .wh-header__burger span::before { top: -6px; }
body .wh-header__burger span::after { top: 6px; }
body .wh-header__toggle:focus-visible ~ .wh-header__bar .wh-header__burger { outline: 2px solid var(--wh-berry); outline-offset: 3px; }

/* Footer */
body .wh-footer {
  width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
  background: var(--wh-olive-soft); color: var(--wh-ink);
  padding: clamp(56px, 7vw, 96px) var(--wh-gutter) 36px;
}
body .wh-footer__cta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 32px; padding-bottom: 48px; border-bottom: 1px solid var(--wh-olive-line); }
body .wh-footer__cta .wh-h1 { max-width: 900px; font-size: clamp(40px, 6vw, 96px); }
body .wh-footer__cta-btns { display: flex; flex-direction: column; gap: 12px; align-self: flex-end; }
body .wh-footer__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; padding: 44px 0; font-size: 16px; }
body .wh-footer__cols h3 { font-size: 16px; font-weight: 700; margin-bottom: 10px; }
body .wh-footer__cols :is(p, a) { color: var(--wh-olive-ink); }
body .wh-footer__cols a { text-decoration: none; }
body .wh-footer__cols a:hover { color: var(--wh-berry); text-decoration: underline; }
body .wh-footer__social { display: flex; gap: 10px; margin-top: 2px; }
body .wh-footer__social a { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--wh-olive-line); display: inline-flex; align-items: center; justify-content: center; color: var(--wh-ink); }
body .wh-footer__social a:hover { background: var(--wh-ink); color: var(--wh-white); border-color: var(--wh-ink); text-decoration: none; }
body .wh-footer__social svg { width: 18px; height: 18px; }
body .wh-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 14px; color: #4a4636; }
body .wh-footer__legal nav { display: flex; flex-wrap: wrap; gap: 6px 20px; }
body .wh-footer__legal a { color: #4a4636; }
body .wh-footer__legal a:hover { color: var(--wh-berry); }

/* WooCommerce */
body.woocommerce-page, body.woocommerce { --wh-woo-field: 1px solid var(--wh-line-2); }
body :is(.woocommerce, .woocommerce-page) { font-family: var(--wh-font); }
body :is(.woocommerce, .woocommerce-page) :is(h1, h2, h3).product_title,
body :is(.woocommerce, .woocommerce-page) .woocommerce-products-header__title,
body .woocommerce-cart :is(.cart_totals h2, .cross-sells h2),
body .woocommerce-checkout #order_review_heading,
body .woocommerce-checkout .woocommerce-billing-fields h3 {
  font-family: var(--wh-font); font-weight: 800; font-stretch: 72%; text-transform: uppercase; color: var(--wh-ink); line-height: 0.95;
}
body :is(.woocommerce, .woocommerce-page) .product_title { font-size: clamp(36px, 4vw, 56px); }

body :is(.woocommerce, .woocommerce-page) :is(.price, .amount) { color: var(--wh-ink); font-weight: 600; }
body :is(.woocommerce, .woocommerce-page) .summary .price { font-size: 28px; }
body :is(.woocommerce, .woocommerce-page) :is(.woocommerce-price-suffix, .wc-gzd-additional-info, .shop-recht-price-info) { display: block; font-size: 14px; font-weight: 400; color: var(--wh-muted); }

body :is(.woocommerce, .woocommerce-page) :is(a.button, button.button, input.button, #respond input#submit, .wc-block-components-button, .checkout-button, #place_order),
body .et_pb_module :is(.button.alt, .single_add_to_cart_button) {
  font-family: var(--wh-font) !important; font-size: 16px !important; font-weight: 600 !important;
  line-height: 1.2 !important; letter-spacing: normal !important; text-transform: none !important;
  min-height: 48px; padding: 14px 24px !important; border-radius: var(--wh-r-s) !important;
  background: var(--wh-ink) !important; color: var(--wh-white) !important; border: 1px solid var(--wh-ink) !important;
  transition: background-color .18s ease;
}
body :is(.woocommerce, .woocommerce-page) :is(a.button, button.button, input.button)::after,
body .et_pb_module :is(.button.alt, .single_add_to_cart_button)::after { display: none !important; }
body :is(.woocommerce, .woocommerce-page) :is(a.button, button.button, input.button, .checkout-button, #place_order):hover,
body .et_pb_module :is(.button.alt, .single_add_to_cart_button):hover { background: var(--wh-berry-dark) !important; border-color: var(--wh-berry-dark) !important; }
body :is(.woocommerce, .woocommerce-page) :is(.single_add_to_cart_button, .checkout-button, #place_order) { background: var(--wh-berry) !important; border-color: var(--wh-berry) !important; }
body :is(.woocommerce, .woocommerce-page) #place_order { width: 100%; font-size: 18px !important; min-height: 56px; }

body :is(.woocommerce, .woocommerce-page) :is(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], textarea, select),
body :is(.woocommerce, .woocommerce-page) .select2-container .select2-selection--single {
  font-family: var(--wh-font) !important; font-size: 16px !important; color: var(--wh-ink) !important;
  background: var(--wh-white) !important; border: var(--wh-woo-field) !important; border-radius: var(--wh-r-s) !important;
  padding: 12px 14px !important; min-height: 48px; box-shadow: none !important;
}
body :is(.woocommerce, .woocommerce-page) .select2-container .select2-selection--single .select2-selection__rendered { line-height: 22px; padding: 0; }
body :is(.woocommerce, .woocommerce-page) .select2-container .select2-selection--single .select2-selection__arrow { top: 11px; right: 8px; }
body :is(.woocommerce, .woocommerce-page) :is(input, textarea, select):focus { border-color: var(--wh-ink) !important; outline: 2px solid var(--wh-olive-soft); outline-offset: 0; }
body :is(.woocommerce, .woocommerce-page) form .form-row label { font-size: 15px; font-weight: 600; color: var(--wh-ink); margin-bottom: 6px; line-height: 1.3; }
body :is(.woocommerce, .woocommerce-page) form .form-row .required { color: var(--wh-berry); text-decoration: none; }
body :is(.woocommerce, .woocommerce-page) .quantity input.qty { width: 84px !important; text-align: center; }

body :is(.woocommerce, .woocommerce-page) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
  background: var(--wh-olive-soft) !important; color: var(--wh-olive-ink) !important; border: 0 !important;
  border-radius: var(--wh-r-m); padding: 18px 22px 18px 54px !important; font-size: 16px; position: relative;
}
body :is(.woocommerce, .woocommerce-page) .woocommerce-error { background: #f6e4ea !important; color: var(--wh-berry-dark) !important; }
body :is(.woocommerce, .woocommerce-page) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { color: inherit !important; top: 18px !important; left: 22px !important; }
body :is(.woocommerce, .woocommerce-page) :is(.woocommerce-message, .woocommerce-info) a.button { float: right; min-height: 0; padding: 8px 14px !important; }

body :is(.woocommerce, .woocommerce-page) ul.products li.product a img { border-radius: var(--wh-r-m); background: var(--wh-soft); aspect-ratio: 1 / 1; object-fit: cover; margin-bottom: 14px !important; }
body :is(.woocommerce, .woocommerce-page) ul.products li.product .woocommerce-loop-product__title { font-family: var(--wh-font); font-size: 19px !important; font-weight: 600; line-height: 1.3; color: var(--wh-ink); padding: 0 0 6px; }
body :is(.woocommerce, .woocommerce-page) ul.products li.product .price { font-size: 17px; }
body :is(.woocommerce, .woocommerce-page) span.onsale { background: var(--wh-berry) !important; border-radius: 999px !important; min-height: 0 !important; min-width: 0 !important; padding: 6px 12px !important; line-height: 1.2 !important; font-weight: 600; }
body :is(.woocommerce, .woocommerce-page) .woocommerce-ordering select { min-height: 44px; }

body :is(.woocommerce, .woocommerce-page) div.product .woocommerce-product-gallery__image img { border-radius: var(--wh-r-l); }
body :is(.woocommerce, .woocommerce-page) .woocommerce-breadcrumb { font-size: 14px; color: var(--wh-muted); }
body :is(.woocommerce, .woocommerce-page) .woocommerce-breadcrumb a { color: var(--wh-muted); }
body :is(.woocommerce, .woocommerce-page) div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
body :is(.woocommerce, .woocommerce-page) div.product .woocommerce-tabs ul.tabs { padding: 0; border-bottom: 1px solid var(--wh-line); }
body :is(.woocommerce, .woocommerce-page) div.product .woocommerce-tabs ul.tabs li { background: transparent !important; border: 0 !important; border-radius: 0 !important; margin: 0 24px 0 0 !important; padding: 0 !important; }
body :is(.woocommerce, .woocommerce-page) div.product .woocommerce-tabs ul.tabs li a { padding: 14px 0 !important; font-weight: 600; color: var(--wh-muted) !important; }
body :is(.woocommerce, .woocommerce-page) div.product .woocommerce-tabs ul.tabs li.active a { color: var(--wh-ink) !important; box-shadow: inset 0 -2px 0 var(--wh-berry); }
body :is(.woocommerce, .woocommerce-page) div.product .woocommerce-tabs ul.tabs li::before,
body :is(.woocommerce, .woocommerce-page) div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }

body .woocommerce-cart table.shop_table,
body .woocommerce-checkout table.shop_table,
body .woocommerce-account table.shop_table { border: 1px solid var(--wh-line) !important; border-radius: var(--wh-r-m) !important; border-collapse: separate !important; overflow: hidden; }
body :is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) table.shop_table :is(th, td) { border-top: 1px solid var(--wh-line) !important; padding: 16px 18px !important; font-size: 16px; }
body :is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) table.shop_table thead th { background: var(--wh-soft); font-weight: 600; border-top: 0 !important; }
body .woocommerce-cart table.cart img { width: 72px !important; border-radius: var(--wh-r-s); }
body .woocommerce-cart table.cart a.remove { color: var(--wh-muted) !important; font-weight: 400; }
body .woocommerce-cart table.cart a.remove:hover { background: var(--wh-berry) !important; color: var(--wh-white) !important; }
body .woocommerce-cart .cart_totals { background: var(--wh-soft); border-radius: var(--wh-r-m); padding: clamp(20px, 3vw, 32px); }
body .woocommerce-cart .cart_totals table.shop_table { background: var(--wh-white); }
body .woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; font-size: 18px !important; min-height: 56px; }
body .woocommerce-cart .coupon :is(input, button) { min-height: 48px; }

body .woocommerce-checkout #order_review { background: var(--wh-soft); border-radius: var(--wh-r-m); padding: clamp(20px, 3vw, 32px); }
body .woocommerce-checkout #order_review table.shop_table { background: var(--wh-white); }
body .woocommerce-checkout #payment { background: var(--wh-white) !important; border-radius: var(--wh-r-m) !important; border: 1px solid var(--wh-line); }
body .woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--wh-line) !important; padding: 18px !important; }
body .woocommerce-checkout #payment ul.payment_methods li { padding: 10px 0; }
body .woocommerce-checkout #payment div.payment_box { background: var(--wh-soft) !important; border-radius: var(--wh-r-s); font-size: 15px; }
body .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--wh-soft) !important; }
body .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 15px; color: var(--wh-ink-2); }
body .woocommerce-checkout .woocommerce-form__label-for-checkbox { display: flex; align-items: flex-start; gap: 10px; }
body .woocommerce-checkout .woocommerce-form__label-for-checkbox input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--wh-berry); }

body .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-direction: column; gap: 4px; padding: 0; list-style: none; }
body .woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 16px; border-radius: var(--wh-r-s); color: var(--wh-ink); text-decoration: none; font-weight: 500; }
body .woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
body .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--wh-soft); }
body .woocommerce-account .woocommerce-MyAccount-navigation .is-active a { box-shadow: inset 3px 0 0 var(--wh-berry); }
body .woocommerce-account :is(.woocommerce-form-login, .woocommerce-form-register) { border: 1px solid var(--wh-line) !important; border-radius: var(--wh-r-m) !important; padding: clamp(20px, 3vw, 36px) !important; }

/* Shop-Rahmen */
body .wh-chips--outline { margin-top: 32px; }
body .wh-chips--outline .wh-chip { background: transparent; border: 1px solid var(--wh-line-2); }
body .wh-chips--outline a.wh-chip:hover { border-color: var(--wh-ink); background: transparent; color: var(--wh-ink); }

body .wh-shophead { padding-top: clamp(32px, 4vw, 56px); padding-bottom: 32px; }
body .wh-shophead .wh-container { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px 40px; }
body .wh-shophead .wh-lead { flex: 0 1 460px; }
body .wh-checkout-steps { display: flex; flex-wrap: wrap; gap: 8px 28px; font-size: 15px; font-weight: 600; color: var(--wh-muted); }
body .wh-checkout-steps li { display: flex; align-items: center; gap: 10px; }
body .wh-checkout-steps li span { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--wh-line-2); display: inline-flex; align-items: center; justify-content: center; font-size: 14px; }
body .wh-checkout-steps li a { color: inherit; text-decoration: none; }
body .wh-checkout-steps li a:hover { color: var(--wh-berry); }
body .wh-checkout-steps li[aria-current="step"] { color: var(--wh-ink); }
body .wh-checkout-steps li[aria-current="step"] span { background: var(--wh-ink); border-color: var(--wh-ink); color: var(--wh-white); }
body .wh-checkout-steps li.is-done span { background: var(--wh-olive-soft); border-color: var(--wh-olive-soft); color: var(--wh-olive-ink); }

body .wh-shopflow { padding-top: 8px; }
body .wh-shopflow .woocommerce { font-size: 16px; }
body .wh-shopflow h2, body .wh-shopflow h3 { font-family: var(--wh-font); font-size: 26px; line-height: 1; font-weight: 800; font-stretch: 72%; text-transform: uppercase; color: var(--wh-ink); margin: 0 0 20px; padding: 0; }

@media (min-width: 981px) {
  body .wh-shopflow--cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(320px, 1fr); gap: 0 32px; align-items: start; }
  body .wh-shopflow--cart .woocommerce > :is(.woocommerce-notices-wrapper, .cart-empty, .return-to-shop, .wc-empty-cart-message) { grid-column: 1 / -1; }
  body .wh-shopflow--cart .cart-collaterals { position: sticky; top: 24px; }
  body .wh-shopflow--cart .cart-collaterals .cart_totals { float: none !important; width: 100% !important; }
  body .wh-shopflow--cart .cart-collaterals .cross-sells { display: none; }
}
body .wh-shopflow--cart table.cart td.actions { background: var(--wh-white); }
body .wh-shopflow--cart .cart-collaterals .cart_totals { background: var(--wh-soft) !important; border-radius: var(--wh-r-m); padding: clamp(20px, 3vw, 32px) !important; }
body .wh-shopflow--cart .woocommerce table.cart a.remove { color: var(--wh-muted) !important; border: 1px solid var(--wh-line-2); }
body .wh-shopflow--cart .woocommerce table.cart a.remove:hover { background: var(--wh-berry) !important; border-color: var(--wh-berry); color: var(--wh-white) !important; }
body .wh-shopflow--cart table.cart td.actions .coupon { display: flex; flex-wrap: wrap; gap: 8px; }
body .wh-shopflow--cart table.cart td.actions .coupon .input-text { width: 200px !important; }
body .wh-shopflow--cart table.cart td.actions > .button { background: transparent !important; color: var(--wh-ink) !important; border-color: var(--wh-line-2) !important; }
body .wh-shopflow--cart table.cart .product-name a { color: var(--wh-ink); font-weight: 600; text-decoration: none; }
body .wh-shopflow--cart table.cart .product-name a:hover { color: var(--wh-berry); }
body .wh-shopflow--cart .cart_totals table.shop_table th { width: 40%; font-weight: 600; }
body .wh-shopflow--cart .cart_totals .order-total :is(th, td) { font-size: 19px; }
body .wh-shopflow--cart .cart-empty { font-size: 18px !important; }
body .wh-shopflow--cart .return-to-shop .button { background: var(--wh-berry) !important; border-color: var(--wh-berry) !important; }

@media (min-width: 981px) {
  body .wh-shopflow--checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(360px, 1fr); grid-template-rows: auto 1fr; gap: 0 40px; align-items: start; }
  body .wh-shopflow--checkout form.checkout > :is(.woocommerce-NoticeGroup, .woocommerce-notices-wrapper) { grid-column: 1 / -1; }
  body .wh-shopflow--checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; }
  body .wh-shopflow--checkout #order_review_heading { grid-column: 2; grid-row: 1; margin-top: 0; padding: 0 0 0 4px; }
  body .wh-shopflow--checkout #order_review { grid-column: 2; grid-row: 2; position: sticky; top: 24px; }
}
body .wh-shopflow--checkout #customer_details :is(.col-1, .col-2) { float: none !important; width: 100% !important; }
body .wh-shopflow--checkout #customer_details .col-2:empty { display: none; }
body .wh-shopflow--checkout .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
body .wh-shopflow--checkout .woocommerce-billing-fields__field-wrapper .form-row { float: none !important; width: auto !important; margin: 0 0 16px !important; padding: 0 !important; }
body .wh-shopflow--checkout .woocommerce-billing-fields__field-wrapper :is(.form-row-wide, .address-field) { grid-column: 1 / -1; }
body .wh-shopflow--checkout .woocommerce-additional-fields { margin-top: 12px; }
body .wh-shopflow--checkout .woocommerce-additional-fields h3 { font-size: 20px; }
body .wh-shopflow--checkout #order_review table.shop_table .product-total, body .wh-shopflow--checkout #order_review table.shop_table tfoot td { text-align: right; }
body .wh-shopflow--checkout #order_review .order-total :is(th, td) { font-size: 19px; }
body .wh-shopflow .woocommerce #payment #place_order,
body .wh-shopflow .woocommerce .wc-proceed-to-checkout a.checkout-button { background: var(--wh-berry) !important; border-color: var(--wh-berry) !important; color: var(--wh-white) !important; }
body .wh-shopflow .woocommerce #payment #place_order:hover,
body .wh-shopflow .woocommerce .wc-proceed-to-checkout a.checkout-button:hover { background: var(--wh-berry-dark) !important; border-color: var(--wh-berry-dark) !important; }
body .wh-shopflow .woocommerce :is(select, .select2-container) { width: 100% !important; }
body .wh-shopflow .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) a:not(.button) { color: var(--wh-berry) !important; text-decoration: underline; font-weight: 600; }
body .wh-shopflow--checkout #order_review .product-name { font-weight: 600; }
body .wh-shopflow--checkout #order_review .product-name :is(p, .wc-item-meta, dl, div) { font-size: 14px; font-weight: 400; color: var(--wh-muted); margin: 6px 0 0; line-height: 1.45; }
body .wh-shopflow--checkout .place-order { padding: 18px !important; }
body .wh-shopflow--checkout .llsr-rechtshinweis { font-size: 14px; color: var(--wh-ink-2); margin: 16px 0; line-height: 1.5; }
body .wh-shopflow--checkout .woocommerce-form-coupon-toggle .woocommerce-info { padding-top: 14px !important; padding-bottom: 14px !important; }
body .wh-shopflow--checkout form.checkout_coupon { border: 1px solid var(--wh-line) !important; border-radius: var(--wh-r-m) !important; padding: 20px !important; }

@media (min-width: 981px) {
  body .wh-shopflow--account .woocommerce { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 0 48px; align-items: start; }
  body .wh-shopflow--account .woocommerce > :is(.woocommerce-notices-wrapper, h2, .u-columns, #customer_login, .woocommerce-form-login) { grid-column: 1 / -1; }
  body .wh-shopflow--account :is(.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content) { float: none !important; width: auto !important; }
}
body .wh-shopflow--account #customer_login { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 24px; }
body .wh-shopflow--account #customer_login :is(.u-column1, .u-column2) { float: none !important; width: auto !important; }
body .wh-shopflow--account .woocommerce-MyAccount-content > p:first-child { font-size: 18px; }

body :is(.wh-shoparea, .wh-woo-product, .wh-shopflow) ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 16px; margin: 0 !important; padding: 0 !important; }
body :is(.wh-shoparea, .wh-woo-product, .wh-shopflow) ul.products::before,
body :is(.wh-shoparea, .wh-woo-product, .wh-shopflow) ul.products::after { display: none !important; }
body :is(.wh-shoparea, .wh-woo-product, .wh-shopflow) ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; }
body :is(.wh-shoparea, .wh-woo-product, .wh-shopflow) ul.products li.product .button { margin-top: auto !important; align-self: flex-start; }
body :is(.wh-shoparea, .wh-woo-product) ul.products li.product .et_overlay { display: none !important; }
body .wh-shoparea :is(.woocommerce-result-count, .woocommerce-ordering) { margin-bottom: 28px !important; font-size: 15px; color: var(--wh-muted); }
body .wh-shoparea .woocommerce-pagination ul { border: 0 !important; display: flex; gap: 8px; justify-content: center; margin-top: 48px !important; }
body .wh-shoparea .woocommerce-pagination ul li { border: 0 !important; }
body .wh-shoparea .woocommerce-pagination ul li :is(a, span) { width: 44px; height: 44px; line-height: 44px !important; padding: 0 !important; border-radius: 50%; border: 1px solid var(--wh-line-2) !important; }
body .wh-shoparea .woocommerce-pagination ul li span.current { background: var(--wh-ink) !important; color: var(--wh-white) !important; border-color: var(--wh-ink) !important; }

body .wh-woo-product { font-family: var(--wh-font); color: var(--wh-ink); }
body .wh-woo-product .product_title { margin: 8px 0 16px !important; }
body .wh-woo-product .price { margin-bottom: 20px !important; }
body .wh-woo-product .woocommerce-product-details__short-description { font-size: 18px; color: var(--wh-ink-2); }
body .wh-woo-product .woocommerce-product-details__short-description ul { list-style: none; padding: 0; margin: 12px 0 0; }
body .wh-woo-product .woocommerce-product-details__short-description li { position: relative; padding-left: 26px; }
body .wh-woo-product .woocommerce-product-details__short-description li + li { margin-top: 6px; }
body .wh-woo-product .woocommerce-product-details__short-description li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: var(--wh-olive); }
body .wh-woo-product form.cart { margin: 28px 0 0 !important; }
body .wh-woo-product form.cart .single_add_to_cart_button { flex: 1 1 240px; min-height: 56px; font-size: 18px !important; }
body .wh-woo-product .product_meta { font-size: 14px; color: var(--wh-muted); margin-top: 20px; }
body .wh-woo-product .product_meta a { color: var(--wh-muted); }
body .wh-woo-product--details .woocommerce-Tabs-panel { font-size: 18px; color: var(--wh-ink-2); }
body .wh-woo-product--details .woocommerce-Tabs-panel > h2:first-child { display: none; }
body .wh-woo-product .related > h2 { font-size: clamp(32px, 3.6vw, 52px); line-height: .95; font-weight: 800; font-stretch: 72%; text-transform: uppercase; margin-bottom: 32px; }
body .wh-sample { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 24px 0 0; padding: 16px 20px 16px 16px; border-radius: var(--wh-r-m); background: var(--wh-soft); font-family: var(--wh-font); }
body .wh-sample__btn { flex: none; width: 56px; height: 56px; border: 0; border-radius: 50%; background: var(--wh-berry); cursor: pointer; position: relative; padding: 0; }
body .wh-sample__btn:hover { background: var(--wh-berry-dark); }
body .wh-sample__btn::before { content: ""; position: absolute; left: 22px; top: 18px; border-left: 16px solid #fff; border-top: 10px solid transparent; border-bottom: 10px solid transparent; }
body .wh-sample.is-playing .wh-sample__btn::before { left: 20px; top: 19px; width: 5px; height: 18px; border: 0; background: #fff; box-shadow: 10px 0 0 #fff; }
body .wh-sample__body { flex: 1; min-width: 0; }
body .wh-sample__kicker { display: block; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--wh-berry); }
body .wh-sample__title { display: block; margin-top: 2px; font-size: 16px; line-height: 1.3; font-weight: 600; color: var(--wh-ink); }
body .wh-sample__bar { display: none; margin-top: 10px; height: 6px; border-radius: 3px; background: rgba(142, 51, 87, .15); cursor: pointer; overflow: hidden; }
body .wh-sample__bar i { display: block; width: 0; height: 100%; background: var(--wh-berry); border-radius: 3px; }
body .wh-sample__time { display: none; flex: none; font-size: 14px; color: var(--wh-muted); font-variant-numeric: tabular-nums; }
body .wh-sample.is-ready .wh-sample__bar, body .wh-sample.is-ready .wh-sample__time { display: block; }
body .wh-sample audio { width: 100%; }
body .wh-sample.is-ready audio { display: none; }
body .wh-woo-product .llsr-produkt-hinweis { margin: -12px 0 16px !important; font-size: 14px; color: var(--wh-muted); }
body .et_pb_section_0_tb_body .wh-woo-product { padding-top: clamp(24px, 3vw, 48px); }
body .wh-woo-product .woocommerce-breadcrumb { font-size: 14px !important; color: var(--wh-muted) !important; margin-bottom: 24px !important; }
body .wh-woo-product .woocommerce-breadcrumb a { color: var(--wh-muted) !important; }
body .wh-woo-product .et_pb_wc_title h1 { font-family: var(--wh-font) !important; font-size: clamp(34px, 3.6vw, 54px) !important; line-height: .95 !important; font-weight: 800 !important; font-stretch: 72%; text-transform: uppercase; color: var(--wh-ink) !important; margin: 0 0 18px !important; padding: 0 !important; hyphens: auto; }
body .wh-woo-product .price { color: var(--wh-ink) !important; font-size: 30px !important; font-weight: 700 !important; }
body .wh-woo-product .price .llsr-preis-zusatz { display: block; font-size: 14px; font-weight: 500; color: var(--wh-muted); margin-top: 4px; }
body .wh-woo-product .woocommerce-product-details__short-description :is(h2, h3, h4), body .wh-woo-product .et_pb_wc_description :is(h2, h3, h4) { font-family: var(--wh-font) !important; font-size: 20px !important; font-weight: 700 !important; color: var(--wh-ink) !important; padding: 0 !important; margin: 0 0 8px !important; }
body .wh-woo-product .et_pb_wc_description p { font-size: 18px; line-height: 1.55; color: var(--wh-ink-2); padding-bottom: 0; margin-bottom: 12px; }
body .wh-woo-product--details .woocommerce-Tabs-panel :is(h2, h3) { font-family: var(--wh-font) !important; font-weight: 800 !important; font-stretch: 72%; text-transform: uppercase; color: var(--wh-ink) !important; font-size: 28px !important; line-height: 1 !important; margin: 1.6em 0 .5em !important; padding: 0 !important; }
body .wh-woo-product--details .woocommerce-Tabs-panel :is(ul, ol) { padding-left: 1.3em !important; margin-bottom: 1em !important; }
body .wh-woo-product--details .woocommerce-Tabs-panel li { margin-bottom: 6px; }
body .wh-woo-product--details .et_pb_wc_tabs { border: 0 !important; background: transparent !important; }
body .wh-woo-product--details .et_pb_tabs_controls { display: none !important; }
body .wh-woo-product--details .et_pb_tab { padding: 0 !important; background: transparent !important; }
body :is(ul.wh-checks, ol.wh-steps, ol.wh-checkout-steps, ul.wh-404__links, .wh-prose ul, .wh-woo-product .woocommerce-product-details__short-description ul, .wh-woo-product .et_pb_wc_description ul) { list-style: none !important; padding-left: 0 !important; }
body :is(ul.wh-checks, ol.wh-steps, ol.wh-checkout-steps, ul.wh-404__links, .wh-prose ul, .wh-woo-product .woocommerce-product-details__short-description ul, .wh-woo-product .et_pb_wc_description ul) > li { list-style: none !important; }
body :is(ul.wh-checks, ol.wh-steps, ol.wh-checkout-steps, ul.wh-404__links, .wh-prose ul) > li::marker { content: ""; }
body .wh-woo-product--details :is(.woocommerce-Tabs-panel, .et_pb_tab_content) :is(h2, h3) { font-family: var(--wh-font) !important; font-weight: 800 !important; font-stretch: 72%; text-transform: uppercase; color: var(--wh-ink) !important; font-size: 28px !important; line-height: 1 !important; margin: 1.6em 0 .5em !important; padding: 0 !important; }
body .wh-woo-product--details .et_pb_tab_content :is(p, li) { font-size: 18px; line-height: 1.6; color: var(--wh-ink-2); }
body .wh-woo-product .et_pb_wc_description li { position: relative; padding-left: 26px; font-size: 17px; }
body .wh-woo-product .et_pb_wc_description li + li { margin-top: 6px; }
body .wh-woo-product .et_pb_wc_description li::before { content: ""; position: absolute; left: 4px; top: .6em; width: 8px; height: 8px; border-radius: 50%; background: var(--wh-olive); }
body .wh-woo-product .price { margin-bottom: 6px !important; }
body .wh-woo-product--details :is(.et_pb_all_tabs, .et_pb_tab, .et_pb_tab_content) { background: transparent !important; }
body .wh-woo-product--details .et_pb_tab_content ol { padding-left: 1.3em !important; }
body .wh-woo-product--details .et_pb_tab_content ol li { margin-bottom: 10px; }
body #et-boc { --gcid-heading-color: var(--wh-ink); }
body #et-boc .wh :is(.wh-h1, .wh-h2) { line-height: .95; }
body #et-boc .wh :is(.wh-h3, .wh-h4) { line-height: 1.15; }
body :is(.wh-header, .wh-footer, .wh-chip, .wh-btn--outline, .wh-btn--light, .wh-404__links a) { --gcid-link-color: var(--wh-ink); }
body :is(.wh-btn--dark, .wh-btn--berry, .wh-header__nav-cta) { --gcid-link-color: var(--wh-white); }
body .wh-breadcrumb a, body .woocommerce-breadcrumb a { --gcid-link-color: var(--wh-muted); }
body :is(.wh-section--dark, .wh-offer--featured) { --gcid-heading-color: var(--wh-white); }
body .wh-buyinfo { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--wh-line); font-size: 16px; color: var(--wh-ink-2); }

/* Formulare und Blogliste */
body .wh-form, body .wh-divi-form { font-family: var(--wh-font); color: var(--wh-ink); }
body .wh-form { max-width: 820px; background: var(--wh-soft); border-radius: var(--wh-r-m); padding: clamp(24px, 4vw, 48px); }
body .wh-form .wpcf7-form > p, body .wh-form .wpcf7-form > div { margin: 0 0 18px; }
body .wh-form label { display: block; font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--wh-ink); }
body .wh-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], input[type="url"], select, textarea),
body .wh-divi-form :is(input.input, textarea.input, select) {
  display: block; width: 100% !important; margin-top: 6px; font-family: var(--wh-font) !important; font-size: 16px !important; color: var(--wh-ink) !important;
  background: var(--wh-white) !important; border: 1px solid var(--wh-line-2) !important; border-radius: var(--wh-r-s) !important;
  padding: 12px 14px !important; min-height: 48px; box-shadow: none !important;
}
body .wh-form textarea, body .wh-divi-form textarea.input { min-height: 160px; resize: vertical; }
body .wh-form :is(input, select, textarea):focus, body .wh-divi-form :is(input, textarea, select):focus { border-color: var(--wh-ink) !important; outline: 2px solid var(--wh-olive-soft); }
body .wh-form .wpcf7-list-item { display: block; margin: 8px 0 0; }
body .wh-form .wpcf7-list-item label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
body .wh-form :is(input[type="checkbox"], input[type="radio"]), body .wh-divi-form input[type="checkbox"] { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--wh-berry); flex: none; }
body .wh-form .wpcf7-submit, body .wh-divi-form .et_pb_contact_submit {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 28px !important;
  font-family: var(--wh-font) !important; font-size: 17px !important; font-weight: 600 !important; letter-spacing: normal !important; text-transform: none !important;
  background: var(--wh-berry) !important; color: var(--wh-white) !important; border: 0 !important; border-radius: var(--wh-r-s) !important; cursor: pointer;
}
body .wh-form .wpcf7-submit:hover, body .wh-divi-form .et_pb_contact_submit:hover { background: var(--wh-berry-dark) !important; }
body .wh-divi-form .et_pb_contact_submit::after { display: none !important; }
body .wh-form .wpcf7-not-valid-tip { font-size: 14px; color: var(--wh-berry-dark); margin-top: 4px; }
body .wh-form .wpcf7-response-output { margin: 20px 0 0 !important; padding: 14px 18px !important; border: 0 !important; border-radius: var(--wh-r-s); background: var(--wh-olive-soft); color: var(--wh-olive-ink); font-size: 15px; }
body .wh-form .wpcf7-form.invalid .wpcf7-response-output, body .wh-form .wpcf7-form.failed .wpcf7-response-output { background: #f6e4ea; color: var(--wh-berry-dark); }

body .wh-divi-form .et_pb_contact_form_container { max-width: 820px; background: var(--wh-soft); border-radius: var(--wh-r-m); padding: clamp(24px, 4vw, 48px); }
body .wh-divi-form .et_pb_contact_main_title { font-family: var(--wh-font); font-size: 26px; font-weight: 800; font-stretch: 72%; text-transform: uppercase; margin-bottom: 20px; }
body .wh-divi-form .et_pb_contact_field { margin-bottom: 16px !important; }
body .wh-divi-form .et_pb_contact_field label.et_pb_contact_form_label { display: block !important; position: static !important; clip: auto !important; width: auto !important; height: auto !important; font-size: 15px; font-weight: 600; }
body .wh-divi-form .et_contact_bottom_container { float: none; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 8px; }
body .wh-divi-form .et-pb-contact-message { font-size: 16px; padding: 14px 18px; border-radius: var(--wh-r-s); background: var(--wh-olive-soft); color: var(--wh-olive-ink); margin-bottom: 18px; }

body .wh-bloglist .et_pb_blog_grid .column { width: auto !important; margin: 0 !important; float: none !important; }
body .wh-bloglist .et_pb_blog_grid .et_pb_salvattore_content,
body .wh-bloglist .et_pb_blog_grid > div:not(.et_pb_ajax_pagination_container) { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 16px; }
body .wh-bloglist .et_pb_post { border: 0 !important; padding: 0 !important; margin: 0 !important; background: transparent !important; font-family: var(--wh-font); }
body .wh-bloglist .et_pb_post .et_pb_image_container { margin: 0 0 16px !important; }
body .wh-bloglist .et_pb_post .et_pb_image_container img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--wh-r-m); }
body .wh-bloglist .et_pb_post .entry-title { font-family: var(--wh-font); font-size: 22px !important; line-height: 1.2 !important; font-weight: 700; padding: 0 0 8px; }
body .wh-bloglist .et_pb_post .entry-title a { color: var(--wh-ink); }
body .wh-bloglist .et_pb_post .entry-title a:hover { color: var(--wh-berry); }
body .wh-bloglist .et_pb_post .post-meta { font-size: 13px; letter-spacing: .04em; color: var(--wh-muted); margin-bottom: 10px; }
body .wh-bloglist .et_pb_post .post-meta a { color: var(--wh-berry); }
body .wh-bloglist .et_pb_post .post-content { font-size: 16px; color: var(--wh-ink-2); }
body .wh-bloglist .et_pb_post .more-link { display: inline-block; margin-top: 10px; font-weight: 600; color: var(--wh-berry); }
body .wh-bloglist .et_overlay { display: none !important; }
body .wh-bloglist .wp-pagenavi, body .wh-bloglist .pagination { font-family: var(--wh-font); margin-top: 40px; }

/* Linkbaum */
body .wh-lt {
  width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
  min-height: 100vh; background: var(--wh-ink); color: var(--wh-white); padding: 0 0 48px;
}
body .wh-lt__inner { max-width: 560px; margin: 0 auto; padding: 0 18px; }
body .wh-lt__hero { position: relative; margin: 0 -18px; height: 360px; overflow: hidden; }
body .wh-lt__hero img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
body .wh-lt__hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(31,26,28,0) 35%, var(--wh-ink) 100%); }
body .wh-lt__logo { position: relative; z-index: 1; margin: -72px auto 0; width: 132px; height: 132px; border-radius: 50%; background: var(--wh-white); display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 6px var(--wh-ink); }
body .wh-lt__logo img { width: 112px; height: auto; }
body .wh-lt__name { margin-top: 20px; text-align: center; font-size: 44px; line-height: .9; font-weight: 800; font-stretch: 72%; text-transform: uppercase; }
body .wh-lt__tag { margin-top: 12px; text-align: center; font-size: 17px; color: var(--wh-on-dark-muted); }
body .wh-lt__social { display: flex; justify-content: center; gap: 10px; margin-top: 22px; }
body .wh-lt__social a { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,.28); display: inline-flex; align-items: center; justify-content: center; color: var(--wh-white); }
body .wh-lt__social a:hover { background: var(--wh-white); color: var(--wh-ink); }
body .wh-lt__social svg { width: 20px; height: 20px; }
body .wh-lt__label { margin: 40px 0 14px; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--wh-star); }
body .wh-lt__links { display: flex; flex-direction: column; gap: 10px; margin-top: 32px; }
body .wh-lt__link {
  display: flex; align-items: center; gap: 16px; min-height: 64px; padding: 14px 18px 14px 20px;
  border-radius: 16px; background: var(--wh-dark-card); color: var(--wh-white); text-decoration: none;
  transition: background-color .18s ease, transform .18s ease;
}
body .wh-lt__link:hover { background: #3a3135; color: var(--wh-white); transform: translateY(-1px); }
body .wh-lt__link--primary { background: var(--wh-white); color: var(--wh-ink); }
body .wh-lt__link--primary:hover { background: var(--wh-olive-soft); color: var(--wh-ink); }
body .wh-lt__link span { flex: 1; min-width: 0; }
body .wh-lt__link strong { display: block; font-size: 17px; font-weight: 600; line-height: 1.25; }
body .wh-lt__link small { display: block; margin-top: 2px; font-size: 14px; opacity: .72; }
body .wh-lt__link::after { content: ""; flex: none; width: 18px; height: 18px; background: currentColor; opacity: .7;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; }
body .wh-lt__feature { display: flex; gap: 18px; align-items: center; padding: 14px; border-radius: 20px; background: var(--wh-berry); color: var(--wh-white); text-decoration: none; }
body .wh-lt__feature:hover { background: var(--wh-berry-dark); color: var(--wh-white); }
body .wh-lt__feature img { flex: none; width: 104px; height: 130px; object-fit: cover; border-radius: 12px; }
body .wh-lt__feature em { display: inline-block; font-style: normal; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; background: rgba(255,255,255,.18); padding: 4px 10px; border-radius: 999px; }
body .wh-lt__feature strong { display: block; margin-top: 10px; font-size: 22px; line-height: 1.05; font-weight: 800; font-stretch: 72%; text-transform: uppercase; }
body .wh-lt__feature small { display: block; margin-top: 6px; font-size: 14px; opacity: .85; }
body .wh-lt__sub { display: block; margin-top: 10px; text-align: center; font-size: 15px; color: var(--wh-on-dark-muted); }
body .wh-lt__sub:hover { color: var(--wh-white); }
body .wh-lt__books { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 18px; margin: 0 -18px; padding: 0 18px 8px; scrollbar-width: none; }
body .wh-lt__books::-webkit-scrollbar { display: none; }
body .wh-lt__book { flex: 0 0 150px; scroll-snap-align: start; color: var(--wh-white); text-decoration: none; }
body .wh-lt__book img { width: 150px; height: 220px; object-fit: cover; border-radius: 12px; background: var(--wh-dark-card); transition: transform .2s ease; }
body .wh-lt__book:hover img { transform: translateY(-3px); }
body .wh-lt__book strong { display: block; margin-top: 10px; font-size: 15px; font-weight: 600; line-height: 1.25; }
body .wh-lt__book small { display: block; margin-top: 2px; font-size: 13px; color: var(--wh-on-dark-muted); }
body .wh-lt__ad { display: inline-block; font-style: normal; margin-left: 6px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: 2px 7px; border-radius: 6px; border: 1px solid currentColor; opacity: .7; vertical-align: 2px; }
body .wh-lt__legal { margin-top: 44px; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; font-size: 13px; }
body .wh-lt__legal a { color: var(--wh-on-dark-muted); }
body .wh-lt__note { margin-top: 10px; text-align: center; font-size: 12px; color: var(--wh-on-dark-muted); }
@media (min-width: 700px) { body .wh-lt__hero { margin: 0; height: 420px; border-radius: 0 0 28px 28px; } }

/* Rechtsseiten */
body .wh-legalnav { padding-top: clamp(32px, 4vw, 56px); padding-bottom: 0; }
body .wh-legalnav .wh-breadcrumb { margin-bottom: 18px; }
body .wh-legalnav .wh-chips--outline { margin-top: 0; }
body .wh-legalnav .wh-h1 { margin-bottom: 28px; }
body .wh-legalnav.wh-pagehero { border-bottom: 0; padding-bottom: 0; }
body .wh-legal {
  width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
  padding: 40px var(--wh-gutter) var(--wh-space) !important; background: var(--wh-white);
  font-family: var(--wh-font); color: var(--wh-ink-2); font-size: 17px; line-height: 1.65; box-sizing: border-box;
}
body .wh-legal * { box-sizing: border-box; }
body .wh-legal :is(h1, h2, h3, h4, h5, p, li, td) { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere; }
body .wh-legal .et_pb_row { width: 100% !important; max-width: var(--wh-max-text) !important; margin: 0 auto !important; padding: 0 !important; }
body .wh-legal :is(.et_pb_text_inner, .erecht24-legal-texts) { max-width: var(--wh-max-text); margin: 0 auto; }
body .wh-legal :is(p, li) { font-family: var(--wh-font) !important; font-size: 17px !important; line-height: 1.65 !important; color: var(--wh-ink-2) !important; }
body .wh-legal p { margin: 0 0 1em !important; padding: 0 !important; }
body .wh-legal :is(h1, h2, h3, h4, h5) { font-family: var(--wh-font) !important; color: var(--wh-ink) !important; letter-spacing: normal !important; padding: 0 !important; }
body .wh-legal h1 { font-size: clamp(40px, 5.6vw, 80px) !important; line-height: .92 !important; font-weight: 800 !important; font-stretch: 72%; text-transform: uppercase; margin: 8px 0 36px !important; hyphens: auto; overflow-wrap: anywhere; }
body .wh-legal h2 { font-size: 28px !important; line-height: 1.05 !important; font-weight: 800 !important; font-stretch: 72%; text-transform: uppercase; margin: 2.2em 0 .6em !important; padding-top: 1.2em !important; border-top: 1px solid var(--wh-line); }
body .wh-legal h3 { font-size: 21px !important; line-height: 1.25 !important; font-weight: 700 !important; margin: 1.8em 0 .5em !important; }
body .wh-legal :is(h4, h5) { font-size: 18px !important; line-height: 1.3 !important; font-weight: 700 !important; margin: 1.4em 0 .4em !important; }
body .wh-legal :is(ul, ol) { margin: 0 0 1em !important; padding-left: 1.4em !important; }
body .wh-legal ul { list-style: disc !important; }
body .wh-legal ol { list-style: decimal !important; }
body .wh-legal li { margin: 0 0 .4em; padding: 0 !important; }
body .wh-legal a { color: var(--wh-berry) !important; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
body .wh-legal a:hover { color: var(--wh-berry-dark) !important; }
body .wh-legal strong { color: var(--wh-ink); font-weight: 600; }
body .wh-legal table { width: 100%; border-collapse: collapse; margin: 0 0 1.2em; font-size: 16px; }
body .wh-legal :is(th, td) { border: 1px solid var(--wh-line); padding: 10px 12px; text-align: left; vertical-align: top; }

body .wh-legal form { max-width: 640px; background: var(--wh-soft); border-radius: var(--wh-r-m); padding: clamp(24px, 4vw, 40px); margin-top: 24px; }
body .wh-legal form label { display: block; font-size: 15px; font-weight: 600; color: var(--wh-ink); margin: 0 0 6px; }
body .wh-legal form label span { font-weight: 400; color: var(--wh-muted); }
body .wh-legal form p { margin: 0 0 18px !important; }
body .wh-legal .llsr-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
body .wh-legal form :is(input[type="text"], input[type="email"], textarea) { display: block; width: 100% !important; margin-top: 6px; font-family: var(--wh-font) !important; font-size: 16px !important; color: var(--wh-ink) !important; background: var(--wh-white) !important; border: 1px solid var(--wh-line-2) !important; border-radius: var(--wh-r-s) !important; padding: 12px 14px !important; min-height: 48px; box-shadow: none !important; }
body .wh-legal form :is(input, textarea):focus { border-color: var(--wh-ink) !important; outline: 2px solid var(--wh-olive-soft); }
body .wh-legal form :is(button, input[type="submit"]), body .wh-legal .llsr-widerruf-bestaetigen {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 28px !important;
  font-family: var(--wh-font) !important; font-size: 17px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: normal !important;
  background: var(--wh-berry) !important; color: var(--wh-white) !important; border: 0 !important; border-radius: var(--wh-r-s) !important; cursor: pointer;
}
body .wh-legal form :is(button, input[type="submit"]):hover { background: var(--wh-berry-dark) !important; }
@media (max-width: 700px) { body .wh-legal h2 { font-size: 24px !important; } }

/* Fehlerseite 404 */
body .wh-404 { padding-top: clamp(48px, 7vw, 112px); }
body .wh-404__grid { display: flex; flex-wrap: wrap; gap: 40px 64px; align-items: center; }
body .wh-404__grid > :first-child { flex: 1.3 1 480px; min-width: 0; }
body .wh-404__grid > :last-child { flex: 1 1 320px; min-width: 0; }
body .wh-404__code { font-size: clamp(110px, 18vw, 260px); line-height: .8; font-weight: 800; font-stretch: 62%; color: var(--wh-olive-soft); letter-spacing: -0.02em; margin-bottom: 12px; -webkit-text-stroke: 2px var(--wh-olive); }
body .wh-404 .wh-lead { margin-top: 20px; max-width: 520px; }
body .wh-404__links { display: flex; flex-direction: column; gap: 12px; margin-top: 8px; }

/* Breakpoints */
@media (max-width: 1080px) {
  body .wh-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .wh-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .wh-header__nav { gap: 4px 20px; font-size: 15px; }
}
@media (max-width: 980px) {
  body .wh-header__bar { flex-wrap: wrap; }
  body .wh-header__burger { display: inline-flex; }
  body .wh-header__nav {
    display: none; order: 3; width: 100%; flex-direction: column; align-items: stretch; gap: 0;
    padding: 8px 0 12px; border-top: 1px solid var(--wh-line); font-size: 19px;
  }
  body .wh-header__nav a { padding: 14px 0; border-bottom: 1px solid var(--wh-line); }
  body .wh-header__nav a:hover, body .wh-header__nav a[aria-current="page"] { border-bottom-color: var(--wh-line); color: var(--wh-berry); }
  body .wh-header__toggle:checked ~ .wh-header__bar .wh-header__nav { display: flex; }
  body .wh-header__toggle:checked ~ .wh-header__bar .wh-header__burger span { background: transparent; }
  body .wh-header__toggle:checked ~ .wh-header__bar .wh-header__burger span::before { transform: translateY(6px) rotate(45deg); }
  body .wh-header__toggle:checked ~ .wh-header__bar .wh-header__burger span::after { transform: translateY(-6px) rotate(-45deg); }
  body .wh-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body :is(.wh-shoparea, .wh-woo-product, .wh-shopflow) ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .wh-bloglist .et_pb_blog_grid .et_pb_salvattore_content,
  body .wh-bloglist .et_pb_blog_grid > div:not(.et_pb_ajax_pagination_container) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .wh-shopflow--checkout #order_review, body .wh-shopflow--cart .cart-collaterals { margin-top: 32px; }
  body .wh-tile--photo { grid-row: auto; grid-column: 1 / -1; min-height: 420px; }
}
@media (max-width: 700px) {
  body :where(.wh) { font-size: 17px; }
  body .wh-grid--2, body .wh-grid--3, body .wh-grid--4, body .wh-tiles { grid-template-columns: minmax(0, 1fr); }
  body .wh-tile { min-height: 200px; }
  body :is(.wh-shoparea, .wh-woo-product, .wh-shopflow) ul.products { grid-template-columns: minmax(0, 1fr); }
  body .wh-bloglist .et_pb_blog_grid .et_pb_salvattore_content,
  body .wh-bloglist .et_pb_blog_grid > div:not(.et_pb_ajax_pagination_container) { grid-template-columns: minmax(0, 1fr); }
  body .wh-shopflow--checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
  body .wh-shopflow--cart table.cart td.actions .coupon .input-text { width: 100% !important; }
  body .wh-shopflow--cart table.cart td.actions .coupon .button { width: 100%; }
  body .wh-header__logo img { height: 44px; }
  body .wh-header__actions .wh-btn { display: none; }
  body .wh-header__nav .wh-header__nav-cta { display: flex; margin-top: 14px; border-bottom: 0; color: var(--wh-white); }
  body .wh-hero__media .wh-chips { display: none; }
  body .wh-hero__media video { object-position: 38% center; }
  body .wh-split__img { min-height: 320px; }
  body .wh-footer__cta-btns { align-self: stretch; width: 100%; }
  body .wh-stat { padding: 24px 0; border-top: 1px solid var(--wh-line); }
}
@media (min-width: 701px) {
  body .wh-header__nav .wh-header__nav-cta { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  body .wh *, body .wh-header *, body .wh-footer * { transition: none !important; }
}
