:root {
  --shop-ink: #10271f;
  --shop-forest: #123c2c;
  --shop-green: #1f7a50;
  --shop-mint: #b9e3c6;
  --shop-lime: #dcef79;
  --shop-paper: #fbfaf6;
  --shop-sand: #f4f1e8;
  --shop-white: #fff;
  --shop-muted: #5b6a64;
  --shop-line: rgba(16, 39, 31, .15);
  --shop-max: 1480px;
}

html { scroll-behavior: smooth; }
body.ecoabi-shop-page { margin: 0; overflow-x: hidden; background: var(--shop-paper); }
body.ecoabi-shop-page.eco-shop-menu-open { overflow: hidden; }

.ecoabi-shop-page {
  color: var(--shop-ink);
  background: var(--shop-paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

.ecoabi-shop-page *,
.ecoabi-shop-page *::before,
.ecoabi-shop-page *::after { box-sizing: border-box; }
.ecoabi-shop-page img { display: block; max-width: 100%; }
.ecoabi-shop-page a { color: inherit; }
.ecoabi-shop-page :focus-visible { outline: 3px solid var(--shop-lime); outline-offset: 4px; }
.eco-shop-shell { width: min(calc(100% - clamp(36px, 6vw, 112px)), var(--shop-max)); margin-inline: auto; }

.eco-shop-skip { position: fixed; z-index: 9999; top: 10px; left: 10px; padding: 10px 14px; border-radius: 12px; background: var(--shop-ink); color: #fff !important; transform: translateY(-150%); }
.eco-shop-skip:focus { transform: translateY(0); }

/* Header */
.eco-shop-header { position: relative; z-index: 100; border-bottom: 1px solid var(--shop-line); background: rgba(251, 250, 246, .96); backdrop-filter: blur(18px); }
.eco-shop-header.is-sticky { position: sticky; top: var(--wp-admin--admin-bar--height, 0); box-shadow: 0 12px 34px rgba(16, 39, 31, .08); }
.eco-shop-nav { display: grid; grid-template-columns: auto 1fr auto; align-items: center; min-height: 90px; gap: 36px; }
.eco-shop-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--shop-ink) !important; text-decoration: none !important; }
.eco-shop-brand img { width: 46px; height: 46px; object-fit: contain; border-radius: 13px; }
.eco-shop-brand span { display: flex; flex-direction: column; line-height: 1; }
.eco-shop-brand strong { font-size: 1.18rem; font-weight: 850; letter-spacing: -.04em; }
.eco-shop-brand small { margin-top: 5px; color: var(--shop-green); font-size: .58rem; font-weight: 850; letter-spacing: .2em; }
.eco-shop-nav__links { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.1vw, 36px); }
.eco-shop-nav__links a { position: relative; color: #2e443b; font-size: .86rem; font-weight: 760; text-decoration: none; }
.eco-shop-nav__links a::after { content: ""; position: absolute; right: 0; bottom: -8px; left: 0; height: 2px; background: var(--shop-green); transform: scaleX(0); transform-origin: right; transition: transform .2s ease; }
.eco-shop-nav__links a:hover::after,
.eco-shop-nav__links a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.eco-shop-nav__actions { display: flex; align-items: center; gap: 8px; }
.eco-shop-icon-link { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--shop-line); border-radius: 50%; color: var(--shop-ink) !important; text-decoration: none !important; transition: background .2s ease, transform .2s ease; }
.eco-shop-icon-link:hover { background: var(--shop-mint); transform: translateY(-2px); }
.eco-shop-icon-link svg { width: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.eco-shop-cart-count { position: absolute; top: -5px; right: -5px; display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 99px; background: var(--shop-lime); color: var(--shop-ink); font-size: .62rem; font-weight: 900; }
.eco-shop-menu-button { display: none; width: 46px; height: 46px; padding: 0; border: 1px solid var(--shop-line); border-radius: 50%; background: transparent; }
.eco-shop-menu-button span,
.eco-shop-menu-button span::before,
.eco-shop-menu-button span::after { display: block; width: 18px; height: 2px; margin: auto; background: var(--shop-ink); transition: transform .2s ease, opacity .2s ease; }
.eco-shop-menu-button span { position: relative; }
.eco-shop-menu-button span::before,
.eco-shop-menu-button span::after { content: ""; position: absolute; left: 0; }
.eco-shop-menu-button span::before { top: -6px; }
.eco-shop-menu-button span::after { top: 6px; }
.eco-shop-menu-button[aria-expanded="true"] span { background: transparent; }
.eco-shop-menu-button[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
.eco-shop-menu-button[aria-expanded="true"] span::after { top: 0; transform: rotate(-45deg); }

/* Shared elements */
.eco-shop-kicker { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 20px; color: var(--shop-green); font-size: .72rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.eco-shop-kicker::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.eco-shop-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 13px 23px; border: 1px solid var(--shop-forest); border-radius: 999px; background: var(--shop-forest); color: #fff !important; font-size: .86rem; font-weight: 820; text-decoration: none !important; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.eco-shop-button:hover { border-color: var(--shop-green); background: var(--shop-green); transform: translateY(-2px); }
.eco-shop-button--ghost { background: transparent; color: var(--shop-forest) !important; }
.eco-shop-button--ghost:hover { color: #fff !important; }
.eco-shop-section { padding: clamp(88px, 10vw, 155px) 0; }
.eco-shop-section-head { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); align-items: end; gap: 50px; margin-bottom: 58px; }
.eco-shop-section-head h2,
.eco-shop-selfmade h2,
.eco-shop-drop h2 { margin: 0; color: var(--shop-ink); font-size: clamp(2.8rem, 5vw, 5.8rem); font-weight: 590; line-height: .94; letter-spacing: -.06em; text-wrap: balance; }
.eco-shop-section-head > p { max-width: 540px; margin: 0; color: var(--shop-muted); font-size: 1.08rem; line-height: 1.65; }
[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

/* Hero */
.eco-shop-hero { position: relative; overflow: hidden; padding: clamp(68px, 7vw, 118px) 0 clamp(80px, 8vw, 130px); }
.eco-shop-hero::before { content: ""; position: absolute; bottom: -220px; left: -230px; width: 430px; aspect-ratio: 1; border: 78px solid rgba(185, 227, 198, .18); border-radius: 50%; pointer-events: none; }
.eco-shop-hero::after { content: ""; position: absolute; top: -190px; right: -150px; width: 500px; aspect-ratio: 1; border: 88px solid rgba(185, 227, 198, .28); border-radius: 50%; pointer-events: none; }
.eco-shop-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(480px, .97fr); align-items: center; gap: clamp(56px, 7vw, 130px); }
.eco-shop-hero h1 { max-width: 840px; margin: 0; color: var(--shop-ink); font-size: clamp(3.7rem, 6.5vw, 7.5rem); font-weight: 660; line-height: .88; letter-spacing: -.072em; text-wrap: balance; }
.eco-shop-hero h1 em { display: block; color: var(--shop-green); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.eco-shop-lead { max-width: 660px; margin: 32px 0 0; color: #3d5149; font-size: clamp(1.05rem, 1.4vw, 1.3rem); line-height: 1.65; }
.eco-shop-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.eco-shop-mini-trust { display: flex; flex-wrap: wrap; gap: 12px 26px; margin-top: 34px; color: var(--shop-muted); font-size: .75rem; font-weight: 740; }
.eco-shop-mini-trust span { display: inline-flex; align-items: center; gap: 8px; }
.eco-shop-mini-trust span::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--shop-lime); box-shadow: 0 0 0 4px rgba(220, 239, 121, .25); }
.eco-shop-hero__visual { position: relative; min-height: 640px; }
.eco-shop-stage { position: absolute; display: block; overflow: hidden; color: var(--shop-ink) !important; text-decoration: none !important; box-shadow: 0 30px 80px rgba(16, 39, 31, .14); }
.eco-shop-stage--main { inset: 0 16% 0 0; border-radius: 42px 42px 140px 42px; background: linear-gradient(145deg, #e7f2e9, #cfe7d6); }
.eco-shop-stage--main .eco-shop-stage__image { width: 100%; height: 78%; padding: clamp(36px, 5vw, 74px); object-fit: contain; transition: transform .45s ease; }
.eco-shop-stage--main:hover .eco-shop-stage__image { transform: scale(1.045) rotate(-1deg); }
.eco-shop-stage--side { right: 0; bottom: 26px; width: 39%; height: 46%; border: 10px solid var(--shop-paper); border-radius: 30px 30px 82px 30px; background: #fff; }
.eco-shop-stage--side .eco-shop-stage__image { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.eco-shop-stage--side:hover .eco-shop-stage__image { transform: scale(1.05); }
.eco-shop-stage__tag { position: absolute; z-index: 2; top: 24px; left: 24px; padding: 8px 12px; border-radius: 999px; background: var(--shop-lime); font-size: .64rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.eco-shop-stage__caption { position: absolute; z-index: 2; left: 24px; bottom: 24px; display: flex; flex-direction: column; max-width: calc(100% - 48px); padding: 14px 18px; border-radius: 18px; background: rgba(251, 250, 246, .93); backdrop-filter: blur(10px); }
.eco-shop-stage__caption strong { overflow: hidden; font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }
.eco-shop-stage__caption small { margin-top: 3px; color: var(--shop-green); font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.eco-shop-stage--placeholder { display: grid; place-items: center; }
.eco-shop-stage--placeholder > span { color: var(--shop-green); font-size: clamp(2.2rem, 4vw, 4.4rem); font-weight: 650; line-height: .95; letter-spacing: -.055em; text-align: center; }

/* Moving band */
.eco-shop-marquee { overflow: hidden; background: var(--shop-forest); color: var(--shop-lime); white-space: nowrap; }
.eco-shop-marquee__track { display: flex; width: max-content; animation: ecoShopMarquee 34s linear infinite; }
.eco-shop-marquee__set { display: flex; }
.eco-shop-marquee span { display: inline-flex; align-items: center; padding: 19px 29px; font-size: .7rem; font-weight: 880; letter-spacing: .17em; }
.eco-shop-marquee span::after { content: "✦"; margin-left: 58px; }
@keyframes ecoShopMarquee { to { transform: translateX(-50%); } }

/* Product grid */
.eco-shop-products { background: #eaf3ec; }
.eco-shop-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.eco-shop-product-card { overflow: hidden; border: 1px solid rgba(16, 39, 31, .1); border-radius: 28px 28px 70px 28px; background: #fff; box-shadow: 0 18px 45px rgba(16, 39, 31, .07); transition: transform .25s ease, box-shadow .25s ease; }
.eco-shop-product-card:hover { transform: translateY(-8px); box-shadow: 0 28px 64px rgba(16, 39, 31, .13); }
.eco-shop-product-card__image { position: relative; display: grid; place-items: center; overflow: hidden; aspect-ratio: 1; background: var(--shop-sand); }
.eco-shop-product-card__image::after,
.eco-shop-product-gallery::after {
  content: "";
  position: absolute;
  z-index: 7;
  top: 16px;
  right: 16px;
  width: 54px;
  aspect-ratio: 1;
  border: 1px solid rgba(16,39,31,.1);
  border-radius: 15px;
  background: rgba(255,255,255,.92) url("https://ecoabi.de/wp-content/uploads/2026/08/EcoAbi-Logo-Transparent.png") center / 78% auto no-repeat;
  box-shadow: 0 10px 26px rgba(16,39,31,.1);
  backdrop-filter: blur(8px);
  pointer-events: none;
}
.eco-shop-product-card__img { width: 100%; height: 100%; padding: 30px; object-fit: contain; transition: transform .4s ease; }
.eco-shop-product-card:hover .eco-shop-product-card__img { transform: scale(1.055); }
.eco-shop-image-placeholder { display: grid; place-items: center; width: 100%; height: 100%; color: var(--shop-green); font-weight: 850; }
.eco-shop-sale { position: absolute; z-index: 2; top: 16px; left: 16px; padding: 7px 11px; border-radius: 999px; background: var(--shop-lime); color: var(--shop-ink); font-size: .61rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.eco-shop-product-card__body { padding: 22px 22px 26px; }
.eco-shop-product-card__category { margin: 0 0 7px; color: var(--shop-green); font-size: .62rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.eco-shop-product-card h3 { margin: 0; color: var(--shop-ink); font-size: 1.16rem; font-weight: 780; line-height: 1.25; letter-spacing: -.025em; }
.eco-shop-product-card h3 a { text-decoration: none; }
.eco-shop-product-card__bottom { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 20px; }
.eco-shop-product-card__price { color: var(--shop-green); font-size: 1rem; font-weight: 850; }
.eco-shop-product-card__price del { margin-right: 5px; color: #84918c; font-size: .78rem; font-weight: 500; }
.eco-shop-product-card__price ins { text-decoration: none; }
.eco-shop-product-card__arrow { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--shop-line); border-radius: 50%; color: var(--shop-ink) !important; font-weight: 850; text-decoration: none !important; transition: background .2s ease, transform .2s ease; }
.eco-shop-product-card:hover .eco-shop-product-card__arrow { background: var(--shop-lime); transform: rotate(8deg); }
.eco-shop-center { text-align: center; }
.eco-shop-textlink { display: inline-flex; gap: 12px; margin-top: 38px; padding-bottom: 5px; border-bottom: 1px solid currentColor; color: var(--shop-green) !important; font-weight: 820; text-decoration: none !important; }
.eco-shop-empty { padding: clamp(40px, 7vw, 90px); border: 1px solid var(--shop-line); border-radius: 36px 36px 100px 36px; background: #fff; text-align: center; }
.eco-shop-empty h3 { margin: 0; font-size: clamp(2rem, 4vw, 4rem); letter-spacing: -.05em; }

/* Category worlds */
.eco-shop-worlds { background: var(--shop-paper); }
.eco-shop-world-grid { display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: 1fr 1fr; gap: 20px; }
.eco-shop-world { position: relative; display: flex; overflow: hidden; min-height: 290px; padding: 34px; border-radius: 32px; color: var(--shop-ink) !important; text-decoration: none !important; transition: transform .25s ease; }
.eco-shop-world:hover { transform: translateY(-5px); }
.eco-shop-world.is-coming-soon { cursor: default; }
.eco-shop-world.is-coming-soon:hover { transform: none; }
.eco-shop-world__number { position: absolute; top: 28px; right: 28px; font-size: .7rem; font-weight: 900; }
.eco-shop-world > div { position: relative; z-index: 2; align-self: flex-end; max-width: 64%; }
.eco-shop-world p { margin: 0 0 10px; font-size: .66rem; font-weight: 880; letter-spacing: .13em; text-transform: uppercase; }
.eco-shop-world h3 { margin: 0 0 22px; font-size: clamp(1.8rem, 3.2vw, 3.4rem); font-weight: 590; line-height: 1; letter-spacing: -.05em; }
.eco-shop-world u { font-size: .76rem; font-weight: 820; text-decoration: none; }
.eco-shop-world__status { display: inline-flex; align-items: center; padding: 9px 13px; border: 1px solid rgba(16, 39, 31, .22); border-radius: 999px; background: rgba(255, 255, 255, .58); color: var(--shop-ink); font-size: .68rem; font-weight: 850; }
.eco-shop-world__product { position: absolute; right: -5%; bottom: -13%; width: 56%; height: 91%; object-fit: contain; transform: rotate(7deg); transition: transform .4s ease; }
.eco-shop-world:hover .eco-shop-world__product { transform: rotate(1deg) scale(1.05); }
.eco-shop-world--winter { grid-row: 1 / 3; min-height: 600px; background: #dcefcf; }
.eco-shop-world--summer { background: var(--shop-lime); }
.eco-shop-world--all { background: #dceae5; }

/* Selfmade story */
.eco-shop-selfmade { overflow: hidden; background: var(--shop-forest); color: #fff; }
.eco-shop-selfmade__grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: clamp(55px, 8vw, 140px); }
.eco-shop-selfmade .eco-shop-kicker { color: var(--shop-lime); }
.eco-shop-selfmade h2 { color: #fff; }
.eco-shop-selfmade__copy > p:not(.eco-shop-kicker) { max-width: 720px; color: #c6d5cf; font-size: 1.08rem; line-height: 1.72; }
.eco-shop-orbit { position: relative; display: grid; place-items: center; width: min(100%, 520px); aspect-ratio: 1; border: 1px solid rgba(255, 255, 255, .18); border-radius: 50%; }
.eco-shop-orbit::before,
.eco-shop-orbit::after { content: ""; position: absolute; border: 1px solid rgba(220, 239, 121, .34); border-radius: 50%; }
.eco-shop-orbit::before { inset: 12%; }
.eco-shop-orbit::after { inset: 26%; }
.eco-shop-orbit strong { position: relative; z-index: 2; color: var(--shop-lime); font-size: clamp(2.2rem, 4vw, 4.7rem); font-weight: 600; line-height: .88; letter-spacing: -.06em; text-align: center; }
.eco-shop-orbit > span { position: absolute; z-index: 3; padding: 7px 11px; border-radius: 999px; background: #fff; color: var(--shop-forest); font-size: .58rem; font-weight: 900; letter-spacing: .12em; }
.eco-shop-orbit > span:nth-child(1) { top: 8%; left: 12%; }
.eco-shop-orbit > span:nth-child(2) { top: 46%; right: -2%; }
.eco-shop-orbit > span:nth-child(3) { bottom: 10%; left: 18%; }
.eco-shop-steps { margin-top: 38px; border-top: 1px solid rgba(255, 255, 255, .18); }
.eco-shop-steps > div { display: flex; gap: 24px; padding: 20px 0; border-bottom: 1px solid rgba(255, 255, 255, .18); }
.eco-shop-steps b { color: var(--shop-lime); font-size: .7rem; }
.eco-shop-steps span { display: flex; flex-direction: column; }
.eco-shop-steps strong { font-size: 1rem; }
.eco-shop-steps small { margin-top: 4px; color: #9fb5ad; }

/* Drop + values */
.eco-shop-drop { background: var(--shop-paper); }
.eco-shop-drop__card { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: clamp(45px, 7vw, 90px); border-radius: 46px 46px 140px 46px; background: var(--shop-lime); }
.eco-shop-drop h2 { max-width: 880px; }
.eco-shop-drop__card > div > p:last-child { max-width: 650px; color: #405447; }
.eco-shop-values { padding: 20px 0 110px; }
.eco-shop-values__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--shop-line); border-bottom: 1px solid var(--shop-line); }
.eco-shop-values article { padding: 40px; }
.eco-shop-values article + article { border-left: 1px solid var(--shop-line); }
.eco-shop-values b { color: var(--shop-green); font-size: .66rem; letter-spacing: .1em; }
.eco-shop-values h3 { margin: 18px 0 8px; font-size: 1.24rem; letter-spacing: -.025em; }
.eco-shop-values p { margin: 0; color: var(--shop-muted); }

/* Footer */
.eco-shop-footer { padding: clamp(70px, 9vw, 120px) 0 26px; background: var(--shop-ink); color: #d7e3de; }
.eco-shop-footer__grid { display: grid; grid-template-columns: 1.5fr repeat(3, .75fr); gap: clamp(42px, 7vw, 100px); }
.eco-shop-brand--footer { color: #fff !important; }
.eco-shop-brand--footer img { width: 68px; height: 68px; border-radius: 0; object-fit: contain; }
.eco-shop-brand--footer strong { color: #fff; }
.eco-shop-brand--footer small { color: var(--shop-lime); }
.eco-shop-footer__brand > p { max-width: 440px; margin: 28px 0 0; color: #9fb4ab; font-size: 1.03rem; line-height: 1.75; }
.eco-shop-footer h2 { margin: 0 0 23px; color: var(--shop-lime); font-size: .67rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.eco-shop-footer nav { display: flex; flex-direction: column; gap: 13px; }
.eco-shop-footer nav a { color: #d7e3de; font-size: .86rem; text-decoration: none; }
.eco-shop-footer nav a:hover { color: var(--shop-lime); }
.eco-shop-footer__bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 64px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .14); color: #7f9a8f; font-size: .72rem; }

@media (max-width: 1150px) {
  .eco-shop-nav { grid-template-columns: auto auto 1fr; }
  .eco-shop-menu-button { display: block; order: 2; }
  .eco-shop-nav__actions { justify-self: end; order: 3; }
  .eco-shop-nav__links { position: fixed; z-index: 99; inset: calc(var(--wp-admin--admin-bar--height, 0px) + 90px) 0 0; display: flex; align-items: flex-start; flex-direction: column; justify-content: flex-start; gap: 0; padding: 32px clamp(24px, 7vw, 80px); background: var(--shop-paper); opacity: 0; pointer-events: none; transform: translateY(-12px); transition: opacity .2s ease, transform .2s ease; }
  .eco-shop-nav__links.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .eco-shop-nav__links a { width: 100%; padding: 19px 0; border-bottom: 1px solid var(--shop-line); font-size: clamp(1.5rem, 4vw, 2.4rem); letter-spacing: -.035em; }
  .eco-shop-nav__links a::after { display: none; }
  .eco-shop-hero__grid { grid-template-columns: 1fr; }
  .eco-shop-hero__visual { min-height: 610px; }
  .eco-shop-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eco-shop-world-grid { grid-template-columns: 1fr 1fr; }
  .eco-shop-world--winter { grid-column: 1 / 3; grid-row: auto; min-height: 480px; }
  .eco-shop-selfmade__grid { grid-template-columns: 1fr; }
  .eco-shop-orbit { margin-inline: auto; }
  .eco-shop-footer__grid { grid-template-columns: 1.3fr repeat(2, .7fr); }
  .eco-shop-footer__grid > div:last-child { grid-column: 2; }
}

@media (max-width: 760px) {
  .eco-shop-shell { width: min(calc(100% - 28px), var(--shop-max)); }
  .eco-shop-nav { min-height: 78px; gap: 12px; }
  .eco-shop-brand img { width: 40px; height: 40px; }
  .eco-shop-brand strong { font-size: 1rem; }
  .eco-shop-icon-link { width: 40px; height: 40px; }
  .eco-shop-nav__actions .eco-shop-icon-link:nth-child(2) { display: none; }
  .eco-shop-nav__links { top: calc(var(--wp-admin--admin-bar--height, 0px) + 78px); }
  .eco-shop-hero { padding-top: 54px; }
  .eco-shop-hero h1 { font-size: clamp(3.2rem, 15vw, 5.2rem); }
  .eco-shop-hero__visual { min-height: 510px; }
  .eco-shop-stage--main { right: 8%; border-radius: 30px 30px 92px 30px; }
  .eco-shop-stage--main .eco-shop-stage__image { padding: 38px; }
  .eco-shop-stage--side { width: 46%; height: 40%; border-width: 7px; }
  .eco-shop-section-head { grid-template-columns: 1fr; gap: 22px; }
  .eco-shop-world-grid { display: flex; flex-direction: column; }
  .eco-shop-world,
  .eco-shop-world--winter { min-height: 390px; }
  .eco-shop-world > div { max-width: 75%; }
  .eco-shop-drop__card { align-items: flex-start; flex-direction: column; border-radius: 32px 32px 92px 32px; }
  .eco-shop-values__grid { grid-template-columns: 1fr; }
  .eco-shop-values article + article { border-top: 1px solid var(--shop-line); border-left: 0; }
  .eco-shop-footer__grid { grid-template-columns: 1fr 1fr; }
  .eco-shop-footer__brand { grid-column: 1 / 3; }
  .eco-shop-footer__grid > div:last-child { grid-column: auto; }
}

@media (max-width: 480px) {
  .eco-shop-brand small { display: none; }
  .eco-shop-hero__visual { min-height: 430px; }
  .eco-shop-stage--main .eco-shop-stage__image { height: 73%; padding: 28px; }
  .eco-shop-stage--side { display: none; }
  .eco-shop-stage__caption { left: 14px; bottom: 14px; max-width: calc(100% - 28px); padding: 11px 13px; }
  .eco-shop-actions { align-items: stretch; flex-direction: column; }
  .eco-shop-button { width: 100%; }
  .eco-shop-product-grid { grid-template-columns: 1fr; }
  .eco-shop-world > div { max-width: 88%; }
  .eco-shop-footer__grid { grid-template-columns: 1fr; }
  .eco-shop-footer__brand { grid-column: auto; }
  .eco-shop-footer__bottom { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-reveal] { opacity: 1; transform: none; transition: none; }
  .eco-shop-marquee__track { animation: none; }
}

/* =========================================================
   EcoAbi Shop – Unterseiten
   ========================================================= */
.eco-shop-inner-page #eco-shop-main { min-height: 64vh; overflow: hidden; background: var(--shop-paper); }
.eco-shop-page-hero { position: relative; padding: clamp(80px, 10vw, 150px) 0 clamp(76px, 9vw, 130px); overflow: hidden; }
.eco-shop-page-hero::before { content: ""; position: absolute; top: -38%; right: -7%; width: min(43vw, 690px); aspect-ratio: 1; border: clamp(40px, 6vw, 100px) solid rgba(40, 139, 88, .09); border-radius: 50%; pointer-events: none; }
.eco-shop-page-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(280px, .84fr); align-items: center; gap: clamp(55px, 10vw, 160px); }
.eco-shop-page-hero h1,
.eco-shop-system-hero h1 { max-width: 980px; margin: 17px 0 24px; color: var(--shop-ink); font-size: clamp(3.7rem, 7.2vw, 8rem); font-weight: 560; line-height: .91; letter-spacing: -.068em; text-wrap: balance; }
.eco-shop-page-lead { max-width: 740px; margin: 0; color: #42564e; font-size: clamp(1.05rem, 1.45vw, 1.35rem); line-height: 1.65; }
.eco-shop-page-actions { display: flex; align-items: center; gap: 28px; margin-top: 38px; }
.eco-shop-text-link { color: var(--shop-ink); font-size: .78rem; font-weight: 800; text-decoration: none; }
.eco-shop-text-link:hover { color: var(--shop-green); }
.eco-shop-world-mark { position: relative; display: grid; place-items: center; width: min(100%, 490px); aspect-ratio: 1; margin-inline: auto; border-radius: 50%; background: var(--shop-lime); box-shadow: 0 30px 80px rgba(25, 67, 50, .12); }
.eco-shop-world-mark__number { position: relative; z-index: 2; color: var(--shop-ink); font-size: clamp(6rem, 12vw, 12rem); font-weight: 600; line-height: 1; letter-spacing: -.09em; }
.eco-shop-world-mark__orbit { position: absolute; inset: 12%; border: 1px solid rgba(16, 39, 31, .28); border-radius: 50%; }
.eco-shop-world-mark__orbit::before { content: ""; position: absolute; inset: 18%; border: 1px solid rgba(16, 39, 31, .18); border-radius: 50%; }
.eco-shop-world-mark__dot { position: absolute; right: 11%; bottom: 23%; width: 26px; height: 26px; border: 7px solid var(--shop-paper); border-radius: 50%; background: var(--shop-green); }

.eco-shop-category-nav { display: flex; gap: 10px; padding-top: 22px; padding-bottom: 22px; overflow-x: auto; border-top: 1px solid var(--shop-line); border-bottom: 1px solid var(--shop-line); scrollbar-width: none; }
.eco-shop-category-nav::-webkit-scrollbar { display: none; }
.eco-shop-category-nav a { flex: 0 0 auto; padding: 11px 19px; border: 1px solid var(--shop-line); border-radius: 999px; color: var(--shop-ink); font-size: .7rem; font-weight: 820; letter-spacing: .03em; text-decoration: none; transition: .2s ease; }
.eco-shop-category-nav a:hover,
.eco-shop-category-nav a[aria-current="page"] { border-color: var(--shop-forest); background: var(--shop-forest); color: #fff; }
.eco-shop-category-products { padding: clamp(82px, 10vw, 150px) 0; }
.eco-shop-catalog-tools { position: relative; z-index: 30; display: grid; grid-template-columns: minmax(260px, 1.35fr) minmax(170px, .7fr) minmax(170px, .7fr) auto; align-items: end; gap: 12px; margin: 40px 0 10px; padding: clamp(18px, 2.5vw, 30px); overflow: visible; border: 1px solid var(--shop-line); border-radius: 26px; background: #fff; box-shadow: 0 18px 54px rgba(16, 39, 31, .06); }
.eco-shop-catalog-tools label,
.eco-shop-select-field { display: flex; flex-direction: column; gap: 8px; color: var(--shop-muted); font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.eco-shop-catalog-search { position: relative; }
.eco-shop-catalog-search input { padding-right: 46px; }
.eco-shop-catalog-search svg { position: absolute; right: 15px; bottom: 16px; width: 20px; height: 20px; fill: none; stroke: var(--shop-green); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; pointer-events: none; }
.eco-shop-catalog-tools input,
.eco-shop-catalog-tools select { width: 100%; min-height: 52px; padding: 11px 15px; border: 1px solid #cbd8d1; border-radius: 14px; background: #f8faf8; color: var(--shop-ink); font: inherit; font-size: .83rem; outline: 0; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.eco-shop-catalog-tools input:focus,
.eco-shop-catalog-tools select:focus { border-color: var(--shop-green); background: #fff; box-shadow: 0 0 0 4px rgba(31, 122, 80, .11); }
.eco-shop-select { position: relative; width: 100%; }
.eco-shop-select select.is-enhanced { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; opacity: 0; pointer-events: none; }
.eco-shop-select__trigger { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; min-height: 54px; padding: 10px 12px 10px 17px; border: 1px solid #cbd8d1; border-radius: 17px; background: linear-gradient(180deg, #fff 0%, #f6faf7 100%); color: var(--shop-ink); box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 7px 18px rgba(16,39,31,.045); cursor: pointer; font: inherit; font-size: .84rem; font-weight: 760; letter-spacing: 0; text-align: left; text-transform: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.eco-shop-select__trigger:hover { border-color: #9db8aa; box-shadow: inset 0 1px 0 #fff, 0 9px 24px rgba(16,39,31,.075); }
.eco-shop-select__trigger:focus-visible,
.eco-shop-select.is-open .eco-shop-select__trigger { border-color: var(--shop-green); outline: 0; box-shadow: 0 0 0 4px rgba(31,122,80,.12), 0 12px 28px rgba(16,39,31,.09); }
.eco-shop-select__arrow { display: grid; flex: 0 0 32px; width: 32px; height: 32px; place-items: center; border-radius: 10px; background: #e5efe9; color: var(--shop-forest); transition: transform .22s ease, background .22s ease, color .22s ease; }
.eco-shop-select__arrow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.eco-shop-select.is-open .eco-shop-select__arrow { transform: rotate(180deg); background: var(--shop-forest); color: #fff; }
.eco-shop-select__menu { position: absolute; top: calc(100% + 9px); left: 0; z-index: 999; display: grid; width: max(100%, 210px); max-height: 290px; padding: 7px; overflow-y: auto; border: 1px solid rgba(16,39,31,.14); border-radius: 18px; background: #fff; box-shadow: 0 24px 64px rgba(16,39,31,.2); opacity: 0; pointer-events: none; transform: translateY(-6px) scale(.985); transform-origin: top; transition: opacity .16s ease, transform .16s ease; }
.eco-shop-select.is-open .eco-shop-select__menu { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
.eco-shop-select__option { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 39px; padding: 8px 10px 8px 12px; border: 0; border-radius: 11px; background: transparent; color: var(--shop-ink); cursor: pointer; font: inherit; font-size: .79rem; font-weight: 650; letter-spacing: 0; line-height: 1.25; text-align: left; text-decoration: none; text-transform: none; transition: background .15s ease, color .15s ease, transform .15s ease; }
.eco-shop-select__option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.eco-shop-select__option:hover,
.eco-shop-select__option:focus-within { outline: 0; background: #e8f2ec; color: var(--shop-green); }
.eco-shop-select__option.is-selected { background: var(--shop-forest); color: #fff; }
.eco-shop-select__option b { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 8px; background: rgba(255,255,255,.15); opacity: 0; font-size: .72rem; }
.eco-shop-select__option.is-selected b { opacity: 1; }
.eco-shop-catalog-tools__actions { display: flex; align-items: center; gap: 10px; min-height: 52px; }
.eco-shop-catalog-tools__actions .eco-shop-button { min-height: 52px; padding: 14px 22px; }
.eco-shop-catalog-reset { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 15px; border: 1px solid var(--shop-line); border-radius: 999px; color: var(--shop-ink); font-size: .7rem; font-weight: 800; text-decoration: none; }
.eco-shop-catalog-reset:hover { border-color: var(--shop-green); color: var(--shop-green); }
.eco-shop-catalog-summary { margin: 24px 0 0; color: var(--shop-muted); font-size: .78rem; }
.eco-shop-product-grid--listing { margin-top: 48px; }
.eco-shop-empty-state { display: flex; align-items: flex-start; flex-direction: column; max-width: 980px; margin: 54px auto 0; padding: clamp(40px, 7vw, 85px); border-radius: 34px 34px 110px 34px; background: #e3eee8; }
.eco-shop-empty-state > span { padding: 8px 12px; border-radius: 999px; background: var(--shop-lime); font-size: .62rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.eco-shop-empty-state h2 { max-width: 720px; margin: 25px 0 12px; font-size: clamp(2.2rem, 4vw, 4.4rem); line-height: .98; letter-spacing: -.055em; }
.eco-shop-empty-state p { max-width: 610px; margin: 0 0 28px; color: var(--shop-muted); font-size: 1.06rem; line-height: 1.7; }
.eco-shop-empty-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.eco-shop-category-note { display: grid; grid-template-columns: 180px 1fr; gap: 30px; margin-top: 55px; padding: 26px 0; border-top: 1px solid var(--shop-line); border-bottom: 1px solid var(--shop-line); }
.eco-shop-category-note strong { color: var(--shop-green); font-size: .68rem; letter-spacing: .11em; text-transform: uppercase; }
.eco-shop-category-note p { max-width: 820px; margin: 0; color: var(--shop-muted); line-height: 1.65; }
.eco-shop-editor-section { padding: 0 0 100px; }
.eco-shop-cta--inner { padding: 0 0 clamp(80px, 10vw, 140px); }
.eco-shop-cta__card { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: clamp(45px, 6vw, 84px); border-radius: 40px 40px 130px 40px; background: var(--shop-forest); color: #fff; }
.eco-shop-cta__card .eco-shop-eyebrow { color: var(--shop-lime); }
.eco-shop-cta__card .eco-shop-eyebrow span { background: var(--shop-lime); }
.eco-shop-cta__card h2 { max-width: 850px; margin: 16px 0 0; color: #fff; font-size: clamp(2.7rem, 5.2vw, 5.9rem); line-height: .95; letter-spacing: -.06em; }

/* WooCommerce Systemseiten */
.eco-shop-system-hero { padding: clamp(70px, 9vw, 125px) 0; background: #e3eee8; }
.eco-shop-system-hero__grid { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 60px; }
.eco-shop-system-hero h1 { max-width: 1100px; font-size: clamp(3.4rem, 6.7vw, 7.5rem); }
.eco-shop-system-step { display: grid; place-items: center; width: clamp(150px, 15vw, 240px); aspect-ratio: 1; border-radius: 50% 50% 18% 50%; background: var(--shop-lime); color: var(--shop-forest); font-size: clamp(3.5rem, 6vw, 7rem); font-weight: 650; letter-spacing: -.08em; }
.eco-shop-system-content { padding: clamp(70px, 9vw, 130px) 0; }
.eco-shop-system-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 360px); align-items: start; gap: clamp(35px, 5vw, 80px); }
.eco-shop-system-card { min-width: 0; padding: clamp(25px, 4vw, 55px); border: 1px solid var(--shop-line); border-radius: 30px; background: #fff; box-shadow: 0 25px 70px rgba(20, 52, 40, .07); }
.eco-shop-system-aside { position: sticky; top: 130px; padding: 34px; border-radius: 28px 28px 72px 28px; background: var(--shop-forest); color: #fff; }
.eco-shop-system-aside__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--shop-lime); color: var(--shop-forest); font-weight: 900; }
.eco-shop-system-aside h2 { margin: 26px 0 12px; color: #fff; font-size: 1.8rem; letter-spacing: -.04em; }
.eco-shop-system-aside p { color: #c7d7d0; line-height: 1.65; }
.eco-shop-system-aside ul { margin: 26px 0; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); list-style: none; }
.eco-shop-system-aside li { position: relative; padding: 7px 0 7px 22px; color: #e5efeb; font-size: .85rem; }
.eco-shop-system-aside li::before { content: "↗"; position: absolute; left: 0; color: var(--shop-lime); }
.eco-shop-system-aside a { color: var(--shop-lime); font-size: .78rem; font-weight: 850; text-decoration: none; }

/* WooCommerce erhält das EcoAbi-Design, behält aber seine Funktionen. */
.eco-shop-system-card .woocommerce { width: 100%; color: var(--shop-ink); }
.eco-shop-system-card .woocommerce a { color: var(--shop-green); }
.eco-shop-system-card .woocommerce-message,
.eco-shop-system-card .woocommerce-info,
.eco-shop-system-card .woocommerce-error { margin: 0 0 28px; padding: 18px 20px 18px 54px; border: 0; border-radius: 16px; background: #e5f1eb; color: var(--shop-ink); }
.eco-shop-system-card .woocommerce-error { background: #fff0ec; }
.eco-shop-system-card .woocommerce-message::before,
.eco-shop-system-card .woocommerce-info::before { top: 18px; color: var(--shop-green); }
.eco-shop-system-card table.shop_table { overflow: hidden; border: 0; border-collapse: separate; border-spacing: 0; border-radius: 18px; }
.eco-shop-system-card table.shop_table th { padding: 15px; border-color: var(--shop-line); background: #edf3ef; font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.eco-shop-system-card table.shop_table td { padding: 18px 15px; border-color: var(--shop-line); }
.eco-shop-system-card table.shop_table img { width: 76px; border-radius: 13px; }
.eco-shop-system-card input.input-text,
.eco-shop-system-card input[type="text"],
.eco-shop-system-card input[type="email"],
.eco-shop-system-card input[type="tel"],
.eco-shop-system-card input[type="password"],
.eco-shop-system-card textarea,
.eco-shop-system-card select,
.eco-shop-system-card .select2-container--default .select2-selection--single { min-height: 50px; padding: 11px 14px; border: 1px solid #cbd8d1; border-radius: 12px; background: #fff; color: var(--shop-ink); }
.eco-shop-system-card textarea { min-height: 120px; }
.eco-shop-system-card .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 26px; }
.eco-shop-system-card .select2-container--default .select2-selection--single .select2-selection__arrow { top: 10px; right: 8px; }
.eco-shop-system-card .button,
.eco-shop-system-card button.button,
.eco-shop-system-card input.button,
.eco-shop-system-card #place_order,
.eco-shop-system-card .wc-block-components-button { min-height: 50px; padding: 14px 22px !important; border: 0 !important; border-radius: 999px !important; background: var(--shop-forest) !important; color: #fff !important; font-size: .76rem !important; font-weight: 850 !important; text-decoration: none !important; transition: transform .2s ease, background .2s ease; }
.eco-shop-system-card .button:hover,
.eco-shop-system-card button.button:hover,
.eco-shop-system-card #place_order:hover,
.eco-shop-system-card .wc-block-components-button:hover { background: var(--shop-green) !important; transform: translateY(-1px); }
.eco-shop-system-card .coupon { display: flex; gap: 8px; }
.eco-shop-system-card .coupon .input-text { width: auto !important; }
.eco-shop-system-card .cart-collaterals .cart_totals { width: min(100%, 560px); }
.eco-shop-system-card .cart_totals h2,
.eco-shop-system-card .woocommerce-billing-fields h3,
.eco-shop-system-card #order_review_heading,
.eco-shop-system-card .woocommerce-Address-title h3 { font-size: clamp(1.6rem, 2.5vw, 2.4rem); letter-spacing: -.045em; }
.eco-shop-system-card .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; width: 100%; }
.eco-shop-system-card .col2-set .col-1,
.eco-shop-system-card .col2-set .col-2 { float: none; width: 100%; }
.eco-shop-system-card #order_review { padding: 24px; border-radius: 20px; background: #f2f5f2; }
.eco-shop-system-card .woocommerce-MyAccount-navigation { float: none; width: 100%; margin-bottom: 34px; }
.eco-shop-system-card .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.eco-shop-system-card .woocommerce-MyAccount-navigation a { display: block; padding: 10px 15px; border: 1px solid var(--shop-line); border-radius: 999px; color: var(--shop-ink); font-size: .72rem; font-weight: 800; text-decoration: none; }
.eco-shop-system-card .woocommerce-MyAccount-navigation .is-active a { border-color: var(--shop-forest); background: var(--shop-forest); color: #fff; }
.eco-shop-system-card .woocommerce-MyAccount-content { float: none; width: 100%; }

/* Konto: klare, senkrechte Navigation statt verteilter WooCommerce-Pills. */
body.woocommerce-account .eco-shop-system-card .woocommerce { display: grid !important; grid-template-columns: minmax(190px, 230px) minmax(0, 1fr); align-items: start; gap: clamp(34px, 5vw, 68px); }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation { grid-column: 1 !important; grid-row: 1 !important; float: none !important; width: 100% !important; margin: 0 !important; padding: 13px; border: 1px solid var(--shop-line); border-radius: 22px 22px 58px 22px; background: #f1f6f2; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation ul { display: flex !important; align-items: stretch; flex-direction: column; gap: 5px; margin: 0 !important; padding: 0 !important; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation li { width: 100%; margin: 0; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation a { position: relative; display: flex !important; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; padding: 11px 14px !important; border: 0 !important; border-radius: 13px !important; color: #32473e !important; background: transparent; font-size: .76rem; font-weight: 800; text-decoration: none !important; transition: background .18s ease, color .18s ease, transform .18s ease; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation a::after { content: "↗"; color: var(--shop-green); font-size: .9rem; opacity: .7; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation a:hover { background: #fff; color: var(--shop-green) !important; transform: translateX(2px); }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation .is-active a { background: var(--shop-forest) !important; color: #fff !important; box-shadow: 0 10px 24px rgba(16,39,31,.14); }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation .is-active a::after { color: var(--shop-lime); opacity: 1; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 9px !important; padding-top: 9px; border-top: 1px solid var(--shop-line); }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation-link--customer-logout a { color: #8b4938 !important; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-content { grid-column: 2 !important; grid-row: 1 !important; float: none !important; width: 100% !important; min-width: 0; padding-top: 8px; font-size: 1.02rem; line-height: 1.7; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-content > *:first-child { margin-top: 0; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-content a { text-decoration-thickness: 1px; text-underline-offset: 4px; }

/* Warenkorb: eigener Leerzustand statt blauer Standardmeldung. */
.eco-shop-cart-empty { display: grid; grid-template-columns: minmax(210px, .72fr) minmax(0, 1.28fr); align-items: center; gap: clamp(40px, 7vw, 95px); min-height: 410px; }
.eco-shop-cart-empty__visual { position: relative; display: grid; place-items: center; width: min(100%, 330px); aspect-ratio: 1; margin-inline: auto; border-radius: 48% 52% 28% 72% / 56% 38% 62% 44%; background: var(--shop-forest); box-shadow: 0 30px 70px rgba(16,39,31,.17); transform: rotate(-4deg); }
.eco-shop-cart-empty__visual > span { color: var(--shop-lime); font-size: clamp(5rem, 9vw, 8.5rem); font-weight: 580; line-height: 1; letter-spacing: -.08em; transform: rotate(4deg); }
.eco-shop-cart-empty__handle { position: absolute; top: -24px; left: 29%; width: 42%; height: 68px; border: 16px solid var(--shop-lime); border-bottom: 0; border-radius: 999px 999px 0 0; transform: rotate(4deg); }
.eco-shop-cart-empty__spark { position: absolute; top: 8%; right: -5%; display: grid; place-items: center; width: 68px; height: 68px; border: 8px solid #fff; border-radius: 50%; background: var(--shop-lime); color: var(--shop-forest); font-size: 1.5rem; font-style: normal; }
.eco-shop-cart-empty__copy h2 { max-width: 720px; margin: 18px 0 20px; font-size: clamp(2.5rem, 4.6vw, 5.1rem); line-height: .94; letter-spacing: -.06em; }
.eco-shop-cart-empty__copy > p:not(.eco-shop-eyebrow) { max-width: 690px; margin: 0; color: var(--shop-muted); font-size: 1.02rem; line-height: 1.75; }
.eco-shop-cart-empty__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 32px; }
.eco-shop-cart-empty__actions .eco-shop-text-link { color: var(--shop-green); font-size: .78rem; font-weight: 850; text-decoration: none; }

/* Kontakt */
.eco-shop-page-hero--contact { background: #e2eee7; }
.eco-shop-contact-shortcuts { display: grid; gap: 12px; }
.eco-shop-contact-shortcuts a { display: grid; grid-template-columns: 54px 1fr; align-items: center; gap: 16px; padding: 17px; border: 1px solid rgba(16,39,31,.12); border-radius: 19px; background: rgba(255,255,255,.64); color: var(--shop-ink); text-decoration: none; transition: transform .2s ease, background .2s ease; }
.eco-shop-contact-shortcuts a:hover { background: #fff; transform: translateX(5px); }
.eco-shop-contact-shortcuts a > span { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: var(--shop-forest); color: #fff; font-size: 1.1rem; font-weight: 800; }
.eco-shop-contact-shortcuts small,
.eco-shop-contact-shortcuts strong { display: block; }
.eco-shop-contact-shortcuts small { margin-bottom: 4px; color: var(--shop-muted); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.eco-shop-contact-shortcuts strong { font-size: 1rem; }
.eco-shop-contact-section { padding: clamp(80px, 10vw, 150px) 0; }
.eco-shop-contact-layout { display: grid; grid-template-columns: .72fr 1.28fr; align-items: start; gap: clamp(50px, 9vw, 145px); }
.eco-shop-contact-intro { position: sticky; top: 130px; }
.eco-shop-contact-intro h2 { margin: 18px 0; font-size: clamp(2.5rem, 4.3vw, 5rem); line-height: .98; letter-spacing: -.06em; }
.eco-shop-contact-intro > p:not(.eco-shop-eyebrow) { color: var(--shop-muted); line-height: 1.7; }
.eco-shop-response-note { display: flex; flex-direction: column; margin-top: 35px; padding: 22px; border-radius: 18px; background: var(--shop-lime); }
.eco-shop-response-note strong { margin-bottom: 5px; }
.eco-shop-response-note span { color: #41523b; font-size: .83rem; }
.eco-shop-contact-form { padding: clamp(28px, 4vw, 52px); border: 1px solid var(--shop-line); border-radius: 30px; background: #fff; box-shadow: 0 25px 70px rgba(20,52,40,.07); }
.eco-shop-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.eco-shop-contact-form label { display: block; margin-bottom: 20px; color: var(--shop-ink); font-size: .72rem; font-weight: 850; letter-spacing: .025em; }
.eco-shop-contact-form input,
.eco-shop-contact-form select,
.eco-shop-contact-form textarea { display: block; width: 100%; margin-top: 8px; padding: 14px 15px; border: 1px solid #cbd8d1; border-radius: 13px; outline: 0; background: #fbfcfa; color: var(--shop-ink); font: inherit; font-size: .95rem; transition: border .2s ease, box-shadow .2s ease; }
.eco-shop-contact-form input:focus,
.eco-shop-contact-form select:focus,
.eco-shop-contact-form textarea:focus { border-color: var(--shop-green); box-shadow: 0 0 0 4px rgba(35,134,81,.11); }
.eco-shop-contact-form textarea { resize: vertical; }
.eco-shop-contact-form .eco-shop-button { border: 0; cursor: pointer; }
.eco-shop-honeypot { position: absolute !important; left: -9999px !important; }
.eco-shop-form-message { margin-bottom: 22px; padding: 15px 18px; border-radius: 13px; font-size: .9rem; }
.eco-shop-form-message--success { background: #e3f4e9; color: #125329; }
.eco-shop-form-message--error { background: #fff0eb; color: #8d2e15; }
.eco-shop-form-privacy { margin: 18px 0 0; color: var(--shop-muted); font-size: .72rem; line-height: 1.6; }
.eco-shop-form-privacy a { color: var(--shop-green); }

/* FAQ */
.eco-shop-page-hero--faq { background: var(--shop-lime); }
.eco-shop-page-hero--faq::before { border-color: rgba(16,39,31,.09); }
.eco-shop-faq-symbol { display: grid; place-items: center; width: min(100%, 420px); aspect-ratio: 1; margin-inline: auto; border: 1px solid rgba(16,39,31,.25); border-radius: 50% 50% 18% 50%; color: var(--shop-forest); font-size: clamp(8rem, 18vw, 16rem); font-weight: 550; line-height: 1; }
.eco-shop-faq-section { padding: clamp(80px, 10vw, 150px) 0; }
.eco-shop-faq-layout { display: grid; grid-template-columns: minmax(270px, .58fr) minmax(0, 1.42fr); align-items: start; gap: clamp(55px, 9vw, 150px); }
.eco-shop-faq-layout > aside { position: sticky; top: 130px; }
.eco-shop-faq-layout > aside h2 { margin: 18px 0; font-size: clamp(2.4rem, 4vw, 4.5rem); line-height: .98; letter-spacing: -.055em; }
.eco-shop-faq-layout > aside > p:not(.eco-shop-eyebrow) { margin-bottom: 30px; color: var(--shop-muted); line-height: 1.7; }
.eco-shop-faq-list { border-top: 1px solid var(--shop-line); }
.eco-shop-faq-list details { border-bottom: 1px solid var(--shop-line); }
.eco-shop-faq-list summary { display: grid; grid-template-columns: 42px 1fr 28px; align-items: center; gap: 15px; padding: 27px 0; cursor: pointer; color: var(--shop-ink); font-size: clamp(1.04rem, 1.6vw, 1.35rem); font-weight: 650; list-style: none; }
.eco-shop-faq-list summary::-webkit-details-marker { display: none; }
.eco-shop-faq-list summary > span { color: var(--shop-green); font-size: .65rem; font-weight: 850; letter-spacing: .08em; }
.eco-shop-faq-list summary i { position: relative; display: block; width: 24px; height: 24px; }
.eco-shop-faq-list summary i::before,
.eco-shop-faq-list summary i::after { content: ""; position: absolute; top: 11px; left: 3px; width: 18px; height: 1px; background: var(--shop-ink); transition: transform .2s ease; }
.eco-shop-faq-list summary i::after { transform: rotate(90deg); }
.eco-shop-faq-list details[open] summary i::after { transform: rotate(0); }
.eco-shop-faq-list details > div { max-width: 790px; padding: 0 43px 28px 57px; }
.eco-shop-faq-list details p { margin: 0; color: var(--shop-muted); line-height: 1.75; }
.eco-shop-faq-list details a { display: inline-block; margin-top: 15px; color: var(--shop-green); font-size: .75rem; font-weight: 850; text-decoration: none; }

/* Rückgabe / Rechtstext */
.eco-shop-page-hero--policy { background: #e3eee8; }
.eco-shop-policy-seal { display: flex; align-items: center; justify-content: center; flex-direction: column; width: min(100%, 390px); aspect-ratio: 1; margin-inline: auto; border-radius: 50%; background: var(--shop-forest); color: #fff; transform: rotate(5deg); }
.eco-shop-policy-seal span { color: var(--shop-lime); font-size: clamp(4rem, 8vw, 7.5rem); font-weight: 560; line-height: .85; letter-spacing: -.07em; }
.eco-shop-policy-seal small { margin-top: 13px; font-size: .76rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.eco-shop-policy-section { padding: clamp(80px, 10vw, 150px) 0; }
.eco-shop-policy-layout { display: grid; grid-template-columns: minmax(300px, .65fr) minmax(0, 1.35fr); align-items: start; gap: clamp(55px, 9vw, 145px); }
.eco-shop-policy-steps { position: sticky; top: 130px; padding: clamp(28px, 4vw, 45px); border-radius: 28px 28px 86px 28px; background: var(--shop-lime); }
.eco-shop-policy-steps ol { margin: 30px 0; padding: 0; border-top: 1px solid rgba(16,39,31,.2); list-style: none; }
.eco-shop-policy-steps li { display: grid; grid-template-columns: 42px 1fr; gap: 12px; padding: 20px 0; border-bottom: 1px solid rgba(16,39,31,.2); }
.eco-shop-policy-steps li > span { color: var(--shop-green); font-size: .67rem; font-weight: 900; }
.eco-shop-policy-steps strong { display: block; margin-bottom: 5px; }
.eco-shop-policy-steps p { margin: 0; color: #3b503f; font-size: .83rem; line-height: 1.55; }
.eco-shop-policy-content { padding: clamp(30px, 5vw, 65px); border: 1px solid var(--shop-line); border-radius: 30px; background: #fff; }
.eco-shop-richtext { color: var(--shop-ink); font-size: 1rem; line-height: 1.75; }
.eco-shop-richtext > *:first-child { margin-top: 0; }
.eco-shop-richtext h1,
.eco-shop-richtext h2,
.eco-shop-richtext h3 { color: var(--shop-ink); letter-spacing: -.045em; }
.eco-shop-richtext h2 { margin: 2.2em 0 .6em; font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.08; }
.eco-shop-richtext h3 { margin: 1.8em 0 .5em; font-size: 1.35rem; }
.eco-shop-richtext p,
.eco-shop-richtext li { color: #40544c; }
.eco-shop-richtext a { color: var(--shop-green); font-weight: 700; }
.eco-shop-richtext hr { margin: 40px 0; border: 0; border-top: 1px solid var(--shop-line); }

@media (max-width: 1050px) {
  .eco-shop-page-hero__grid { grid-template-columns: 1fr .68fr; gap: 50px; }
  .eco-shop-system-layout { grid-template-columns: 1fr; }
  .eco-shop-system-aside { position: static; display: grid; grid-template-columns: auto 1fr; column-gap: 20px; }
  .eco-shop-system-aside h2 { margin: 0; }
  .eco-shop-system-aside p,
  .eco-shop-system-aside ul,
  .eco-shop-system-aside > a { grid-column: 2; }
  .eco-shop-contact-layout,
  .eco-shop-faq-layout,
  .eco-shop-policy-layout { grid-template-columns: 1fr; gap: 55px; }
  .eco-shop-contact-intro,
  .eco-shop-faq-layout > aside,
  .eco-shop-policy-steps { position: static; }
  body.woocommerce-account .eco-shop-system-card .woocommerce { grid-template-columns: 200px minmax(0, 1fr); gap: 35px; }
  .eco-shop-cart-empty { grid-template-columns: minmax(180px, .55fr) minmax(0, 1.45fr); }
  .eco-shop-catalog-tools { grid-template-columns: 1fr 1fr; }
  .eco-shop-catalog-tools label:first-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .eco-shop-page-hero { padding: 62px 0 72px; }
  .eco-shop-page-hero__grid { grid-template-columns: 1fr; }
  .eco-shop-page-hero h1,
  .eco-shop-system-hero h1 { font-size: clamp(3rem, 13.6vw, 5.3rem); }
  .eco-shop-world-mark,
  .eco-shop-faq-symbol,
  .eco-shop-policy-seal { width: min(78vw, 340px); }
  .eco-shop-page-actions { align-items: flex-start; flex-direction: column; }
  .eco-shop-catalog-tools { grid-template-columns: 1fr; border-radius: 22px; }
  .eco-shop-catalog-tools label:first-child { grid-column: auto; }
  .eco-shop-catalog-tools__actions { align-items: stretch; flex-direction: column; }
  .eco-shop-catalog-tools__actions > * { width: 100%; }
  .eco-shop-empty-actions { align-items: stretch; flex-direction: column; width: 100%; }
  .eco-shop-empty-actions > * { width: 100%; }
  .eco-shop-category-note { grid-template-columns: 1fr; gap: 8px; }
  .eco-shop-cta__card { align-items: flex-start; flex-direction: column; border-radius: 30px 30px 90px 30px; }
  .eco-shop-system-hero__grid { grid-template-columns: 1fr; }
  .eco-shop-system-step { width: 130px; }
  .eco-shop-system-card { padding: 18px; border-radius: 20px; }
  .eco-shop-system-card table.shop_table_responsive tr td { padding: 12px; }
  .eco-shop-system-card .col2-set { grid-template-columns: 1fr; }
  .eco-shop-system-card .coupon { align-items: stretch; flex-direction: column; }
  .eco-shop-system-card .coupon .input-text { width: 100% !important; }
  .eco-shop-system-aside { display: block; }
  .eco-shop-system-aside h2 { margin-top: 22px; }
  body.woocommerce-account .eco-shop-system-card .woocommerce { grid-template-columns: 1fr; gap: 32px; }
  body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation,
  body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-content { grid-column: 1 !important; }
  body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation { grid-row: 1 !important; }
  body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-content { grid-row: 2 !important; }
  body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation { border-radius: 18px 18px 50px 18px; }
  .eco-shop-cart-empty { grid-template-columns: 1fr; min-height: 0; padding: 26px 3px; }
  .eco-shop-cart-empty__visual { width: min(72vw, 280px); }
  .eco-shop-cart-empty__copy h2 { font-size: clamp(2.45rem, 11vw, 4rem); }
  .eco-shop-cart-empty__actions { align-items: flex-start; flex-direction: column; }
  .eco-shop-form-row { grid-template-columns: 1fr; gap: 0; }
  .eco-shop-contact-form { padding: 22px; border-radius: 22px; }
  .eco-shop-faq-list summary { grid-template-columns: 32px 1fr 24px; gap: 10px; padding: 22px 0; }
  .eco-shop-faq-list details > div { padding: 0 24px 24px 42px; }
  .eco-shop-policy-content { padding: 25px 20px; border-radius: 22px; }
}

/* Produktkatalog + allgemeine Rechtstexte */
.eco-shop-page-hero--catalog { background: #e3eee8; }
.eco-shop-catalog-stamp { display: flex; align-items: center; justify-content: center; flex-direction: column; width: min(100%, 430px); aspect-ratio: 1; margin-inline: auto; border-radius: 50% 50% 17% 50%; background: var(--shop-forest); color: #fff; transform: rotate(3deg); }
.eco-shop-catalog-stamp strong { color: var(--shop-lime); font-size: clamp(4.5rem, 8vw, 8rem); font-weight: 600; line-height: .72; letter-spacing: -.09em; }
.eco-shop-catalog-stamp span { margin-top: 30px; font-size: .66rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.eco-shop-pagination { margin-top: 60px; }
.eco-shop-pagination ul { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.eco-shop-pagination a,
.eco-shop-pagination span { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 14px; border: 1px solid var(--shop-line); border-radius: 999px; color: var(--shop-ink); font-size: .75rem; font-weight: 800; text-decoration: none; }
.eco-shop-pagination .current,
.eco-shop-pagination a:hover { border-color: var(--shop-forest); background: var(--shop-forest); color: #fff; }
.eco-shop-legal-hero { padding: clamp(75px, 9vw, 130px) 0; background: #e3eee8; }
.eco-shop-legal-hero h1 { max-width: 1150px; margin: 17px 0; font-size: clamp(3.5rem, 7vw, 7.6rem); font-weight: 560; line-height: .92; letter-spacing: -.065em; }
.eco-shop-legal-hero > div > p:last-child { color: var(--shop-muted); font-size: 1.06rem; }
.eco-shop-legal-section { padding: clamp(75px, 9vw, 130px) 0; }
.eco-shop-legal-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); align-items: start; gap: clamp(45px, 8vw, 120px); }
.eco-shop-legal-layout > aside { position: sticky; top: 130px; padding: 25px; border: 1px solid var(--shop-line); border-radius: 22px; }
.eco-shop-legal-layout > aside > strong { display: block; margin-bottom: 18px; color: var(--shop-green); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.eco-shop-legal-layout > aside nav { display: flex; flex-direction: column; }
.eco-shop-legal-layout > aside nav a { padding: 11px 0; border-bottom: 1px solid var(--shop-line); color: var(--shop-ink); font-size: .84rem; font-weight: 680; text-decoration: none; }
.eco-shop-legal-layout > aside nav a:hover { color: var(--shop-green); }
.eco-shop-legal-layout > aside p { margin: 25px 0 0; color: var(--shop-muted); font-size: .75rem; }
.eco-shop-legal-layout > aside p a { color: var(--shop-green); }
.eco-shop-legal-meta { display: inline-flex; margin: 0 0 28px !important; padding: 9px 13px; border-radius: 999px; background: #e7f1ea; color: var(--shop-green) !important; font-size: .7rem; letter-spacing: .04em; }
.eco-shop-legal-contact { margin: 24px 0; padding: 22px 25px; border-left: 4px solid var(--shop-green); border-radius: 0 18px 18px 0; background: #f0f5f1; color: var(--shop-ink); font-style: normal; line-height: 1.7; }
.eco-shop-legal-callout { margin: 34px 0; padding: clamp(22px, 3vw, 34px); border-radius: 24px 24px 65px 24px; background: var(--shop-lime); }
.eco-shop-legal-callout strong { display: block; margin-bottom: 8px; color: var(--shop-forest); font-size: 1.15rem; }
.eco-shop-legal-callout p { margin: 0; color: #354b3b; }
.eco-shop-withdrawal-form { margin-top: 28px; padding: clamp(24px, 4vw, 46px); border: 1px solid var(--shop-line); border-radius: 26px; background: #f7f8f5; }
.eco-shop-withdrawal-form > *:first-child { margin-top: 0; }
.eco-shop-withdrawal-form .eco-shop-form-line { color: #8a9891; letter-spacing: .08em; overflow-wrap: anywhere; }

@media (max-width: 760px) {
  .eco-shop-catalog-stamp { width: min(78vw, 330px); }
  .eco-shop-legal-layout { grid-template-columns: 1fr; }
  .eco-shop-legal-layout > aside { position: static; }
}

/* Own Product – individuelle Anfertigungen */
.eco-shop-own-hero { position: relative; overflow: hidden; padding: clamp(74px, 8vw, 132px) 0; background: linear-gradient(135deg, #eef5ef 0%, #fbfaf6 56%, #eff7c9 100%); }
.eco-shop-own-hero::after { content: ""; position: absolute; right: -8vw; bottom: -22vw; width: 44vw; aspect-ratio: 1; border: clamp(38px, 6vw, 90px) solid rgba(35,134,81,.08); border-radius: 50%; pointer-events: none; }
.eco-shop-own-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr); align-items: center; gap: clamp(60px, 9vw, 145px); }
.eco-shop-own-hero h1 { max-width: 900px; margin: 20px 0 28px; font-size: clamp(4rem, 7.4vw, 8.4rem); font-weight: 560; line-height: .86; letter-spacing: -.075em; }
.eco-shop-own-hero h1 em { color: var(--shop-green); font-family: Georgia, serif; font-weight: 400; }
.eco-shop-own-hero__copy > p:not(.eco-shop-eyebrow) { max-width: 720px; color: var(--shop-muted); font-size: clamp(1.05rem, 1.4vw, 1.3rem); line-height: 1.7; }
.eco-shop-own-promise { display: flex; align-items: center; gap: 14px; margin-top: 34px; }
.eco-shop-own-promise > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--shop-lime); color: var(--shop-forest); font-weight: 900; }
.eco-shop-own-promise p,.eco-shop-own-promise strong,.eco-shop-own-promise small { display: block; margin: 0; }
.eco-shop-own-promise small { margin-top: 3px; color: var(--shop-muted); font-size: .72rem; }
.eco-shop-own-canvas { position: relative; min-height: 560px; }
.eco-shop-own-canvas__shape { position: absolute; inset: 4% 8% 7% 2%; display: grid; place-items: center; border-radius: 44% 56% 68% 32% / 43% 36% 64% 57%; background: var(--shop-forest); box-shadow: 0 38px 80px rgba(16,39,31,.2); transform: rotate(-4deg); }
.eco-shop-own-canvas__shape::before { content: ""; position: absolute; inset: 11%; border: 1px solid rgba(255,255,255,.18); border-radius: inherit; }
.eco-shop-own-canvas__shape span { color: #fff; font-size: clamp(4rem, 7vw, 7rem); font-weight: 560; line-height: .82; letter-spacing: -.07em; text-align: center; transform: rotate(4deg); }
.eco-shop-own-chip { position: absolute; z-index: 2; padding: 12px 18px; border: 8px solid var(--shop-paper); border-radius: 999px; background: var(--shop-lime); color: var(--shop-forest); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 15px 35px rgba(16,39,31,.13); }
.eco-shop-own-chip--one { top: 5%; right: 0; transform: rotate(6deg); }
.eco-shop-own-chip--two { bottom: 13%; left: -3%; transform: rotate(-7deg); }
.eco-shop-own-chip--three { right: 2%; bottom: 4%; transform: rotate(4deg); }
.eco-shop-own-pencil { position: absolute; z-index: 3; top: 42%; right: 0; display: grid; place-items: center; width: 92px; height: 92px; border-radius: 50%; background: #fff; color: var(--shop-green); font-size: 2.5rem; box-shadow: 0 20px 50px rgba(16,39,31,.15); }
.eco-shop-own-options { background: var(--shop-paper); }
.eco-shop-own-options__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.eco-shop-own-option { position: relative; min-height: 280px; padding: clamp(27px, 3vw, 42px); overflow: hidden; border: 1px solid var(--shop-line); border-radius: 28px 28px 82px 28px; background: #fff; transition: transform .25s ease, background .25s ease; }
.eco-shop-own-option:nth-child(2),.eco-shop-own-option:nth-child(5) { background: #e3eee8; }
.eco-shop-own-option:nth-child(3),.eco-shop-own-option:nth-child(6) { background: var(--shop-lime); }
.eco-shop-own-option:hover { transform: translateY(-7px); }
.eco-shop-own-option > span { color: var(--shop-green); font-size: .66rem; font-weight: 900; letter-spacing: .12em; }
.eco-shop-own-option h3 { max-width: 320px; margin: 52px 0 14px; font-size: clamp(1.6rem, 2.4vw, 2.6rem); line-height: .98; letter-spacing: -.05em; }
.eco-shop-own-option p { max-width: 360px; margin: 0; color: var(--shop-muted); line-height: 1.65; }
.eco-shop-own-option i { position: absolute; right: 28px; bottom: 24px; color: var(--shop-green); font-size: 1.5rem; font-style: normal; }
.eco-shop-own-process { background: var(--shop-forest); color: #fff; }
.eco-shop-own-process .eco-shop-section-head h2,.eco-shop-own-process .eco-shop-section-head > p { color: #fff; }
.eco-shop-own-process .eco-shop-eyebrow { color: var(--shop-lime); }
.eco-shop-own-process__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.eco-shop-own-process__grid article { position: relative; min-height: 380px; padding: clamp(28px, 4vw, 50px); border: 1px solid rgba(255,255,255,.14); border-radius: 30px 30px 100px 30px; background: rgba(255,255,255,.055); }
.eco-shop-own-process__grid article > span { color: var(--shop-lime); font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.eco-shop-own-process__icon { display: grid; place-items: center; width: 88px; height: 88px; margin: 55px 0 36px; border-radius: 50%; background: var(--shop-lime); color: var(--shop-forest); font-size: 2rem; }
.eco-shop-own-process h3 { margin: 0 0 14px; color: #fff; font-size: clamp(1.6rem, 2.3vw, 2.4rem); letter-spacing: -.045em; }
.eco-shop-own-process article p { margin: 0; color: #c5d2cb; line-height: 1.65; }
.eco-shop-own-request { padding: clamp(90px, 11vw, 165px) 0; background: #e3eee8; }
.eco-shop-own-request__layout { display: grid; grid-template-columns: .72fr 1.28fr; align-items: start; gap: clamp(55px, 9vw, 145px); }
.eco-shop-own-request__intro { position: sticky; top: 130px; }
.eco-shop-own-request__intro h2 { margin: 18px 0 22px; font-size: clamp(3rem, 5vw, 6rem); line-height: .91; letter-spacing: -.065em; }
.eco-shop-own-request__intro > p:not(.eco-shop-eyebrow) { color: var(--shop-muted); line-height: 1.75; }
.eco-shop-own-mailbox { display: grid; grid-template-columns: 54px 1fr; gap: 16px; margin-top: 40px; padding: 24px; border-radius: 24px 24px 65px 24px; background: var(--shop-lime); }
.eco-shop-own-mailbox > span { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: var(--shop-forest); color: #fff; font-weight: 900; }
.eco-shop-own-mailbox small,.eco-shop-own-mailbox strong { display: block; }
.eco-shop-own-mailbox small { margin-bottom: 6px; color: #41523b; }
.eco-shop-own-mailbox a { color: var(--shop-forest); }
.eco-shop-own-mailbox p { margin: 7px 0 0; color: #41523b; font-size: .8rem; line-height: 1.5; }
.eco-shop-own-form { border: 0; border-radius: 34px 34px 110px 34px; }
.eco-shop-own-file { padding: 18px; border: 1px dashed #9db4a8; border-radius: 16px; background: #f4f8f4; }
.eco-shop-own-file > span { float: right; color: var(--shop-muted); font-size: .64rem; text-transform: uppercase; }
.eco-shop-own-file input { padding: 10px 0 0; border: 0; background: transparent; }
.eco-shop-own-file small { display: block; margin-top: 6px; color: var(--shop-muted); font-weight: 500; }
.eco-shop-own-faq { background: var(--shop-paper); }

@media (max-width: 1050px) {
  .eco-shop-own-hero__grid { grid-template-columns: 1fr .8fr; gap: 45px; }
  .eco-shop-own-canvas { min-height: 450px; }
  .eco-shop-own-options__grid { grid-template-columns: repeat(2, 1fr); }
  .eco-shop-own-request__layout { grid-template-columns: 1fr; }
  .eco-shop-own-request__intro { position: static; }
}

@media (max-width: 760px) {
  .eco-shop-own-hero { padding: 64px 0 82px; }
  .eco-shop-own-hero__grid { grid-template-columns: 1fr; }
  .eco-shop-own-hero h1 { font-size: clamp(3.6rem, 16vw, 5.6rem); }
  .eco-shop-own-canvas { min-height: 390px; margin-top: 15px; }
  .eco-shop-own-canvas__shape { inset: 3% 5% 5%; }
  .eco-shop-own-pencil { width: 70px; height: 70px; font-size: 1.8rem; }
  .eco-shop-own-options__grid,.eco-shop-own-process__grid { grid-template-columns: 1fr; }
  .eco-shop-own-option { min-height: 250px; }
  .eco-shop-own-process__grid article { min-height: 330px; }
  .eco-shop-own-form { border-radius: 24px 24px 70px 24px; }
  .eco-shop-own-mailbox { grid-template-columns: 1fr; }
}

/* =========================================================
   EcoAbi Shop – Einzelprodukt
   ========================================================= */
.eco-shop-product-main { overflow: hidden; background: var(--shop-paper); }
.eco-shop-product-breadcrumbs { display: flex; align-items: center; gap: 9px; padding-top: 24px; padding-bottom: 24px; overflow-x: auto; color: var(--shop-muted); font-size: .69rem; font-weight: 700; white-space: nowrap; scrollbar-width: none; }
.eco-shop-product-breadcrumbs::-webkit-scrollbar { display: none; }
.eco-shop-product-breadcrumbs a { color: var(--shop-green); text-decoration: none; }
.eco-shop-product-breadcrumbs a:hover { text-decoration: underline; }
.eco-shop-product-breadcrumbs > span:last-child { max-width: 280px; overflow: hidden; text-overflow: ellipsis; }
.eco-shop-product-notices { position: relative; z-index: 3; }
.eco-shop-product-notices:empty { display: none; }
.eco-shop-product-notices .woocommerce-message,
.eco-shop-product-notices .woocommerce-info,
.eco-shop-product-notices .woocommerce-error { margin: 0 0 24px; padding: 18px 22px; border: 0; border-radius: 16px; background: #e3eee8; color: var(--shop-ink); list-style: none; }
.eco-shop-product-notices .button { float: right; color: var(--shop-green); font-weight: 850; }
.eco-shop-product-hero { position: relative; padding: 28px 0 clamp(90px, 10vw, 150px); }
.eco-shop-product-hero::before { content: ""; position: absolute; top: -20%; right: -14%; width: min(45vw, 700px); aspect-ratio: 1; border: clamp(45px, 7vw, 110px) solid rgba(31,122,80,.075); border-radius: 50%; pointer-events: none; }
.eco-shop-product-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(440px, 1.04fr) minmax(430px, .96fr); align-items: start; gap: clamp(55px, 8vw, 135px); }

/* Woo-Galerie: Funktionen behalten, Darstellung erneuern. */
.eco-shop-product-gallery { position: sticky; top: 128px; min-width: 0; }
.eco-shop-product-gallery::after { top: 20px; right: 20px; width: 72px; border-radius: 20px; }
.eco-shop-product-special { position: absolute; z-index: 8; top: 20px; left: 20px; padding: 9px 14px; border-radius: 999px; background: var(--shop-lime); color: var(--shop-ink); font-size: .65rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.eco-shop-product-gallery .woocommerce-product-gallery { float: none !important; width: 100% !important; margin: 0 !important; opacity: 1 !important; }
.eco-shop-product-gallery .woocommerce-product-gallery__wrapper { margin: 0; }
.eco-shop-product-gallery .woocommerce-product-gallery__image { display: grid !important; place-items: center; overflow: hidden; min-height: clamp(520px, 52vw, 790px); border: 1px solid var(--shop-line); border-radius: 38px 38px 130px 38px; background: #f1f0e9; }
.eco-shop-product-gallery .woocommerce-product-gallery__image a { display: grid; place-items: center; width: 100%; height: 100%; }
.eco-shop-product-gallery .woocommerce-product-gallery__image img { width: 100% !important; height: clamp(520px, 52vw, 790px) !important; padding: clamp(44px, 7vw, 105px); object-fit: contain; }
.eco-shop-product-gallery .woocommerce-product-gallery__trigger { top: 20px !important; right: 20px !important; display: grid !important; place-items: center; width: 44px !important; height: 44px !important; border: 1px solid var(--shop-line) !important; border-radius: 50% !important; background: rgba(255,255,255,.9) !important; text-indent: -9999px; }
.eco-shop-product-gallery .woocommerce-product-gallery__trigger::before { top: 13px !important; left: 13px !important; width: 13px !important; height: 13px !important; border-color: var(--shop-ink) !important; }
.eco-shop-product-gallery .woocommerce-product-gallery__trigger::after { top: 27px !important; left: 27px !important; background: var(--shop-ink) !important; }
.eco-shop-product-gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 12px 0 0 !important; padding: 0 !important; list-style: none; }
.eco-shop-product-gallery .flex-control-thumbs li { float: none !important; width: auto !important; }
.eco-shop-product-gallery .flex-control-thumbs img { width: 100%; aspect-ratio: 1; padding: 9px; border: 1px solid var(--shop-line); border-radius: 14px; background: #fff; object-fit: contain; opacity: .62; cursor: pointer; }
.eco-shop-product-gallery .flex-control-thumbs img.flex-active { border-color: var(--shop-green); opacity: 1; }
.eco-shop-product-gallery__note { position: absolute; right: -16px; bottom: 25px; z-index: 5; display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 12px; max-width: 270px; padding: 14px 20px 14px 14px; border: 8px solid var(--shop-paper); border-radius: 22px 22px 58px 22px; background: var(--shop-forest); color: #fff; box-shadow: 0 20px 50px rgba(16,39,31,.18); }
.eco-shop-product-gallery__note > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--shop-lime); color: var(--shop-forest); font-weight: 900; }
.eco-shop-product-gallery__note p,.eco-shop-product-gallery__note strong,.eco-shop-product-gallery__note small { display: block; margin: 0; }
.eco-shop-product-gallery__note strong { font-size: .77rem; }
.eco-shop-product-gallery__note small { margin-top: 2px; color: #b9ccc4; font-size: .64rem; }

/* Zusammenfassung und Kaufform */
.eco-shop-product-summary { min-width: 0; padding-top: clamp(24px, 4vw, 62px); }
.eco-shop-product-summary h1 { max-width: 760px; margin: 16px 0 20px; color: var(--shop-ink); font-size: clamp(3.25rem, 5.6vw, 6.6rem); font-weight: 570; line-height: .91; letter-spacing: -.068em; text-wrap: balance; }
.eco-shop-product-rating { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; color: var(--shop-muted); font-size: .7rem; }
.eco-shop-product-rating .star-rating { float: none; color: #cca900; }
.eco-shop-product-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin: 22px 0; color: var(--shop-green); font-size: clamp(1.65rem, 2.3vw, 2.45rem); font-weight: 850; letter-spacing: -.04em; }
.eco-shop-product-price del { color: #84918c; font-size: .62em; font-weight: 500; }
.eco-shop-product-price ins { text-decoration: none; }
.eco-shop-product-price .woocommerce-Price-amount { white-space: nowrap; }
.eco-shop-product-intro { max-width: 690px; color: #40544c; font-size: clamp(1rem, 1.3vw, 1.17rem); line-height: 1.72; }
.eco-shop-product-intro > *:first-child { margin-top: 0; }
.eco-shop-product-buybox { margin-top: 34px; padding: clamp(23px, 3.2vw, 38px); border: 1px solid var(--shop-line); border-radius: 28px 28px 78px 28px; background: #fff; box-shadow: 0 22px 65px rgba(16,39,31,.08); }
.eco-shop-product-buybox__top { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 25px; padding-bottom: 18px; border-bottom: 1px solid var(--shop-line); font-size: .77rem; }
.eco-shop-product-buybox__top strong { color: var(--shop-ink); }
.eco-shop-product-buybox__top small { width: 100%; padding-left: 17px; color: var(--shop-muted); }
.eco-shop-stock-dot { width: 9px; height: 9px; border-radius: 50%; background: #b64545; box-shadow: 0 0 0 5px rgba(182,69,69,.12); }
.eco-shop-stock-dot.is-in-stock { background: var(--shop-green); box-shadow: 0 0 0 5px rgba(31,122,80,.13); }
.eco-shop-native-cart form.cart { margin: 0 !important; }
.eco-shop-native-cart table.variations { width: 100%; margin: 0 0 15px; border-collapse: collapse; }
.eco-shop-native-cart table.variations tr { display: grid; grid-template-columns: 115px minmax(0, 1fr); align-items: center; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--shop-line); }
.eco-shop-native-cart table.variations th,
.eco-shop-native-cart table.variations td { padding: 0 !important; border: 0 !important; text-align: left; }
.eco-shop-native-cart table.variations label { font-size: .75rem; font-weight: 850; }
.eco-shop-native-cart table.variations select { width: 100%; min-height: 50px; padding: 10px 42px 10px 14px; border: 1px solid #cbd8d1; border-radius: 12px; background-color: #fff; color: var(--shop-ink); font: inherit; }
.eco-shop-native-cart .reset_variations { display: inline-block; margin-top: 9px; color: var(--shop-green); font-size: .7rem; font-weight: 750; text-decoration: none; }
.eco-shop-native-cart .single_variation_wrap { margin-top: 20px; }
.eco-shop-native-cart .woocommerce-variation-price { margin-bottom: 12px; color: var(--shop-green); font-size: 1.25rem; font-weight: 850; }
.eco-shop-native-cart .woocommerce-variation-availability .stock { margin: 0 0 16px; color: var(--shop-green); font-size: .75rem; }
.eco-shop-native-cart .woocommerce-variation-add-to-cart,
.eco-shop-native-cart form.cart:not(.variations_form) { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 10px; }
.eco-shop-native-cart .quantity .qty { width: 100%; min-height: 54px; padding: 10px; border: 1px solid #cbd8d1; border-radius: 999px; background: #fff; color: var(--shop-ink); font: inherit; font-weight: 800; text-align: center; }
.eco-shop-native-cart .single_add_to_cart_button { min-height: 54px; padding: 13px 24px !important; border: 0 !important; border-radius: 999px !important; background: var(--shop-forest) !important; color: #fff !important; font: inherit !important; font-size: .84rem !important; font-weight: 850 !important; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.eco-shop-native-cart .single_add_to_cart_button:hover { background: var(--shop-green) !important; transform: translateY(-2px); }
.eco-shop-native-cart .single_add_to_cart_button.disabled { opacity: .42; cursor: not-allowed; transform: none; }
.eco-shop-native-cart .wcpay-express-checkout-wrapper,
.eco-shop-native-cart .ppcp-button-wrapper,
.eco-shop-native-cart [id*="ppc-button"],
.eco-shop-native-cart .paypal-buttons-context-iframe { grid-column: 1 / -1; width: 100% !important; margin-top: 12px; }
.eco-shop-native-cart .wcpay-express-checkout-wrapper { padding-top: 17px; border-top: 1px solid var(--shop-line); }
.eco-shop-native-cart iframe { max-width: 100%; }
.eco-shop-small-business { margin: 18px 0 0; color: var(--shop-muted); font-size: .66rem; text-align: center; }
.eco-shop-small-business a { color: var(--shop-green); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.eco-shop-shipping-note { display: flex; align-items: flex-start; gap: 12px; margin: 20px 0 0; padding: 15px 17px; border-radius: 16px; background: #edf4ef; color: var(--shop-muted); font-size: .72rem; line-height: 1.55; }
.eco-shop-shipping-note > span { flex: 0 0 auto; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--shop-lime); color: var(--shop-forest); font-weight: 900; }
.eco-shop-shipping-note strong,
.eco-shop-shipping-note small { display: block; }
.eco-shop-shipping-note small { margin-top: 2px; }
.eco-shop-shipping-note a { color: var(--shop-green); font-weight: 800; }
.eco-shop-product-promises { margin: 25px 0 0; padding: 0; border-top: 1px solid var(--shop-line); list-style: none; }
.eco-shop-product-promises li { display: grid; grid-template-columns: 36px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--shop-line); }
.eco-shop-product-promises li > span { color: var(--shop-green); font-size: .63rem; font-weight: 900; letter-spacing: .08em; }
.eco-shop-product-promises strong,.eco-shop-product-promises small { display: block; }
.eco-shop-product-promises strong { color: var(--shop-ink); font-size: .84rem; }
.eco-shop-product-promises small { margin-top: 3px; color: var(--shop-muted); font-size: .72rem; }

/* Produktgeschichte und Details */
.eco-shop-product-story { padding: clamp(90px, 11vw, 165px) 0; background: #e3eee8; }
.eco-shop-product-story__grid { display: grid; grid-template-columns: minmax(320px, .7fr) minmax(0, 1.3fr); align-items: start; gap: clamp(55px, 9vw, 145px); }
.eco-shop-product-story__intro { position: sticky; top: 130px; }
.eco-shop-product-story__intro h2 { max-width: 650px; margin: 18px 0 25px; font-size: clamp(3rem, 5vw, 5.8rem); font-weight: 570; line-height: .92; letter-spacing: -.062em; }
.eco-shop-product-story__intro > p:last-child { max-width: 520px; color: var(--shop-muted); line-height: 1.75; }
.eco-shop-product-description { padding: clamp(30px, 5vw, 62px); border-radius: 32px 32px 105px 32px; background: #fff; box-shadow: 0 25px 70px rgba(16,39,31,.075); }
.eco-shop-product-details { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--shop-line); }
.eco-shop-product-details h3 { margin-top: 0; }
.eco-shop-product-details table { width: 100%; border-collapse: collapse; }
.eco-shop-product-details th,.eco-shop-product-details td { padding: 14px 0; border-bottom: 1px solid var(--shop-line); text-align: left; vertical-align: top; }
.eco-shop-product-details th { width: 38%; color: var(--shop-muted); font-size: .73rem; letter-spacing: .04em; text-transform: uppercase; }
.eco-shop-product-details td p { margin: 0; color: var(--shop-ink); }
.eco-shop-product-meta { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 35px; }
.eco-shop-product-meta > span { padding: 18px; border-radius: 16px; background: #eef4ef; }
.eco-shop-product-meta small,.eco-shop-product-meta strong { display: block; }
.eco-shop-product-meta small { margin-bottom: 5px; color: var(--shop-muted); font-size: .62rem; text-transform: uppercase; }
.eco-shop-product-meta strong { font-size: .82rem; }
.eco-shop-product-meta a { color: var(--shop-green); text-decoration: none; }
.eco-shop-spec-help { margin: 18px 0 0; padding: 16px 18px; border-left: 3px solid var(--shop-lime); border-radius: 0 14px 14px 0; background: #f4f7f3; color: var(--shop-muted); font-size: .78rem; line-height: 1.6; }
.eco-shop-spec-help a { color: var(--shop-green); font-weight: 800; }
.eco-shop-product-values { padding: 20px 0 110px; background: #e3eee8; }
.eco-shop-product-values__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--shop-line); border-bottom: 1px solid var(--shop-line); }
.eco-shop-product-values article { padding: 38px; }
.eco-shop-product-values article + article { border-left: 1px solid var(--shop-line); }
.eco-shop-product-values b { color: var(--shop-green); font-size: .66rem; }
.eco-shop-product-values h3 { margin: 16px 0 8px; font-size: 1.2rem; }
.eco-shop-product-values p { margin: 0; color: var(--shop-muted); font-size: .84rem; }
.eco-shop-product-related { padding-top: clamp(90px, 10vw, 145px); }

/* Echte WooCommerce-Bewertungen im EcoAbi-Look. */
.eco-shop-product-reviews { padding: clamp(90px, 10vw, 145px) 0; background: var(--shop-paper); }
.eco-shop-product-reviews__grid { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); align-items: start; gap: clamp(45px, 8vw, 125px); }
.eco-shop-product-reviews__intro { position: sticky; top: 130px; }
.eco-shop-product-reviews__intro h2 { margin: 18px 0 15px; font-size: clamp(2.8rem, 4.8vw, 5.4rem); font-weight: 570; line-height: .94; letter-spacing: -.06em; }
.eco-shop-product-reviews__intro p:last-child { max-width: 470px; color: var(--shop-muted); line-height: 1.7; }
.eco-shop-review-card { min-width: 0; padding: clamp(25px, 4vw, 54px); border: 1px solid var(--shop-line); border-radius: 30px 30px 95px 30px; background: #fff; box-shadow: 0 24px 70px rgba(16, 39, 31, .065); }
.eco-shop-review-card #reviews { color: var(--shop-ink); }
.eco-shop-review-card #comments h2,
.eco-shop-review-card #reply-title { display: block; margin: 0 0 24px; color: var(--shop-ink); font-size: clamp(1.8rem, 3vw, 3rem); font-weight: 620; letter-spacing: -.04em; }
.eco-shop-review-card .commentlist { margin: 0 0 42px !important; padding: 0 !important; list-style: none; }
.eco-shop-review-card .commentlist li { margin: 0 0 14px !important; padding: 22px !important; border: 1px solid var(--shop-line) !important; border-radius: 18px !important; background: #f7faf7 !important; }
.eco-shop-review-card .comment_container { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 16px; }
.eco-shop-review-card .avatar { position: static !important; float: none !important; width: 52px !important; height: 52px !important; padding: 0 !important; border: 0 !important; border-radius: 50%; }
.eco-shop-review-card .comment-text { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.eco-shop-review-card .star-rating { float: none; margin-bottom: 8px; color: #cca900; }
.eco-shop-review-card .meta { margin: 0 0 10px !important; color: var(--shop-muted) !important; font-size: .7rem !important; }
.eco-shop-review-card .description p { margin-bottom: 0; line-height: 1.65; }
.eco-shop-review-card .comment-form-rating { margin-bottom: 20px; }
.eco-shop-review-card .comment-form-rating label,
.eco-shop-review-card .comment-form-comment label,
.eco-shop-review-card .comment-form-author label,
.eco-shop-review-card .comment-form-email label { display: block; margin-bottom: 8px; color: var(--shop-ink); font-size: .73rem; font-weight: 820; }
.eco-shop-review-card textarea,
.eco-shop-review-card input[type="text"],
.eco-shop-review-card input[type="email"] { width: 100%; min-height: 50px; padding: 13px 15px; border: 1px solid #cbd8d1; border-radius: 14px; background: #fff; color: var(--shop-ink); font: inherit; }
.eco-shop-review-card textarea { min-height: 150px; resize: vertical; }
.eco-shop-review-card .form-submit .submit { min-height: 52px; padding: 13px 24px !important; border: 0 !important; border-radius: 999px !important; background: var(--shop-forest) !important; color: #fff !important; font: inherit !important; font-size: .8rem !important; font-weight: 850 !important; cursor: pointer; }

@media (max-width: 1050px) {
  .eco-shop-product-hero__grid { grid-template-columns: minmax(360px, .9fr) minmax(390px, 1.1fr); gap: 45px; }
  .eco-shop-product-gallery__note { right: 5px; }
  .eco-shop-product-story__grid { grid-template-columns: 1fr; }
  .eco-shop-product-story__intro { position: static; }
  .eco-shop-product-reviews__grid { grid-template-columns: 1fr; }
  .eco-shop-product-reviews__intro { position: static; }
}

@media (max-width: 820px) {
  .eco-shop-product-hero { padding-top: 10px; }
  .eco-shop-product-hero__grid { grid-template-columns: 1fr; }
  .eco-shop-product-gallery { position: relative; top: auto; }
  .eco-shop-product-gallery .woocommerce-product-gallery__image { min-height: min(112vw, 660px); }
  .eco-shop-product-gallery .woocommerce-product-gallery__image img { height: min(112vw, 660px) !important; padding: clamp(30px, 9vw, 70px); }
  .eco-shop-product-summary { padding-top: 20px; }
  .eco-shop-product-values__grid { grid-template-columns: 1fr; }
  .eco-shop-product-values article + article { border-top: 1px solid var(--shop-line); border-left: 0; }
}

@media (max-width: 520px) {
  .eco-shop-product-summary h1 { font-size: clamp(3rem, 15vw, 4.7rem); }
  .eco-shop-product-gallery .woocommerce-product-gallery__image { border-radius: 26px 26px 78px 26px; }
  .eco-shop-product-gallery__note { right: -4px; bottom: 12px; max-width: 230px; border-width: 5px; }
  .eco-shop-product-gallery__note small { display: none; }
  .eco-shop-product-card__image::after { width: 46px; border-radius: 13px; }
  .eco-shop-product-gallery::after { top: 14px; right: 14px; width: 58px; border-radius: 16px; }
  .eco-shop-product-buybox { padding: 20px 16px; border-radius: 22px 22px 60px 22px; }
  .eco-shop-native-cart table.variations tr { grid-template-columns: 1fr; gap: 7px; }
  .eco-shop-native-cart .woocommerce-variation-add-to-cart,
  .eco-shop-native-cart form.cart:not(.variations_form) { grid-template-columns: 68px minmax(0, 1fr); }
  .eco-shop-product-meta { grid-template-columns: 1fr; }
  .eco-shop-product-description { padding: 24px 18px; border-radius: 24px 24px 72px 24px; }
  .eco-shop-review-card { padding: 22px 17px; border-radius: 24px 24px 70px 24px; }
  .eco-shop-review-card .comment_container { grid-template-columns: 1fr; }
}



/* EcoAbi cart shipping cards v1 */
body.woocommerce-cart .eco-shop-system-card .cart-collaterals .cart_totals {
  width: min(100%, 650px);
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(16,39,31,.12);
  border-radius: 30px 30px 86px 30px;
  background: linear-gradient(145deg,#f4f8f4 0%,#e6f0e9 100%);
  box-shadow: 0 24px 60px rgba(16,39,31,.10);
}
body.woocommerce-cart .eco-shop-system-card .cart_totals > h2 {
  margin: 0 0 20px;
  color: var(--shop-ink);
  font-size: clamp(1.9rem,3vw,2.8rem);
  line-height: 1;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals > h2::before {
  content: "Deine Bestellung";
  display: block;
  margin-bottom: 9px;
  color: var(--shop-green);
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals table.shop_table {
  display: block;
  overflow: visible;
  margin: 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals table.shop_table tbody {
  display: grid;
  gap: 12px;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.cart-subtotal,
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total {
  display: grid;
  grid-template-columns: 150px minmax(0,1fr);
  overflow: hidden;
  border: 1px solid var(--shop-line);
  border-radius: 17px;
  background: #fff;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.cart-subtotal th,
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total th {
  display: flex;
  align-items: center;
  padding: 17px 18px !important;
  border: 0 !important;
  background: #f0f5f1 !important;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.cart-subtotal td,
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total td {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 17px 20px !important;
  border: 0 !important;
  background: #fff;
  color: var(--shop-ink);
  font-size: 1.12rem;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.woocommerce-shipping-totals {
  display: grid;
  grid-template-columns: 1fr;
  overflow: hidden;
  border: 1px solid var(--shop-line);
  border-radius: 22px;
  background: #fff;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.woocommerce-shipping-totals > th {
  padding: 20px 20px 4px !important;
  border: 0 !important;
  background: #fff !important;
  color: var(--shop-green);
  font-size: .67rem;
  letter-spacing: .13em;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.woocommerce-shipping-totals > td {
  padding: 12px 14px 18px !important;
  border: 0 !important;
  background: #fff;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method {
  display: grid;
  gap: 9px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method li {
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method label {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  margin: 0 !important;
  padding: 13px 16px 13px 50px;
  border: 1px solid #d3ddd7;
  border-radius: 16px;
  background: #f8faf8;
  color: #31453c;
  font-size: .9rem;
  font-weight: 680;
  line-height: 1.25;
  cursor: pointer;
  transition: border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method label::before {
  content: "";
  position: absolute;
  left: 17px;
  top: 50%;
  width: 19px;
  height: 19px;
  border: 2px solid #9aaba2;
  border-radius: 50%;
  background: #fff;
  transform: translateY(-50%);
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method label::after {
  content: "";
  position: absolute;
  left: 22px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--shop-lime);
  transform: translateY(-50%) scale(0);
  transition: transform .18s ease;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method label:hover {
  border-color: var(--shop-green);
  background: #fff;
  transform: translateY(-1px);
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method input:focus-visible + label {
  outline: 3px solid var(--shop-lime);
  outline-offset: 3px;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method input:checked + label {
  border-color: var(--shop-forest);
  background: var(--shop-forest);
  color: #fff;
  box-shadow: 0 13px 28px rgba(16,39,31,.18);
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method input:checked + label::before {
  border-color: var(--shop-lime);
  background: rgba(255,255,255,.08);
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method input:checked + label::after {
  transform: translateY(-50%) scale(1);
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method .woocommerce-Price-amount {
  justify-self: end;
  color: inherit;
  font-size: 1rem;
  font-weight: 900;
  white-space: nowrap;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals .woocommerce-shipping-destination,
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.woocommerce-shipping-totals td > p {
  margin: 13px 2px 0 !important;
  padding: 11px 13px;
  border-radius: 12px;
  background: #edf4ef;
  color: var(--shop-muted);
  font-size: .69rem;
  line-height: 1.55;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals .shipping-calculator-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  padding: 9px 13px;
  border: 1px solid rgba(31,122,80,.22);
  border-radius: 999px;
  background: #fff;
  color: var(--shop-green) !important;
  font-size: .72rem;
  font-weight: 850;
  line-height: 1.2;
  text-decoration: none !important;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total {
  border-color: rgba(220,239,121,.75);
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total th {
  background: var(--shop-lime) !important;
  color: var(--shop-ink);
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total td strong {
  font-size: clamp(1.25rem,2vw,1.55rem);
  letter-spacing: -.03em;
}
@media (max-width:620px) {
  body.woocommerce-cart .eco-shop-system-card .cart-collaterals .cart_totals {
    padding: 18px;
    border-radius: 24px 24px 58px 24px;
  }
  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.cart-subtotal,
  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total {
    grid-template-columns: minmax(0,1fr) auto;
  }
  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.cart-subtotal th,
  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total th,
  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.cart-subtotal td,
  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total td {
    padding: 15px !important;
  }
  body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method label {
    min-height: 58px;
    padding-right: 13px;
    font-size: .82rem;
  }
}



/* EcoAbi checkout redesign v1 */
body.woocommerce-checkout .eco-shop-system-layout{grid-template-columns:minmax(0,1fr)}
body.woocommerce-checkout .eco-shop-system-card{padding:clamp(24px,4vw,54px);border-radius:34px 34px 100px 34px}
body.woocommerce-checkout .eco-shop-system-card form.checkout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);align-items:start;gap:0 clamp(28px,4vw,58px);width:100%}
body.woocommerce-checkout .eco-shop-system-card .woocommerce-form-coupon-toggle{margin-bottom:22px}
body.woocommerce-checkout .eco-shop-system-card .woocommerce-form-coupon-toggle .woocommerce-info{margin:0;padding:15px 18px 15px 48px;border-radius:15px;background:#edf5ef;font-size:.78rem}
body.woocommerce-checkout .eco-shop-system-card form.checkout_coupon{display:flex;align-items:end;gap:12px;margin:0 0 26px!important;padding:18px!important;border:1px solid var(--shop-line)!important;border-radius:18px!important;background:#f8faf8}
body.woocommerce-checkout .eco-shop-system-card .wcpay-express-checkout-wrapper{grid-column:1/-1;margin:0 0 34px;padding:20px;border:1px solid var(--shop-line);border-radius:22px;background:#f5f8f5}
body.woocommerce-checkout .eco-shop-system-card #wcpay-express-checkout-button-separator{margin:18px 0 0;color:var(--shop-muted);font-size:.65rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
body.woocommerce-checkout .eco-shop-system-card #customer_details{grid-column:1;grid-row:2/span 2;display:block;width:100%;min-width:0}
body.woocommerce-checkout .eco-shop-system-card #customer_details .col-1,
body.woocommerce-checkout .eco-shop-system-card #customer_details .col-2{float:none;width:100%}
body.woocommerce-checkout .eco-shop-system-card .woocommerce-billing-fields,
body.woocommerce-checkout .eco-shop-system-card .woocommerce-shipping-fields,
body.woocommerce-checkout .eco-shop-system-card .woocommerce-additional-fields{padding:clamp(22px,3vw,34px);border:1px solid var(--shop-line);border-radius:26px;background:#f7faf7}
body.woocommerce-checkout .eco-shop-system-card .woocommerce-shipping-fields,
body.woocommerce-checkout .eco-shop-system-card .woocommerce-additional-fields{margin-top:18px}
body.woocommerce-checkout .eco-shop-system-card .woocommerce-billing-fields>h3,
body.woocommerce-checkout .eco-shop-system-card .woocommerce-additional-fields>h3,
body.woocommerce-checkout .eco-shop-system-card .woocommerce-shipping-fields>h3{margin:0 0 24px;color:var(--shop-ink);font-size:clamp(1.7rem,2.5vw,2.45rem);font-weight:650;line-height:1;letter-spacing:-.045em}
body.woocommerce-checkout .eco-shop-system-card .woocommerce-billing-fields>h3::before{content:"01 / Deine Daten";display:block;margin-bottom:10px;color:var(--shop-green);font-size:.63rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
body.woocommerce-checkout .eco-shop-system-card .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .eco-shop-system-card .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.woocommerce-checkout .eco-shop-system-card .form-row{float:none!important;width:100%!important;margin:0!important;padding:0!important}
body.woocommerce-checkout .eco-shop-system-card .form-row-wide,
body.woocommerce-checkout .eco-shop-system-card #billing_address_1_field,
body.woocommerce-checkout .eco-shop-system-card #billing_address_2_field,
body.woocommerce-checkout .eco-shop-system-card #shipping_address_1_field,
body.woocommerce-checkout .eco-shop-system-card #shipping_address_2_field{grid-column:1/-1}
body.woocommerce-checkout .eco-shop-system-card .form-row label{display:block;margin:0 0 7px;color:#31453c;font-size:.72rem;font-weight:820}
body.woocommerce-checkout .eco-shop-system-card .form-row .required{color:#c0533d}
body.woocommerce-checkout .eco-shop-system-card .form-row input.input-text,
body.woocommerce-checkout .eco-shop-system-card .form-row textarea,
body.woocommerce-checkout .eco-shop-system-card .select2-container--default .select2-selection--single{width:100%;min-height:54px;padding:13px 15px;border:1px solid #cbd8d1;border-radius:14px;background:#fff;color:var(--shop-ink);font:inherit;box-shadow:0 1px 0 rgba(16,39,31,.02);transition:border-color .18s ease,box-shadow .18s ease}
body.woocommerce-checkout .eco-shop-system-card .form-row input.input-text:focus,
body.woocommerce-checkout .eco-shop-system-card .form-row textarea:focus,
body.woocommerce-checkout .eco-shop-system-card .select2-container--open .select2-selection--single{border-color:var(--shop-green);outline:0;box-shadow:0 0 0 4px rgba(31,122,80,.1)}
body.woocommerce-checkout .eco-shop-system-card .select2-container{width:100%!important}
body.woocommerce-checkout .eco-shop-system-card .select2-selection__rendered{padding:0!important;line-height:27px!important}
body.woocommerce-checkout .eco-shop-system-card .select2-selection__arrow{top:12px!important;right:10px!important}
body.woocommerce-checkout .eco-shop-system-card .woocommerce-additional-fields textarea{min-height:125px;resize:vertical}
body.woocommerce-checkout .eco-shop-system-card #ship-to-different-address{margin-bottom:0}
body.woocommerce-checkout .eco-shop-system-card #ship-to-different-address label{display:flex;align-items:center;gap:10px;cursor:pointer}
body.woocommerce-checkout .eco-shop-system-card #order_review_heading{grid-column:2;grid-row:2;margin:0 0 18px;color:var(--shop-ink);font-size:clamp(1.8rem,2.8vw,2.8rem);line-height:1;letter-spacing:-.045em}
body.woocommerce-checkout .eco-shop-system-card #order_review_heading::before{content:"02 / Prüfen & bezahlen";display:block;margin-bottom:10px;color:var(--shop-green);font-size:.63rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
body.woocommerce-checkout .eco-shop-system-card #order_review{grid-column:2;grid-row:3;position:sticky;top:118px;min-width:0;padding:clamp(20px,2.5vw,30px);border:1px solid rgba(16,39,31,.12);border-radius:28px 28px 82px 28px;background:linear-gradient(145deg,#f1f6f2,#e5efe8);box-shadow:0 22px 55px rgba(16,39,31,.09)}
body.woocommerce-checkout .eco-shop-system-card #order_review table.shop_table{margin:0 0 18px;border:0;border-radius:18px;background:#fff}
body.woocommerce-checkout .eco-shop-system-card #order_review table.shop_table th,
body.woocommerce-checkout .eco-shop-system-card #order_review table.shop_table td{padding:14px 13px!important;border-color:#dde6e0}
body.woocommerce-checkout .eco-shop-system-card #order_review table.shop_table thead th{background:#edf3ef}
body.woocommerce-checkout .eco-shop-system-card #order_review table.shop_table td:last-child,
body.woocommerce-checkout .eco-shop-system-card #order_review table.shop_table th:last-child{text-align:right}
body.woocommerce-checkout .eco-shop-system-card #order_review tr.order-total th{background:var(--shop-lime);color:var(--shop-ink)}
body.woocommerce-checkout .eco-shop-system-card #order_review tr.order-total td{background:#f8fbdc}
body.woocommerce-checkout .eco-shop-system-card #order_review tr.order-total strong{font-size:1.22rem}
body.woocommerce-checkout .eco-shop-system-card #order_review ul#shipping_method{display:grid;gap:7px;margin:0!important;padding:0!important;list-style:none}
body.woocommerce-checkout .eco-shop-system-card #order_review ul#shipping_method li{position:relative;margin:0!important;padding:0!important}
body.woocommerce-checkout .eco-shop-system-card #order_review ul#shipping_method input[type="radio"]{position:absolute;width:1px;height:1px;opacity:0}
body.woocommerce-checkout .eco-shop-system-card #order_review ul#shipping_method label{position:relative;display:flex!important;align-items:center;justify-content:space-between;gap:10px;min-height:48px;margin:0!important;padding:10px 12px 10px 39px;border:1px solid #d4ded8;border-radius:13px;background:#f8faf8;color:#31453c;font-size:.75rem;font-weight:760;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}
body.woocommerce-checkout .eco-shop-system-card #order_review ul#shipping_method label::before{content:"";position:absolute;left:13px;top:50%;width:16px;height:16px;border:2px solid #9aaba2;border-radius:50%;background:#fff;transform:translateY(-50%)}
body.woocommerce-checkout .eco-shop-system-card #order_review ul#shipping_method input:checked+label{border-color:var(--shop-forest);background:var(--shop-forest);color:#fff}
body.woocommerce-checkout .eco-shop-system-card #order_review ul#shipping_method input:checked+label::before{border:5px solid var(--shop-lime);background:var(--shop-forest)}
body.woocommerce-checkout .eco-shop-system-card #payment{overflow:hidden;border:1px solid #d6e0da;border-radius:22px 22px 58px 22px;background:#fff}
body.woocommerce-checkout .eco-shop-system-card #payment ul.payment_methods{display:grid;gap:9px;margin:0;padding:14px!important;border:0!important;background:transparent}
body.woocommerce-checkout .eco-shop-system-card #payment li.wc_payment_method{margin:0;padding:0;border:1px solid #d6e0da;border-radius:15px;background:#f8faf8}
body.woocommerce-checkout .eco-shop-system-card #payment li.wc_payment_method>input[type="radio"]{margin-left:14px;accent-color:var(--shop-green)}
body.woocommerce-checkout .eco-shop-system-card #payment li.wc_payment_method>label{display:inline-flex;align-items:center;min-height:54px;padding:11px 12px;color:var(--shop-ink);font-weight:780;cursor:pointer}
body.woocommerce-checkout .eco-shop-system-card #payment li.wc_payment_method:has(>input:checked){border-color:var(--shop-green);background:#eef5f0;box-shadow:0 0 0 3px rgba(31,122,80,.08)}
body.woocommerce-checkout .eco-shop-system-card #payment div.payment_box{width:auto;margin:0 12px 12px;padding:15px;border-radius:13px;background:#fff;color:var(--shop-muted);font-size:.78rem}
body.woocommerce-checkout .eco-shop-system-card #payment div.payment_box::before{display:none}
body.woocommerce-checkout .eco-shop-system-card #payment .place-order{margin:0;padding:20px!important;border-top:1px solid #dfe7e2;background:#f5f8f5}
body.woocommerce-checkout .eco-shop-system-card #payment .woocommerce-privacy-policy-text{color:var(--shop-muted);font-size:.72rem;line-height:1.6}
body.woocommerce-checkout .eco-shop-system-card #payment #place_order{width:100%;min-height:56px;margin-top:16px;box-shadow:0 13px 26px rgba(16,39,31,.15)}
body.woocommerce-checkout .eco-shop-system-aside{position:static;display:grid;grid-template-columns:auto minmax(170px,.55fr) minmax(0,1.25fr) auto;align-items:center;gap:18px 28px;padding:24px 28px;border-radius:24px 24px 64px 24px}
body.woocommerce-checkout .eco-shop-system-aside h2,
body.woocommerce-checkout .eco-shop-system-aside p,
body.woocommerce-checkout .eco-shop-system-aside ul{margin:0}
body.woocommerce-checkout .eco-shop-system-aside ul{display:flex;flex-wrap:wrap;gap:6px 20px;padding:0;border:0}
@media (max-width:1080px){
 body.woocommerce-checkout .eco-shop-system-card form.checkout{grid-template-columns:1fr}
 body.woocommerce-checkout .eco-shop-system-card .wcpay-express-checkout-wrapper,
 body.woocommerce-checkout .eco-shop-system-card #customer_details,
 body.woocommerce-checkout .eco-shop-system-card #order_review_heading,
 body.woocommerce-checkout .eco-shop-system-card #order_review{grid-column:1;grid-row:auto}
 body.woocommerce-checkout .eco-shop-system-card #order_review_heading{margin-top:34px}
 body.woocommerce-checkout .eco-shop-system-card #order_review{position:static}
 body.woocommerce-checkout .eco-shop-system-aside{grid-template-columns:auto 1fr}
 body.woocommerce-checkout .eco-shop-system-aside p,
 body.woocommerce-checkout .eco-shop-system-aside ul,
 body.woocommerce-checkout .eco-shop-system-aside>a{grid-column:2}
}
@media (max-width:660px){
 body.woocommerce-checkout .eco-shop-system-card{padding:16px;border-radius:22px 22px 58px 22px}
 body.woocommerce-checkout .eco-shop-system-card .woocommerce-billing-fields,
 body.woocommerce-checkout .eco-shop-system-card .woocommerce-shipping-fields,
 body.woocommerce-checkout .eco-shop-system-card .woocommerce-additional-fields,
 body.woocommerce-checkout .eco-shop-system-card #order_review{padding:18px;border-radius:20px}
 body.woocommerce-checkout .eco-shop-system-card .woocommerce-billing-fields__field-wrapper,
 body.woocommerce-checkout .eco-shop-system-card .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}
 body.woocommerce-checkout .eco-shop-system-card .form-row-first,
 body.woocommerce-checkout .eco-shop-system-card .form-row-last{grid-column:1}
 body.woocommerce-checkout .eco-shop-system-card #order_review table.shop_table th,
 body.woocommerce-checkout .eco-shop-system-card #order_review table.shop_table td{padding:11px 9px!important}
 body.woocommerce-checkout .eco-shop-system-aside{display:block}
 body.woocommerce-checkout .eco-shop-system-aside h2{margin-top:18px}
}



/* EcoAbi checkout polish v1 */
body.woocommerce-checkout .eco-shop-system-card .woocommerce-form-coupon-toggle .woocommerce-info{border:1px solid rgba(31,122,80,.18)!important;background:#edf5ef!important;color:var(--shop-ink)!important}
body.woocommerce-checkout .eco-shop-system-card #order_review tr.woocommerce-shipping-totals{display:grid;grid-template-columns:1fr}
body.woocommerce-checkout .eco-shop-system-card #order_review tr.woocommerce-shipping-totals>th{display:block;width:100%;padding:15px 14px 5px!important;border:0!important;background:#fff!important;color:var(--shop-green);text-align:left!important}
body.woocommerce-checkout .eco-shop-system-card #order_review tr.woocommerce-shipping-totals>td{display:block;width:100%;padding:8px 12px 15px!important;border:0!important;background:#fff}
body.woocommerce-checkout .eco-shop-system-card #order_review ul#shipping_method label{width:100%;font-size:.78rem}
body.woocommerce-checkout .eco-shop-system-aside{grid-template-columns:auto max-content minmax(0,1fr) auto;gap:18px 26px}
body.woocommerce-checkout .eco-shop-system-aside p{display:none}
body.woocommerce-checkout .eco-shop-system-aside h2{margin:0}
body.woocommerce-checkout .eco-shop-system-aside ul{justify-content:center}
body.woocommerce-checkout .eco-shop-system-aside>a{white-space:nowrap}
@media (max-width:900px){
 body.woocommerce-checkout .eco-shop-system-aside{grid-template-columns:auto 1fr}
 body.woocommerce-checkout .eco-shop-system-aside ul,
 body.woocommerce-checkout .eco-shop-system-aside>a{grid-column:2;justify-content:flex-start}
}



/* EcoAbi Checkout + Bestellbestaetigung v2 */
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card{padding:clamp(24px,3.2vw,46px)}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card form.checkout{grid-template-columns:minmax(0,1fr);gap:0}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card .wcpay-express-checkout-wrapper,
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #customer_details,
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review_heading,
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review{grid-column:1;grid-row:auto}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review_heading{margin:clamp(42px,5vw,68px) 0 22px}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review{position:static;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:clamp(22px,3vw,38px);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>table.shop_table{grid-column:1;margin:0;border:1px solid rgba(16,39,31,.12);border-radius:24px 24px 62px 24px;box-shadow:0 20px 48px rgba(16,39,31,.07)}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>#payment{grid-column:2;margin:0;box-shadow:0 20px 48px rgba(16,39,31,.07)}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review ul#shipping_method label{min-height:58px;padding:13px 16px 13px 46px;font-size:.86rem}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review ul#shipping_method label:before{left:16px;width:18px;height:18px}

body.woocommerce-order-received .eco-shop-system-layout{grid-template-columns:minmax(0,1fr)}
body.woocommerce-order-received .eco-shop-system-card{padding:clamp(28px,4vw,62px);border-radius:34px 34px 100px 34px}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,3.5vw,42px);width:100%}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-notice--success,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-thankyou-order-received{margin:0!important;padding:clamp(22px,3vw,34px)!important;border:0!important;border-radius:24px 24px 64px 24px;background:var(--shop-lime)!important;color:var(--shop-ink)!important;font-size:clamp(1.45rem,2.7vw,2.4rem);font-weight:680;line-height:1.12;letter-spacing:-.035em}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0!important;padding:0!important;list-style:none}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview li{float:none!important;min-width:0;min-height:106px;margin:0!important;padding:18px 20px!important;border:1px solid var(--shop-line)!important;border-radius:18px;background:#f2f7f3;color:var(--shop-green);font-size:.63rem;font-weight:850;line-height:1.4;letter-spacing:.08em;overflow-wrap:anywhere;text-transform:uppercase}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview li strong{display:block;margin-top:9px;color:var(--shop-ink);font-size:.98rem;font-weight:760;line-height:1.35;letter-spacing:0;text-transform:none}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details{width:100%;margin:0!important}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details__title,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-column__title{margin:0 0 18px;color:var(--shop-ink);font-size:clamp(1.7rem,3vw,2.7rem);line-height:1;letter-spacing:-.045em}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table{width:100%;margin:0;border:1px solid var(--shop-line);border-radius:22px 22px 62px 22px;background:#fff}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table th,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table td{padding:18px 20px!important}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table tfoot tr:last-child th{background:var(--shop-lime)}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table tfoot tr:last-child td{background:#f8fbdc;font-size:1.22rem;font-weight:850}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns--addresses,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-column{float:none!important;width:100%!important;margin:0!important;padding:clamp(22px,3vw,32px);border:1px solid var(--shop-line);border-radius:24px 24px 60px 24px;background:#f2f7f3}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details address{min-height:0;margin:0;padding:0;border:0;color:#31453c;font-style:normal;font-size:1rem;line-height:1.8}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details address p{margin:12px 0 0}
body.woocommerce-order-received .eco-shop-system-aside{position:static;display:grid;grid-template-columns:auto max-content minmax(0,1fr) auto;align-items:center;gap:18px 26px;padding:24px 28px}
body.woocommerce-order-received .eco-shop-system-aside h2,
body.woocommerce-order-received .eco-shop-system-aside p,
body.woocommerce-order-received .eco-shop-system-aside ul{margin:0}
body.woocommerce-order-received .eco-shop-system-aside p{display:none}
body.woocommerce-order-received .eco-shop-system-aside ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;padding:0;border:0}
@media(max-width:1100px){
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review{grid-template-columns:minmax(0,1fr)}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>table.shop_table,
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>#payment{grid-column:1}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns--addresses,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns{grid-template-columns:minmax(0,1fr)}
body.woocommerce-order-received .eco-shop-system-aside{display:block}
body.woocommerce-order-received .eco-shop-system-aside h2{margin-top:18px}
}



/* EcoAbi Checkout + Bestellbestaetigung v2 */
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card{padding:clamp(24px,3.2vw,46px)}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card form.checkout{grid-template-columns:minmax(0,1fr);gap:0}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card .wcpay-express-checkout-wrapper,
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #customer_details,
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review_heading,
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review{grid-column:1;grid-row:auto}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review_heading{margin:clamp(42px,5vw,68px) 0 22px}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review{position:static;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:clamp(22px,3vw,38px);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>table.shop_table{grid-column:1;margin:0;border:1px solid rgba(16,39,31,.12);border-radius:24px 24px 62px 24px;box-shadow:0 20px 48px rgba(16,39,31,.07)}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>#payment{grid-column:2;margin:0;box-shadow:0 20px 48px rgba(16,39,31,.07)}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review ul#shipping_method label{min-height:58px;padding:13px 16px 13px 46px;font-size:.86rem}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review ul#shipping_method label:before{left:16px;width:18px;height:18px}

body.woocommerce-order-received .eco-shop-system-layout{grid-template-columns:minmax(0,1fr)}
body.woocommerce-order-received .eco-shop-system-card{padding:clamp(28px,4vw,62px);border-radius:34px 34px 100px 34px}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,3.5vw,42px);width:100%}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-notice--success,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-thankyou-order-received{margin:0!important;padding:clamp(22px,3vw,34px)!important;border:0!important;border-radius:24px 24px 64px 24px;background:var(--shop-lime)!important;color:var(--shop-ink)!important;font-size:clamp(1.45rem,2.7vw,2.4rem);font-weight:680;line-height:1.12;letter-spacing:-.035em}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0!important;padding:0!important;list-style:none}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview li{float:none!important;min-width:0;min-height:106px;margin:0!important;padding:18px 20px!important;border:1px solid var(--shop-line)!important;border-radius:18px;background:#f2f7f3;color:var(--shop-green);font-size:.63rem;font-weight:850;line-height:1.4;letter-spacing:.08em;overflow-wrap:anywhere;text-transform:uppercase}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview li strong{display:block;margin-top:9px;color:var(--shop-ink);font-size:.98rem;font-weight:760;line-height:1.35;letter-spacing:0;text-transform:none}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details{width:100%;margin:0!important}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details__title,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-column__title{margin:0 0 18px;color:var(--shop-ink);font-size:clamp(1.7rem,3vw,2.7rem);line-height:1;letter-spacing:-.045em}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table{width:100%;margin:0;border:1px solid var(--shop-line);border-radius:22px 22px 62px 22px;background:#fff}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table th,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table td{padding:18px 20px!important}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table tfoot tr:last-child th{background:var(--shop-lime)}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table tfoot tr:last-child td{background:#f8fbdc;font-size:1.22rem;font-weight:850}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns--addresses,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-column{float:none!important;width:100%!important;margin:0!important;padding:clamp(22px,3vw,32px);border:1px solid var(--shop-line);border-radius:24px 24px 60px 24px;background:#f2f7f3}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details address{min-height:0;margin:0;padding:0;border:0;color:#31453c;font-style:normal;font-size:1rem;line-height:1.8}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details address p{margin:12px 0 0}
body.woocommerce-order-received .eco-shop-system-aside{position:static;display:grid;grid-template-columns:auto max-content minmax(0,1fr) auto;align-items:center;gap:18px 26px;padding:24px 28px}
body.woocommerce-order-received .eco-shop-system-aside h2,
body.woocommerce-order-received .eco-shop-system-aside p,
body.woocommerce-order-received .eco-shop-system-aside ul{margin:0}
body.woocommerce-order-received .eco-shop-system-aside p{display:none}
body.woocommerce-order-received .eco-shop-system-aside ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;padding:0;border:0}
@media(max-width:1100px){
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review{grid-template-columns:minmax(0,1fr)}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>table.shop_table,
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>#payment{grid-column:1}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns--addresses,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns{grid-template-columns:minmax(0,1fr)}
body.woocommerce-order-received .eco-shop-system-aside{display:block}
body.woocommerce-order-received .eco-shop-system-aside h2{margin-top:18px}
}
:root {
  --shop-ink: #10271f;
  --shop-forest: #123c2c;
  --shop-green: #1f7a50;
  --shop-mint: #b9e3c6;
  --shop-lime: #dcef79;
  --shop-paper: #fbfaf6;
  --shop-sand: #f4f1e8;
  --shop-white: #fff;
  --shop-muted: #5b6a64;
  --shop-line: rgba(16, 39, 31, .15);
  --shop-max: 1480px;
}

html { scroll-behavior: smooth; }
body.ecoabi-shop-page { margin: 0; overflow-x: hidden; background: var(--shop-paper); }
body.ecoabi-shop-page.eco-shop-menu-open { overflow: hidden; }

.ecoabi-shop-page {
  color: var(--shop-ink);
  background: var(--shop-paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

.ecoabi-shop-page *,
.ecoabi-shop-page *::before,
.ecoabi-shop-page *::after { box-sizing: border-box; }
.ecoabi-shop-page img { display: block; max-width: 100%; }
.ecoabi-shop-page a { color: inherit; }
.ecoabi-shop-page :focus-visible { outline: 3px solid var(--shop-lime); outline-offset: 4px; }
.eco-shop-shell { width: min(calc(100% - clamp(36px, 6vw, 112px)), var(--shop-max)); margin-inline: auto; }

.eco-shop-skip { position: fixed; z-index: 9999; top: 10px; left: 10px; padding: 10px 14px; border-radius: 12px; background: var(--shop-ink); color: #fff !important; transform: translateY(-150%); }
.eco-shop-skip:focus { transform: translateY(0); }

/* Header */
.eco-shop-header { position: relative; z-index: 100; border-bottom: 1px solid var(--shop-line); background: rgba(251, 250, 246, .96); backdrop-filter: blur(18px); }
.eco-shop-header.is-sticky { position: sticky; top: var(--wp-admin--admin-bar--height, 0); box-shadow: 0 12px 34px rgba(16, 39, 31, .08); }
.eco-shop-nav { display: grid; grid-template-columns: auto 1fr auto; align-items: center; min-height: 90px; gap: 36px; }
.eco-shop-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--shop-ink) !important; text-decoration: none !important; }
.eco-shop-brand img { width: 46px; height: 46px; object-fit: contain; border-radius: 13px; }
.eco-shop-brand span { display: flex; flex-direction: column; line-height: 1; }
.eco-shop-brand strong { font-size: 1.18rem; font-weight: 850; letter-spacing: -.04em; }
.eco-shop-brand small { margin-top: 5px; color: var(--shop-green); font-size: .58rem; font-weight: 850; letter-spacing: .2em; }
.eco-shop-nav__links { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.1vw, 36px); }
.eco-shop-nav__links a { position: relative; color: #2e443b; font-size: .86rem; font-weight: 760; text-decoration: none; }
.eco-shop-nav__links a::after { content: ""; position: absolute; right: 0; bottom: -8px; left: 0; height: 2px; background: var(--shop-green); transform: scaleX(0); transform-origin: right; transition: transform .2s ease; }
.eco-shop-nav__links a:hover::after,
.eco-shop-nav__links a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.eco-shop-nav__actions { display: flex; align-items: center; gap: 8px; }
.eco-shop-icon-link { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--shop-line); border-radius: 50%; color: var(--shop-ink) !important; text-decoration: none !important; transition: background .2s ease, transform .2s ease; }
.eco-shop-icon-link:hover { background: var(--shop-mint); transform: translateY(-2px); }
.eco-shop-icon-link svg { width: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.eco-shop-cart-count { position: absolute; top: -5px; right: -5px; display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 99px; background: var(--shop-lime); color: var(--shop-ink); font-size: .62rem; font-weight: 900; }
.eco-shop-menu-button { display: none; width: 46px; height: 46px; padding: 0; border: 1px solid var(--shop-line); border-radius: 50%; background: transparent; }
.eco-shop-menu-button span,
.eco-shop-menu-button span::before,
.eco-shop-menu-button span::after { display: block; width: 18px; height: 2px; margin: auto; background: var(--shop-ink); transition: transform .2s ease, opacity .2s ease; }
.eco-shop-menu-button span { position: relative; }
.eco-shop-menu-button span::before,
.eco-shop-menu-button span::after { content: ""; position: absolute; left: 0; }
.eco-shop-menu-button span::before { top: -6px; }
.eco-shop-menu-button span::after { top: 6px; }
.eco-shop-menu-button[aria-expanded="true"] span { background: transparent; }
.eco-shop-menu-button[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
.eco-shop-menu-button[aria-expanded="true"] span::after { top: 0; transform: rotate(-45deg); }

/* Shared elements */
.eco-shop-kicker { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 20px; color: var(--shop-green); font-size: .72rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.eco-shop-kicker::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.eco-shop-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 13px 23px; border: 1px solid var(--shop-forest); border-radius: 999px; background: var(--shop-forest); color: #fff !important; font-size: .86rem; font-weight: 820; text-decoration: none !important; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.eco-shop-button:hover { border-color: var(--shop-green); background: var(--shop-green); transform: translateY(-2px); }
.eco-shop-button--ghost { background: transparent; color: var(--shop-forest) !important; }
.eco-shop-button--ghost:hover { color: #fff !important; }
.eco-shop-section { padding: clamp(88px, 10vw, 155px) 0; }
.eco-shop-section-head { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); align-items: end; gap: 50px; margin-bottom: 58px; }
.eco-shop-section-head h2,
.eco-shop-selfmade h2,
.eco-shop-drop h2 { margin: 0; color: var(--shop-ink); font-size: clamp(2.8rem, 5vw, 5.8rem); font-weight: 590; line-height: .94; letter-spacing: -.06em; text-wrap: balance; }
.eco-shop-section-head > p { max-width: 540px; margin: 0; color: var(--shop-muted); font-size: 1.08rem; line-height: 1.65; }
[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

/* Hero */
.eco-shop-hero { position: relative; overflow: hidden; padding: clamp(68px, 7vw, 118px) 0 clamp(80px, 8vw, 130px); }
.eco-shop-hero::before { content: ""; position: absolute; bottom: -220px; left: -230px; width: 430px; aspect-ratio: 1; border: 78px solid rgba(185, 227, 198, .18); border-radius: 50%; pointer-events: none; }
.eco-shop-hero::after { content: ""; position: absolute; top: -190px; right: -150px; width: 500px; aspect-ratio: 1; border: 88px solid rgba(185, 227, 198, .28); border-radius: 50%; pointer-events: none; }
.eco-shop-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(480px, .97fr); align-items: center; gap: clamp(56px, 7vw, 130px); }
.eco-shop-hero h1 { max-width: 840px; margin: 0; color: var(--shop-ink); font-size: clamp(3.7rem, 6.5vw, 7.5rem); font-weight: 660; line-height: .88; letter-spacing: -.072em; text-wrap: balance; }
.eco-shop-hero h1 em { display: block; color: var(--shop-green); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.eco-shop-lead { max-width: 660px; margin: 32px 0 0; color: #3d5149; font-size: clamp(1.05rem, 1.4vw, 1.3rem); line-height: 1.65; }
.eco-shop-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.eco-shop-mini-trust { display: flex; flex-wrap: wrap; gap: 12px 26px; margin-top: 34px; color: var(--shop-muted); font-size: .75rem; font-weight: 740; }
.eco-shop-mini-trust span { display: inline-flex; align-items: center; gap: 8px; }
.eco-shop-mini-trust span::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--shop-lime); box-shadow: 0 0 0 4px rgba(220, 239, 121, .25); }
.eco-shop-hero__visual { position: relative; min-height: 640px; }
.eco-shop-stage { position: absolute; display: block; overflow: hidden; color: var(--shop-ink) !important; text-decoration: none !important; box-shadow: 0 30px 80px rgba(16, 39, 31, .14); }
.eco-shop-stage--main { inset: 0 16% 0 0; border-radius: 42px 42px 140px 42px; background: linear-gradient(145deg, #e7f2e9, #cfe7d6); }
.eco-shop-stage--main .eco-shop-stage__image { width: 100%; height: 78%; padding: clamp(36px, 5vw, 74px); object-fit: contain; transition: transform .45s ease; }
.eco-shop-stage--main:hover .eco-shop-stage__image { transform: scale(1.045) rotate(-1deg); }
.eco-shop-stage--side { right: 0; bottom: 26px; width: 39%; height: 46%; border: 10px solid var(--shop-paper); border-radius: 30px 30px 82px 30px; background: #fff; }
.eco-shop-stage--side .eco-shop-stage__image { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.eco-shop-stage--side:hover .eco-shop-stage__image { transform: scale(1.05); }
.eco-shop-stage__tag { position: absolute; z-index: 2; top: 24px; left: 24px; padding: 8px 12px; border-radius: 999px; background: var(--shop-lime); font-size: .64rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.eco-shop-stage__caption { position: absolute; z-index: 2; left: 24px; bottom: 24px; display: flex; flex-direction: column; max-width: calc(100% - 48px); padding: 14px 18px; border-radius: 18px; background: rgba(251, 250, 246, .93); backdrop-filter: blur(10px); }
.eco-shop-stage__caption strong { overflow: hidden; font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }
.eco-shop-stage__caption small { margin-top: 3px; color: var(--shop-green); font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.eco-shop-stage--placeholder { display: grid; place-items: center; }
.eco-shop-stage--placeholder > span { color: var(--shop-green); font-size: clamp(2.2rem, 4vw, 4.4rem); font-weight: 650; line-height: .95; letter-spacing: -.055em; text-align: center; }

/* Moving band */
.eco-shop-marquee { overflow: hidden; background: var(--shop-forest); color: var(--shop-lime); white-space: nowrap; }
.eco-shop-marquee__track { display: flex; width: max-content; animation: ecoShopMarquee 34s linear infinite; }
.eco-shop-marquee__set { display: flex; }
.eco-shop-marquee span { display: inline-flex; align-items: center; padding: 19px 29px; font-size: .7rem; font-weight: 880; letter-spacing: .17em; }
.eco-shop-marquee span::after { content: "✦"; margin-left: 58px; }
@keyframes ecoShopMarquee { to { transform: translateX(-50%); } }

/* Product grid */
.eco-shop-products { background: #eaf3ec; }
.eco-shop-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.eco-shop-product-card { overflow: hidden; border: 1px solid rgba(16, 39, 31, .1); border-radius: 28px 28px 70px 28px; background: #fff; box-shadow: 0 18px 45px rgba(16, 39, 31, .07); transition: transform .25s ease, box-shadow .25s ease; }
.eco-shop-product-card:hover { transform: translateY(-8px); box-shadow: 0 28px 64px rgba(16, 39, 31, .13); }
.eco-shop-product-card__image { position: relative; display: grid; place-items: center; overflow: hidden; aspect-ratio: 1; background: var(--shop-sand); }
.eco-shop-product-card__image::after,
.eco-shop-product-gallery::after {
  content: "";
  position: absolute;
  z-index: 7;
  top: 16px;
  right: 16px;
  width: 54px;
  aspect-ratio: 1;
  border: 1px solid rgba(16,39,31,.1);
  border-radius: 15px;
  background: rgba(255,255,255,.92) url("https://ecoabi.de/wp-content/uploads/2026/08/EcoAbi-Logo-Transparent.png") center / 78% auto no-repeat;
  box-shadow: 0 10px 26px rgba(16,39,31,.1);
  backdrop-filter: blur(8px);
  pointer-events: none;
}
.eco-shop-product-card__img { width: 100%; height: 100%; padding: 30px; object-fit: contain; transition: transform .4s ease; }
.eco-shop-product-card:hover .eco-shop-product-card__img { transform: scale(1.055); }
.eco-shop-image-placeholder { display: grid; place-items: center; width: 100%; height: 100%; color: var(--shop-green); font-weight: 850; }
.eco-shop-sale { position: absolute; z-index: 2; top: 16px; left: 16px; padding: 7px 11px; border-radius: 999px; background: var(--shop-lime); color: var(--shop-ink); font-size: .61rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.eco-shop-product-card__body { padding: 22px 22px 26px; }
.eco-shop-product-card__category { margin: 0 0 7px; color: var(--shop-green); font-size: .62rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.eco-shop-product-card h3 { margin: 0; color: var(--shop-ink); font-size: 1.16rem; font-weight: 780; line-height: 1.25; letter-spacing: -.025em; }
.eco-shop-product-card h3 a { text-decoration: none; }
.eco-shop-product-card__bottom { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 20px; }
.eco-shop-product-card__price { color: var(--shop-green); font-size: 1rem; font-weight: 850; }
.eco-shop-product-card__price del { margin-right: 5px; color: #84918c; font-size: .78rem; font-weight: 500; }
.eco-shop-product-card__price ins { text-decoration: none; }
.eco-shop-product-card__arrow { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--shop-line); border-radius: 50%; color: var(--shop-ink) !important; font-weight: 850; text-decoration: none !important; transition: background .2s ease, transform .2s ease; }
.eco-shop-product-card:hover .eco-shop-product-card__arrow { background: var(--shop-lime); transform: rotate(8deg); }
.eco-shop-center { text-align: center; }
.eco-shop-textlink { display: inline-flex; gap: 12px; margin-top: 38px; padding-bottom: 5px; border-bottom: 1px solid currentColor; color: var(--shop-green) !important; font-weight: 820; text-decoration: none !important; }
.eco-shop-empty { padding: clamp(40px, 7vw, 90px); border: 1px solid var(--shop-line); border-radius: 36px 36px 100px 36px; background: #fff; text-align: center; }
.eco-shop-empty h3 { margin: 0; font-size: clamp(2rem, 4vw, 4rem); letter-spacing: -.05em; }

/* Category worlds */
.eco-shop-worlds { background: var(--shop-paper); }
.eco-shop-world-grid { display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: 1fr 1fr; gap: 20px; }
.eco-shop-world { position: relative; display: flex; overflow: hidden; min-height: 290px; padding: 34px; border-radius: 32px; color: var(--shop-ink) !important; text-decoration: none !important; transition: transform .25s ease; }
.eco-shop-world:hover { transform: translateY(-5px); }
.eco-shop-world.is-coming-soon { cursor: default; }
.eco-shop-world.is-coming-soon:hover { transform: none; }
.eco-shop-world__number { position: absolute; top: 28px; right: 28px; font-size: .7rem; font-weight: 900; }
.eco-shop-world > div { position: relative; z-index: 2; align-self: flex-end; max-width: 64%; }
.eco-shop-world p { margin: 0 0 10px; font-size: .66rem; font-weight: 880; letter-spacing: .13em; text-transform: uppercase; }
.eco-shop-world h3 { margin: 0 0 22px; font-size: clamp(1.8rem, 3.2vw, 3.4rem); font-weight: 590; line-height: 1; letter-spacing: -.05em; }
.eco-shop-world u { font-size: .76rem; font-weight: 820; text-decoration: none; }
.eco-shop-world__status { display: inline-flex; align-items: center; padding: 9px 13px; border: 1px solid rgba(16, 39, 31, .22); border-radius: 999px; background: rgba(255, 255, 255, .58); color: var(--shop-ink); font-size: .68rem; font-weight: 850; }
.eco-shop-world__product { position: absolute; right: -5%; bottom: -13%; width: 56%; height: 91%; object-fit: contain; transform: rotate(7deg); transition: transform .4s ease; }
.eco-shop-world:hover .eco-shop-world__product { transform: rotate(1deg) scale(1.05); }
.eco-shop-world--winter { grid-row: 1 / 3; min-height: 600px; background: #dcefcf; }
.eco-shop-world--summer { background: var(--shop-lime); }
.eco-shop-world--all { background: #dceae5; }

/* Selfmade story */
.eco-shop-selfmade { overflow: hidden; background: var(--shop-forest); color: #fff; }
.eco-shop-selfmade__grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: clamp(55px, 8vw, 140px); }
.eco-shop-selfmade .eco-shop-kicker { color: var(--shop-lime); }
.eco-shop-selfmade h2 { color: #fff; }
.eco-shop-selfmade__copy > p:not(.eco-shop-kicker) { max-width: 720px; color: #c6d5cf; font-size: 1.08rem; line-height: 1.72; }
.eco-shop-orbit { position: relative; display: grid; place-items: center; width: min(100%, 520px); aspect-ratio: 1; border: 1px solid rgba(255, 255, 255, .18); border-radius: 50%; }
.eco-shop-orbit::before,
.eco-shop-orbit::after { content: ""; position: absolute; border: 1px solid rgba(220, 239, 121, .34); border-radius: 50%; }
.eco-shop-orbit::before { inset: 12%; }
.eco-shop-orbit::after { inset: 26%; }
.eco-shop-orbit strong { position: relative; z-index: 2; color: var(--shop-lime); font-size: clamp(2.2rem, 4vw, 4.7rem); font-weight: 600; line-height: .88; letter-spacing: -.06em; text-align: center; }
.eco-shop-orbit > span { position: absolute; z-index: 3; padding: 7px 11px; border-radius: 999px; background: #fff; color: var(--shop-forest); font-size: .58rem; font-weight: 900; letter-spacing: .12em; }
.eco-shop-orbit > span:nth-child(1) { top: 8%; left: 12%; }
.eco-shop-orbit > span:nth-child(2) { top: 46%; right: -2%; }
.eco-shop-orbit > span:nth-child(3) { bottom: 10%; left: 18%; }
.eco-shop-steps { margin-top: 38px; border-top: 1px solid rgba(255, 255, 255, .18); }
.eco-shop-steps > div { display: flex; gap: 24px; padding: 20px 0; border-bottom: 1px solid rgba(255, 255, 255, .18); }
.eco-shop-steps b { color: var(--shop-lime); font-size: .7rem; }
.eco-shop-steps span { display: flex; flex-direction: column; }
.eco-shop-steps strong { font-size: 1rem; }
.eco-shop-steps small { margin-top: 4px; color: #9fb5ad; }

/* Drop + values */
.eco-shop-drop { background: var(--shop-paper); }
.eco-shop-drop__card { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: clamp(45px, 7vw, 90px); border-radius: 46px 46px 140px 46px; background: var(--shop-lime); }
.eco-shop-drop h2 { max-width: 880px; }
.eco-shop-drop__card > div > p:last-child { max-width: 650px; color: #405447; }
.eco-shop-values { padding: 20px 0 110px; }
.eco-shop-values__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--shop-line); border-bottom: 1px solid var(--shop-line); }
.eco-shop-values article { padding: 40px; }
.eco-shop-values article + article { border-left: 1px solid var(--shop-line); }
.eco-shop-values b { color: var(--shop-green); font-size: .66rem; letter-spacing: .1em; }
.eco-shop-values h3 { margin: 18px 0 8px; font-size: 1.24rem; letter-spacing: -.025em; }
.eco-shop-values p { margin: 0; color: var(--shop-muted); }

/* Footer */
.eco-shop-footer { padding: clamp(70px, 9vw, 120px) 0 26px; background: var(--shop-ink); color: #d7e3de; }
.eco-shop-footer__grid { display: grid; grid-template-columns: 1.5fr repeat(3, .75fr); gap: clamp(42px, 7vw, 100px); }
.eco-shop-brand--footer { color: #fff !important; }
.eco-shop-brand--footer img { width: 68px; height: 68px; border-radius: 0; object-fit: contain; }
.eco-shop-brand--footer strong { color: #fff; }
.eco-shop-brand--footer small { color: var(--shop-lime); }
.eco-shop-footer__brand > p { max-width: 440px; margin: 28px 0 0; color: #9fb4ab; font-size: 1.03rem; line-height: 1.75; }
.eco-shop-footer h2 { margin: 0 0 23px; color: var(--shop-lime); font-size: .67rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.eco-shop-footer nav { display: flex; flex-direction: column; gap: 13px; }
.eco-shop-footer nav a { color: #d7e3de; font-size: .86rem; text-decoration: none; }
.eco-shop-footer nav a:hover { color: var(--shop-lime); }
.eco-shop-footer__bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 64px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .14); color: #7f9a8f; font-size: .72rem; }

@media (max-width: 1150px) {
  .eco-shop-nav { grid-template-columns: auto auto 1fr; }
  .eco-shop-menu-button { display: block; order: 2; }
  .eco-shop-nav__actions { justify-self: end; order: 3; }
  .eco-shop-nav__links { position: fixed; z-index: 99; inset: calc(var(--wp-admin--admin-bar--height, 0px) + 90px) 0 0; display: flex; align-items: flex-start; flex-direction: column; justify-content: flex-start; gap: 0; padding: 32px clamp(24px, 7vw, 80px); background: var(--shop-paper); opacity: 0; pointer-events: none; transform: translateY(-12px); transition: opacity .2s ease, transform .2s ease; }
  .eco-shop-nav__links.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .eco-shop-nav__links a { width: 100%; padding: 19px 0; border-bottom: 1px solid var(--shop-line); font-size: clamp(1.5rem, 4vw, 2.4rem); letter-spacing: -.035em; }
  .eco-shop-nav__links a::after { display: none; }
  .eco-shop-hero__grid { grid-template-columns: 1fr; }
  .eco-shop-hero__visual { min-height: 610px; }
  .eco-shop-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eco-shop-world-grid { grid-template-columns: 1fr 1fr; }
  .eco-shop-world--winter { grid-column: 1 / 3; grid-row: auto; min-height: 480px; }
  .eco-shop-selfmade__grid { grid-template-columns: 1fr; }
  .eco-shop-orbit { margin-inline: auto; }
  .eco-shop-footer__grid { grid-template-columns: 1.3fr repeat(2, .7fr); }
  .eco-shop-footer__grid > div:last-child { grid-column: 2; }
}

@media (max-width: 760px) {
  .eco-shop-shell { width: min(calc(100% - 28px), var(--shop-max)); }
  .eco-shop-nav { min-height: 78px; gap: 12px; }
  .eco-shop-brand img { width: 40px; height: 40px; }
  .eco-shop-brand strong { font-size: 1rem; }
  .eco-shop-icon-link { width: 40px; height: 40px; }
  .eco-shop-nav__actions .eco-shop-icon-link:nth-child(2) { display: none; }
  .eco-shop-nav__links { top: calc(var(--wp-admin--admin-bar--height, 0px) + 78px); }
  .eco-shop-hero { padding-top: 54px; }
  .eco-shop-hero h1 { font-size: clamp(3.2rem, 15vw, 5.2rem); }
  .eco-shop-hero__visual { min-height: 510px; }
  .eco-shop-stage--main { right: 8%; border-radius: 30px 30px 92px 30px; }
  .eco-shop-stage--main .eco-shop-stage__image { padding: 38px; }
  .eco-shop-stage--side { width: 46%; height: 40%; border-width: 7px; }
  .eco-shop-section-head { grid-template-columns: 1fr; gap: 22px; }
  .eco-shop-world-grid { display: flex; flex-direction: column; }
  .eco-shop-world,
  .eco-shop-world--winter { min-height: 390px; }
  .eco-shop-world > div { max-width: 75%; }
  .eco-shop-drop__card { align-items: flex-start; flex-direction: column; border-radius: 32px 32px 92px 32px; }
  .eco-shop-values__grid { grid-template-columns: 1fr; }
  .eco-shop-values article + article { border-top: 1px solid var(--shop-line); border-left: 0; }
  .eco-shop-footer__grid { grid-template-columns: 1fr 1fr; }
  .eco-shop-footer__brand { grid-column: 1 / 3; }
  .eco-shop-footer__grid > div:last-child { grid-column: auto; }
}

@media (max-width: 480px) {
  .eco-shop-brand small { display: none; }
  .eco-shop-hero__visual { min-height: 430px; }
  .eco-shop-stage--main .eco-shop-stage__image { height: 73%; padding: 28px; }
  .eco-shop-stage--side { display: none; }
  .eco-shop-stage__caption { left: 14px; bottom: 14px; max-width: calc(100% - 28px); padding: 11px 13px; }
  .eco-shop-actions { align-items: stretch; flex-direction: column; }
  .eco-shop-button { width: 100%; }
  .eco-shop-product-grid { grid-template-columns: 1fr; }
  .eco-shop-world > div { max-width: 88%; }
  .eco-shop-footer__grid { grid-template-columns: 1fr; }
  .eco-shop-footer__brand { grid-column: auto; }
  .eco-shop-footer__bottom { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-reveal] { opacity: 1; transform: none; transition: none; }
  .eco-shop-marquee__track { animation: none; }
}

/* =========================================================
   EcoAbi Shop – Unterseiten
   ========================================================= */
.eco-shop-inner-page #eco-shop-main { min-height: 64vh; overflow: hidden; background: var(--shop-paper); }
.eco-shop-page-hero { position: relative; padding: clamp(80px, 10vw, 150px) 0 clamp(76px, 9vw, 130px); overflow: hidden; }
.eco-shop-page-hero::before { content: ""; position: absolute; top: -38%; right: -7%; width: min(43vw, 690px); aspect-ratio: 1; border: clamp(40px, 6vw, 100px) solid rgba(40, 139, 88, .09); border-radius: 50%; pointer-events: none; }
.eco-shop-page-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(280px, .84fr); align-items: center; gap: clamp(55px, 10vw, 160px); }
.eco-shop-page-hero h1,
.eco-shop-system-hero h1 { max-width: 980px; margin: 17px 0 24px; color: var(--shop-ink); font-size: clamp(3.7rem, 7.2vw, 8rem); font-weight: 560; line-height: .91; letter-spacing: -.068em; text-wrap: balance; }
.eco-shop-page-lead { max-width: 740px; margin: 0; color: #42564e; font-size: clamp(1.05rem, 1.45vw, 1.35rem); line-height: 1.65; }
.eco-shop-page-actions { display: flex; align-items: center; gap: 28px; margin-top: 38px; }
.eco-shop-text-link { color: var(--shop-ink); font-size: .78rem; font-weight: 800; text-decoration: none; }
.eco-shop-text-link:hover { color: var(--shop-green); }
.eco-shop-world-mark { position: relative; display: grid; place-items: center; width: min(100%, 490px); aspect-ratio: 1; margin-inline: auto; border-radius: 50%; background: var(--shop-lime); box-shadow: 0 30px 80px rgba(25, 67, 50, .12); }
.eco-shop-world-mark__number { position: relative; z-index: 2; color: var(--shop-ink); font-size: clamp(6rem, 12vw, 12rem); font-weight: 600; line-height: 1; letter-spacing: -.09em; }
.eco-shop-world-mark__orbit { position: absolute; inset: 12%; border: 1px solid rgba(16, 39, 31, .28); border-radius: 50%; }
.eco-shop-world-mark__orbit::before { content: ""; position: absolute; inset: 18%; border: 1px solid rgba(16, 39, 31, .18); border-radius: 50%; }
.eco-shop-world-mark__dot { position: absolute; right: 11%; bottom: 23%; width: 26px; height: 26px; border: 7px solid var(--shop-paper); border-radius: 50%; background: var(--shop-green); }

.eco-shop-category-nav { display: flex; gap: 10px; padding-top: 22px; padding-bottom: 22px; overflow-x: auto; border-top: 1px solid var(--shop-line); border-bottom: 1px solid var(--shop-line); scrollbar-width: none; }
.eco-shop-category-nav::-webkit-scrollbar { display: none; }
.eco-shop-category-nav a { flex: 0 0 auto; padding: 11px 19px; border: 1px solid var(--shop-line); border-radius: 999px; color: var(--shop-ink); font-size: .7rem; font-weight: 820; letter-spacing: .03em; text-decoration: none; transition: .2s ease; }
.eco-shop-category-nav a:hover,
.eco-shop-category-nav a[aria-current="page"] { border-color: var(--shop-forest); background: var(--shop-forest); color: #fff; }
.eco-shop-category-products { padding: clamp(82px, 10vw, 150px) 0; }
.eco-shop-catalog-tools { position: relative; z-index: 30; display: grid; grid-template-columns: minmax(260px, 1.35fr) minmax(170px, .7fr) minmax(170px, .7fr) auto; align-items: end; gap: 12px; margin: 40px 0 10px; padding: clamp(18px, 2.5vw, 30px); overflow: visible; border: 1px solid var(--shop-line); border-radius: 26px; background: #fff; box-shadow: 0 18px 54px rgba(16, 39, 31, .06); }
.eco-shop-catalog-tools label,
.eco-shop-select-field { display: flex; flex-direction: column; gap: 8px; color: var(--shop-muted); font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.eco-shop-catalog-search { position: relative; }
.eco-shop-catalog-search input { padding-right: 46px; }
.eco-shop-catalog-search svg { position: absolute; right: 15px; bottom: 16px; width: 20px; height: 20px; fill: none; stroke: var(--shop-green); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; pointer-events: none; }
.eco-shop-catalog-tools input,
.eco-shop-catalog-tools select { width: 100%; min-height: 52px; padding: 11px 15px; border: 1px solid #cbd8d1; border-radius: 14px; background: #f8faf8; color: var(--shop-ink); font: inherit; font-size: .83rem; outline: 0; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.eco-shop-catalog-tools input:focus,
.eco-shop-catalog-tools select:focus { border-color: var(--shop-green); background: #fff; box-shadow: 0 0 0 4px rgba(31, 122, 80, .11); }
.eco-shop-select { position: relative; width: 100%; }
.eco-shop-select select.is-enhanced { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; opacity: 0; pointer-events: none; }
.eco-shop-select__trigger { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; min-height: 54px; padding: 10px 12px 10px 17px; border: 1px solid #cbd8d1; border-radius: 17px; background: linear-gradient(180deg, #fff 0%, #f6faf7 100%); color: var(--shop-ink); box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 7px 18px rgba(16,39,31,.045); cursor: pointer; font: inherit; font-size: .84rem; font-weight: 760; letter-spacing: 0; text-align: left; text-transform: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.eco-shop-select__trigger:hover { border-color: #9db8aa; box-shadow: inset 0 1px 0 #fff, 0 9px 24px rgba(16,39,31,.075); }
.eco-shop-select__trigger:focus-visible,
.eco-shop-select.is-open .eco-shop-select__trigger { border-color: var(--shop-green); outline: 0; box-shadow: 0 0 0 4px rgba(31,122,80,.12), 0 12px 28px rgba(16,39,31,.09); }
.eco-shop-select__arrow { display: grid; flex: 0 0 32px; width: 32px; height: 32px; place-items: center; border-radius: 10px; background: #e5efe9; color: var(--shop-forest); transition: transform .22s ease, background .22s ease, color .22s ease; }
.eco-shop-select__arrow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.eco-shop-select.is-open .eco-shop-select__arrow { transform: rotate(180deg); background: var(--shop-forest); color: #fff; }
.eco-shop-select__menu { position: absolute; top: calc(100% + 9px); left: 0; z-index: 999; display: grid; width: max(100%, 210px); max-height: 290px; padding: 7px; overflow-y: auto; border: 1px solid rgba(16,39,31,.14); border-radius: 18px; background: #fff; box-shadow: 0 24px 64px rgba(16,39,31,.2); opacity: 0; pointer-events: none; transform: translateY(-6px) scale(.985); transform-origin: top; transition: opacity .16s ease, transform .16s ease; }
.eco-shop-select.is-open .eco-shop-select__menu { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
.eco-shop-select__option { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 39px; padding: 8px 10px 8px 12px; border: 0; border-radius: 11px; background: transparent; color: var(--shop-ink); cursor: pointer; font: inherit; font-size: .79rem; font-weight: 650; letter-spacing: 0; line-height: 1.25; text-align: left; text-decoration: none; text-transform: none; transition: background .15s ease, color .15s ease, transform .15s ease; }
.eco-shop-select__option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.eco-shop-select__option:hover,
.eco-shop-select__option:focus-within { outline: 0; background: #e8f2ec; color: var(--shop-green); }
.eco-shop-select__option.is-selected { background: var(--shop-forest); color: #fff; }
.eco-shop-select__option b { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 8px; background: rgba(255,255,255,.15); opacity: 0; font-size: .72rem; }
.eco-shop-select__option.is-selected b { opacity: 1; }
.eco-shop-catalog-tools__actions { display: flex; align-items: center; gap: 10px; min-height: 52px; }
.eco-shop-catalog-tools__actions .eco-shop-button { min-height: 52px; padding: 14px 22px; }
.eco-shop-catalog-reset { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 15px; border: 1px solid var(--shop-line); border-radius: 999px; color: var(--shop-ink); font-size: .7rem; font-weight: 800; text-decoration: none; }
.eco-shop-catalog-reset:hover { border-color: var(--shop-green); color: var(--shop-green); }
.eco-shop-catalog-summary { margin: 24px 0 0; color: var(--shop-muted); font-size: .78rem; }
.eco-shop-product-grid--listing { margin-top: 48px; }
.eco-shop-empty-state { display: flex; align-items: flex-start; flex-direction: column; max-width: 980px; margin: 54px auto 0; padding: clamp(40px, 7vw, 85px); border-radius: 34px 34px 110px 34px; background: #e3eee8; }
.eco-shop-empty-state > span { padding: 8px 12px; border-radius: 999px; background: var(--shop-lime); font-size: .62rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.eco-shop-empty-state h2 { max-width: 720px; margin: 25px 0 12px; font-size: clamp(2.2rem, 4vw, 4.4rem); line-height: .98; letter-spacing: -.055em; }
.eco-shop-empty-state p { max-width: 610px; margin: 0 0 28px; color: var(--shop-muted); font-size: 1.06rem; line-height: 1.7; }
.eco-shop-empty-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.eco-shop-category-note { display: grid; grid-template-columns: 180px 1fr; gap: 30px; margin-top: 55px; padding: 26px 0; border-top: 1px solid var(--shop-line); border-bottom: 1px solid var(--shop-line); }
.eco-shop-category-note strong { color: var(--shop-green); font-size: .68rem; letter-spacing: .11em; text-transform: uppercase; }
.eco-shop-category-note p { max-width: 820px; margin: 0; color: var(--shop-muted); line-height: 1.65; }
.eco-shop-editor-section { padding: 0 0 100px; }
.eco-shop-cta--inner { padding: 0 0 clamp(80px, 10vw, 140px); }
.eco-shop-cta__card { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: clamp(45px, 6vw, 84px); border-radius: 40px 40px 130px 40px; background: var(--shop-forest); color: #fff; }
.eco-shop-cta__card .eco-shop-eyebrow { color: var(--shop-lime); }
.eco-shop-cta__card .eco-shop-eyebrow span { background: var(--shop-lime); }
.eco-shop-cta__card h2 { max-width: 850px; margin: 16px 0 0; color: #fff; font-size: clamp(2.7rem, 5.2vw, 5.9rem); line-height: .95; letter-spacing: -.06em; }

/* WooCommerce Systemseiten */
.eco-shop-system-hero { padding: clamp(70px, 9vw, 125px) 0; background: #e3eee8; }
.eco-shop-system-hero__grid { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 60px; }
.eco-shop-system-hero h1 { max-width: 1100px; font-size: clamp(3.4rem, 6.7vw, 7.5rem); }
.eco-shop-system-step { display: grid; place-items: center; width: clamp(150px, 15vw, 240px); aspect-ratio: 1; border-radius: 50% 50% 18% 50%; background: var(--shop-lime); color: var(--shop-forest); font-size: clamp(3.5rem, 6vw, 7rem); font-weight: 650; letter-spacing: -.08em; }
.eco-shop-system-content { padding: clamp(70px, 9vw, 130px) 0; }
.eco-shop-system-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 360px); align-items: start; gap: clamp(35px, 5vw, 80px); }
.eco-shop-system-card { min-width: 0; padding: clamp(25px, 4vw, 55px); border: 1px solid var(--shop-line); border-radius: 30px; background: #fff; box-shadow: 0 25px 70px rgba(20, 52, 40, .07); }
.eco-shop-system-aside { position: sticky; top: 130px; padding: 34px; border-radius: 28px 28px 72px 28px; background: var(--shop-forest); color: #fff; }
.eco-shop-system-aside__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--shop-lime); color: var(--shop-forest); font-weight: 900; }
.eco-shop-system-aside h2 { margin: 26px 0 12px; color: #fff; font-size: 1.8rem; letter-spacing: -.04em; }
.eco-shop-system-aside p { color: #c7d7d0; line-height: 1.65; }
.eco-shop-system-aside ul { margin: 26px 0; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); list-style: none; }
.eco-shop-system-aside li { position: relative; padding: 7px 0 7px 22px; color: #e5efeb; font-size: .85rem; }
.eco-shop-system-aside li::before { content: "↗"; position: absolute; left: 0; color: var(--shop-lime); }
.eco-shop-system-aside a { color: var(--shop-lime); font-size: .78rem; font-weight: 850; text-decoration: none; }

/* WooCommerce erhält das EcoAbi-Design, behält aber seine Funktionen. */
.eco-shop-system-card .woocommerce { width: 100%; color: var(--shop-ink); }
.eco-shop-system-card .woocommerce a { color: var(--shop-green); }
.eco-shop-system-card .woocommerce-message,
.eco-shop-system-card .woocommerce-info,
.eco-shop-system-card .woocommerce-error { margin: 0 0 28px; padding: 18px 20px 18px 54px; border: 0; border-radius: 16px; background: #e5f1eb; color: var(--shop-ink); }
.eco-shop-system-card .woocommerce-error { background: #fff0ec; }
.eco-shop-system-card .woocommerce-message::before,
.eco-shop-system-card .woocommerce-info::before { top: 18px; color: var(--shop-green); }
.eco-shop-system-card table.shop_table { overflow: hidden; border: 0; border-collapse: separate; border-spacing: 0; border-radius: 18px; }
.eco-shop-system-card table.shop_table th { padding: 15px; border-color: var(--shop-line); background: #edf3ef; font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.eco-shop-system-card table.shop_table td { padding: 18px 15px; border-color: var(--shop-line); }
.eco-shop-system-card table.shop_table img { width: 76px; border-radius: 13px; }
.eco-shop-system-card input.input-text,
.eco-shop-system-card input[type="text"],
.eco-shop-system-card input[type="email"],
.eco-shop-system-card input[type="tel"],
.eco-shop-system-card input[type="password"],
.eco-shop-system-card textarea,
.eco-shop-system-card select,
.eco-shop-system-card .select2-container--default .select2-selection--single { min-height: 50px; padding: 11px 14px; border: 1px solid #cbd8d1; border-radius: 12px; background: #fff; color: var(--shop-ink); }
.eco-shop-system-card textarea { min-height: 120px; }
.eco-shop-system-card .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 26px; }
.eco-shop-system-card .select2-container--default .select2-selection--single .select2-selection__arrow { top: 10px; right: 8px; }
.eco-shop-system-card .button,
.eco-shop-system-card button.button,
.eco-shop-system-card input.button,
.eco-shop-system-card #place_order,
.eco-shop-system-card .wc-block-components-button { min-height: 50px; padding: 14px 22px !important; border: 0 !important; border-radius: 999px !important; background: var(--shop-forest) !important; color: #fff !important; font-size: .76rem !important; font-weight: 850 !important; text-decoration: none !important; transition: transform .2s ease, background .2s ease; }
.eco-shop-system-card .button:hover,
.eco-shop-system-card button.button:hover,
.eco-shop-system-card #place_order:hover,
.eco-shop-system-card .wc-block-components-button:hover { background: var(--shop-green) !important; transform: translateY(-1px); }
.eco-shop-system-card .coupon { display: flex; gap: 8px; }
.eco-shop-system-card .coupon .input-text { width: auto !important; }
.eco-shop-system-card .cart-collaterals .cart_totals { width: min(100%, 560px); }
.eco-shop-system-card .cart_totals h2,
.eco-shop-system-card .woocommerce-billing-fields h3,
.eco-shop-system-card #order_review_heading,
.eco-shop-system-card .woocommerce-Address-title h3 { font-size: clamp(1.6rem, 2.5vw, 2.4rem); letter-spacing: -.045em; }
.eco-shop-system-card .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; width: 100%; }
.eco-shop-system-card .col2-set .col-1,
.eco-shop-system-card .col2-set .col-2 { float: none; width: 100%; }
.eco-shop-system-card #order_review { padding: 24px; border-radius: 20px; background: #f2f5f2; }
.eco-shop-system-card .woocommerce-MyAccount-navigation { float: none; width: 100%; margin-bottom: 34px; }
.eco-shop-system-card .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.eco-shop-system-card .woocommerce-MyAccount-navigation a { display: block; padding: 10px 15px; border: 1px solid var(--shop-line); border-radius: 999px; color: var(--shop-ink); font-size: .72rem; font-weight: 800; text-decoration: none; }
.eco-shop-system-card .woocommerce-MyAccount-navigation .is-active a { border-color: var(--shop-forest); background: var(--shop-forest); color: #fff; }
.eco-shop-system-card .woocommerce-MyAccount-content { float: none; width: 100%; }

/* Konto: klare, senkrechte Navigation statt verteilter WooCommerce-Pills. */
body.woocommerce-account .eco-shop-system-card .woocommerce { display: grid !important; grid-template-columns: minmax(190px, 230px) minmax(0, 1fr); align-items: start; gap: clamp(34px, 5vw, 68px); }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation { grid-column: 1 !important; grid-row: 1 !important; float: none !important; width: 100% !important; margin: 0 !important; padding: 13px; border: 1px solid var(--shop-line); border-radius: 22px 22px 58px 22px; background: #f1f6f2; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation ul { display: flex !important; align-items: stretch; flex-direction: column; gap: 5px; margin: 0 !important; padding: 0 !important; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation li { width: 100%; margin: 0; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation a { position: relative; display: flex !important; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; padding: 11px 14px !important; border: 0 !important; border-radius: 13px !important; color: #32473e !important; background: transparent; font-size: .76rem; font-weight: 800; text-decoration: none !important; transition: background .18s ease, color .18s ease, transform .18s ease; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation a::after { content: "↗"; color: var(--shop-green); font-size: .9rem; opacity: .7; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation a:hover { background: #fff; color: var(--shop-green) !important; transform: translateX(2px); }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation .is-active a { background: var(--shop-forest) !important; color: #fff !important; box-shadow: 0 10px 24px rgba(16,39,31,.14); }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation .is-active a::after { color: var(--shop-lime); opacity: 1; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 9px !important; padding-top: 9px; border-top: 1px solid var(--shop-line); }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation-link--customer-logout a { color: #8b4938 !important; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-content { grid-column: 2 !important; grid-row: 1 !important; float: none !important; width: 100% !important; min-width: 0; padding-top: 8px; font-size: 1.02rem; line-height: 1.7; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-content > *:first-child { margin-top: 0; }
body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-content a { text-decoration-thickness: 1px; text-underline-offset: 4px; }

/* Warenkorb: eigener Leerzustand statt blauer Standardmeldung. */
.eco-shop-cart-empty { display: grid; grid-template-columns: minmax(210px, .72fr) minmax(0, 1.28fr); align-items: center; gap: clamp(40px, 7vw, 95px); min-height: 410px; }
.eco-shop-cart-empty__visual { position: relative; display: grid; place-items: center; width: min(100%, 330px); aspect-ratio: 1; margin-inline: auto; border-radius: 48% 52% 28% 72% / 56% 38% 62% 44%; background: var(--shop-forest); box-shadow: 0 30px 70px rgba(16,39,31,.17); transform: rotate(-4deg); }
.eco-shop-cart-empty__visual > span { color: var(--shop-lime); font-size: clamp(5rem, 9vw, 8.5rem); font-weight: 580; line-height: 1; letter-spacing: -.08em; transform: rotate(4deg); }
.eco-shop-cart-empty__handle { position: absolute; top: -24px; left: 29%; width: 42%; height: 68px; border: 16px solid var(--shop-lime); border-bottom: 0; border-radius: 999px 999px 0 0; transform: rotate(4deg); }
.eco-shop-cart-empty__spark { position: absolute; top: 8%; right: -5%; display: grid; place-items: center; width: 68px; height: 68px; border: 8px solid #fff; border-radius: 50%; background: var(--shop-lime); color: var(--shop-forest); font-size: 1.5rem; font-style: normal; }
.eco-shop-cart-empty__copy h2 { max-width: 720px; margin: 18px 0 20px; font-size: clamp(2.5rem, 4.6vw, 5.1rem); line-height: .94; letter-spacing: -.06em; }
.eco-shop-cart-empty__copy > p:not(.eco-shop-eyebrow) { max-width: 690px; margin: 0; color: var(--shop-muted); font-size: 1.02rem; line-height: 1.75; }
.eco-shop-cart-empty__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 32px; }
.eco-shop-cart-empty__actions .eco-shop-text-link { color: var(--shop-green); font-size: .78rem; font-weight: 850; text-decoration: none; }

/* Kontakt */
.eco-shop-page-hero--contact { background: #e2eee7; }
.eco-shop-contact-shortcuts { display: grid; gap: 12px; }
.eco-shop-contact-shortcuts a { display: grid; grid-template-columns: 54px 1fr; align-items: center; gap: 16px; padding: 17px; border: 1px solid rgba(16,39,31,.12); border-radius: 19px; background: rgba(255,255,255,.64); color: var(--shop-ink); text-decoration: none; transition: transform .2s ease, background .2s ease; }
.eco-shop-contact-shortcuts a:hover { background: #fff; transform: translateX(5px); }
.eco-shop-contact-shortcuts a > span { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: var(--shop-forest); color: #fff; font-size: 1.1rem; font-weight: 800; }
.eco-shop-contact-shortcuts small,
.eco-shop-contact-shortcuts strong { display: block; }
.eco-shop-contact-shortcuts small { margin-bottom: 4px; color: var(--shop-muted); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.eco-shop-contact-shortcuts strong { font-size: 1rem; }
.eco-shop-contact-section { padding: clamp(80px, 10vw, 150px) 0; }
.eco-shop-contact-layout { display: grid; grid-template-columns: .72fr 1.28fr; align-items: start; gap: clamp(50px, 9vw, 145px); }
.eco-shop-contact-intro { position: sticky; top: 130px; }
.eco-shop-contact-intro h2 { margin: 18px 0; font-size: clamp(2.5rem, 4.3vw, 5rem); line-height: .98; letter-spacing: -.06em; }
.eco-shop-contact-intro > p:not(.eco-shop-eyebrow) { color: var(--shop-muted); line-height: 1.7; }
.eco-shop-response-note { display: flex; flex-direction: column; margin-top: 35px; padding: 22px; border-radius: 18px; background: var(--shop-lime); }
.eco-shop-response-note strong { margin-bottom: 5px; }
.eco-shop-response-note span { color: #41523b; font-size: .83rem; }
.eco-shop-contact-form { padding: clamp(28px, 4vw, 52px); border: 1px solid var(--shop-line); border-radius: 30px; background: #fff; box-shadow: 0 25px 70px rgba(20,52,40,.07); }
.eco-shop-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.eco-shop-contact-form label { display: block; margin-bottom: 20px; color: var(--shop-ink); font-size: .72rem; font-weight: 850; letter-spacing: .025em; }
.eco-shop-contact-form input,
.eco-shop-contact-form select,
.eco-shop-contact-form textarea { display: block; width: 100%; margin-top: 8px; padding: 14px 15px; border: 1px solid #cbd8d1; border-radius: 13px; outline: 0; background: #fbfcfa; color: var(--shop-ink); font: inherit; font-size: .95rem; transition: border .2s ease, box-shadow .2s ease; }
.eco-shop-contact-form input:focus,
.eco-shop-contact-form select:focus,
.eco-shop-contact-form textarea:focus { border-color: var(--shop-green); box-shadow: 0 0 0 4px rgba(35,134,81,.11); }
.eco-shop-contact-form textarea { resize: vertical; }
.eco-shop-contact-form .eco-shop-button { border: 0; cursor: pointer; }
.eco-shop-honeypot { position: absolute !important; left: -9999px !important; }
.eco-shop-form-message { margin-bottom: 22px; padding: 15px 18px; border-radius: 13px; font-size: .9rem; }
.eco-shop-form-message--success { background: #e3f4e9; color: #125329; }
.eco-shop-form-message--error { background: #fff0eb; color: #8d2e15; }
.eco-shop-form-privacy { margin: 18px 0 0; color: var(--shop-muted); font-size: .72rem; line-height: 1.6; }
.eco-shop-form-privacy a { color: var(--shop-green); }

/* FAQ */
.eco-shop-page-hero--faq { background: var(--shop-lime); }
.eco-shop-page-hero--faq::before { border-color: rgba(16,39,31,.09); }
.eco-shop-faq-symbol { display: grid; place-items: center; width: min(100%, 420px); aspect-ratio: 1; margin-inline: auto; border: 1px solid rgba(16,39,31,.25); border-radius: 50% 50% 18% 50%; color: var(--shop-forest); font-size: clamp(8rem, 18vw, 16rem); font-weight: 550; line-height: 1; }
.eco-shop-faq-section { padding: clamp(80px, 10vw, 150px) 0; }
.eco-shop-faq-layout { display: grid; grid-template-columns: minmax(270px, .58fr) minmax(0, 1.42fr); align-items: start; gap: clamp(55px, 9vw, 150px); }
.eco-shop-faq-layout > aside { position: sticky; top: 130px; }
.eco-shop-faq-layout > aside h2 { margin: 18px 0; font-size: clamp(2.4rem, 4vw, 4.5rem); line-height: .98; letter-spacing: -.055em; }
.eco-shop-faq-layout > aside > p:not(.eco-shop-eyebrow) { margin-bottom: 30px; color: var(--shop-muted); line-height: 1.7; }
.eco-shop-faq-list { border-top: 1px solid var(--shop-line); }
.eco-shop-faq-list details { border-bottom: 1px solid var(--shop-line); }
.eco-shop-faq-list summary { display: grid; grid-template-columns: 42px 1fr 28px; align-items: center; gap: 15px; padding: 27px 0; cursor: pointer; color: var(--shop-ink); font-size: clamp(1.04rem, 1.6vw, 1.35rem); font-weight: 650; list-style: none; }
.eco-shop-faq-list summary::-webkit-details-marker { display: none; }
.eco-shop-faq-list summary > span { color: var(--shop-green); font-size: .65rem; font-weight: 850; letter-spacing: .08em; }
.eco-shop-faq-list summary i { position: relative; display: block; width: 24px; height: 24px; }
.eco-shop-faq-list summary i::before,
.eco-shop-faq-list summary i::after { content: ""; position: absolute; top: 11px; left: 3px; width: 18px; height: 1px; background: var(--shop-ink); transition: transform .2s ease; }
.eco-shop-faq-list summary i::after { transform: rotate(90deg); }
.eco-shop-faq-list details[open] summary i::after { transform: rotate(0); }
.eco-shop-faq-list details > div { max-width: 790px; padding: 0 43px 28px 57px; }
.eco-shop-faq-list details p { margin: 0; color: var(--shop-muted); line-height: 1.75; }
.eco-shop-faq-list details a { display: inline-block; margin-top: 15px; color: var(--shop-green); font-size: .75rem; font-weight: 850; text-decoration: none; }

/* Rückgabe / Rechtstext */
.eco-shop-page-hero--policy { background: #e3eee8; }
.eco-shop-policy-seal { display: flex; align-items: center; justify-content: center; flex-direction: column; width: min(100%, 390px); aspect-ratio: 1; margin-inline: auto; border-radius: 50%; background: var(--shop-forest); color: #fff; transform: rotate(5deg); }
.eco-shop-policy-seal span { color: var(--shop-lime); font-size: clamp(4rem, 8vw, 7.5rem); font-weight: 560; line-height: .85; letter-spacing: -.07em; }
.eco-shop-policy-seal small { margin-top: 13px; font-size: .76rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.eco-shop-policy-section { padding: clamp(80px, 10vw, 150px) 0; }
.eco-shop-policy-layout { display: grid; grid-template-columns: minmax(300px, .65fr) minmax(0, 1.35fr); align-items: start; gap: clamp(55px, 9vw, 145px); }
.eco-shop-policy-steps { position: sticky; top: 130px; padding: clamp(28px, 4vw, 45px); border-radius: 28px 28px 86px 28px; background: var(--shop-lime); }
.eco-shop-policy-steps ol { margin: 30px 0; padding: 0; border-top: 1px solid rgba(16,39,31,.2); list-style: none; }
.eco-shop-policy-steps li { display: grid; grid-template-columns: 42px 1fr; gap: 12px; padding: 20px 0; border-bottom: 1px solid rgba(16,39,31,.2); }
.eco-shop-policy-steps li > span { color: var(--shop-green); font-size: .67rem; font-weight: 900; }
.eco-shop-policy-steps strong { display: block; margin-bottom: 5px; }
.eco-shop-policy-steps p { margin: 0; color: #3b503f; font-size: .83rem; line-height: 1.55; }
.eco-shop-policy-content { padding: clamp(30px, 5vw, 65px); border: 1px solid var(--shop-line); border-radius: 30px; background: #fff; }
.eco-shop-richtext { color: var(--shop-ink); font-size: 1rem; line-height: 1.75; }
.eco-shop-richtext > *:first-child { margin-top: 0; }
.eco-shop-richtext h1,
.eco-shop-richtext h2,
.eco-shop-richtext h3 { color: var(--shop-ink); letter-spacing: -.045em; }
.eco-shop-richtext h2 { margin: 2.2em 0 .6em; font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.08; }
.eco-shop-richtext h3 { margin: 1.8em 0 .5em; font-size: 1.35rem; }
.eco-shop-richtext p,
.eco-shop-richtext li { color: #40544c; }
.eco-shop-richtext a { color: var(--shop-green); font-weight: 700; }
.eco-shop-richtext hr { margin: 40px 0; border: 0; border-top: 1px solid var(--shop-line); }

@media (max-width: 1050px) {
  .eco-shop-page-hero__grid { grid-template-columns: 1fr .68fr; gap: 50px; }
  .eco-shop-system-layout { grid-template-columns: 1fr; }
  .eco-shop-system-aside { position: static; display: grid; grid-template-columns: auto 1fr; column-gap: 20px; }
  .eco-shop-system-aside h2 { margin: 0; }
  .eco-shop-system-aside p,
  .eco-shop-system-aside ul,
  .eco-shop-system-aside > a { grid-column: 2; }
  .eco-shop-contact-layout,
  .eco-shop-faq-layout,
  .eco-shop-policy-layout { grid-template-columns: 1fr; gap: 55px; }
  .eco-shop-contact-intro,
  .eco-shop-faq-layout > aside,
  .eco-shop-policy-steps { position: static; }
  body.woocommerce-account .eco-shop-system-card .woocommerce { grid-template-columns: 200px minmax(0, 1fr); gap: 35px; }
  .eco-shop-cart-empty { grid-template-columns: minmax(180px, .55fr) minmax(0, 1.45fr); }
  .eco-shop-catalog-tools { grid-template-columns: 1fr 1fr; }
  .eco-shop-catalog-tools label:first-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .eco-shop-page-hero { padding: 62px 0 72px; }
  .eco-shop-page-hero__grid { grid-template-columns: 1fr; }
  .eco-shop-page-hero h1,
  .eco-shop-system-hero h1 { font-size: clamp(3rem, 13.6vw, 5.3rem); }
  .eco-shop-world-mark,
  .eco-shop-faq-symbol,
  .eco-shop-policy-seal { width: min(78vw, 340px); }
  .eco-shop-page-actions { align-items: flex-start; flex-direction: column; }
  .eco-shop-catalog-tools { grid-template-columns: 1fr; border-radius: 22px; }
  .eco-shop-catalog-tools label:first-child { grid-column: auto; }
  .eco-shop-catalog-tools__actions { align-items: stretch; flex-direction: column; }
  .eco-shop-catalog-tools__actions > * { width: 100%; }
  .eco-shop-empty-actions { align-items: stretch; flex-direction: column; width: 100%; }
  .eco-shop-empty-actions > * { width: 100%; }
  .eco-shop-category-note { grid-template-columns: 1fr; gap: 8px; }
  .eco-shop-cta__card { align-items: flex-start; flex-direction: column; border-radius: 30px 30px 90px 30px; }
  .eco-shop-system-hero__grid { grid-template-columns: 1fr; }
  .eco-shop-system-step { width: 130px; }
  .eco-shop-system-card { padding: 18px; border-radius: 20px; }
  .eco-shop-system-card table.shop_table_responsive tr td { padding: 12px; }
  .eco-shop-system-card .col2-set { grid-template-columns: 1fr; }
  .eco-shop-system-card .coupon { align-items: stretch; flex-direction: column; }
  .eco-shop-system-card .coupon .input-text { width: 100% !important; }
  .eco-shop-system-aside { display: block; }
  .eco-shop-system-aside h2 { margin-top: 22px; }
  body.woocommerce-account .eco-shop-system-card .woocommerce { grid-template-columns: 1fr; gap: 32px; }
  body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation,
  body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-content { grid-column: 1 !important; }
  body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation { grid-row: 1 !important; }
  body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-content { grid-row: 2 !important; }
  body.woocommerce-account .eco-shop-system-card .woocommerce-MyAccount-navigation { border-radius: 18px 18px 50px 18px; }
  .eco-shop-cart-empty { grid-template-columns: 1fr; min-height: 0; padding: 26px 3px; }
  .eco-shop-cart-empty__visual { width: min(72vw, 280px); }
  .eco-shop-cart-empty__copy h2 { font-size: clamp(2.45rem, 11vw, 4rem); }
  .eco-shop-cart-empty__actions { align-items: flex-start; flex-direction: column; }
  .eco-shop-form-row { grid-template-columns: 1fr; gap: 0; }
  .eco-shop-contact-form { padding: 22px; border-radius: 22px; }
  .eco-shop-faq-list summary { grid-template-columns: 32px 1fr 24px; gap: 10px; padding: 22px 0; }
  .eco-shop-faq-list details > div { padding: 0 24px 24px 42px; }
  .eco-shop-policy-content { padding: 25px 20px; border-radius: 22px; }
}

/* Produktkatalog + allgemeine Rechtstexte */
.eco-shop-page-hero--catalog { background: #e3eee8; }
.eco-shop-catalog-stamp { display: flex; align-items: center; justify-content: center; flex-direction: column; width: min(100%, 430px); aspect-ratio: 1; margin-inline: auto; border-radius: 50% 50% 17% 50%; background: var(--shop-forest); color: #fff; transform: rotate(3deg); }
.eco-shop-catalog-stamp strong { color: var(--shop-lime); font-size: clamp(4.5rem, 8vw, 8rem); font-weight: 600; line-height: .72; letter-spacing: -.09em; }
.eco-shop-catalog-stamp span { margin-top: 30px; font-size: .66rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.eco-shop-pagination { margin-top: 60px; }
.eco-shop-pagination ul { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.eco-shop-pagination a,
.eco-shop-pagination span { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 14px; border: 1px solid var(--shop-line); border-radius: 999px; color: var(--shop-ink); font-size: .75rem; font-weight: 800; text-decoration: none; }
.eco-shop-pagination .current,
.eco-shop-pagination a:hover { border-color: var(--shop-forest); background: var(--shop-forest); color: #fff; }
.eco-shop-legal-hero { padding: clamp(75px, 9vw, 130px) 0; background: #e3eee8; }
.eco-shop-legal-hero h1 { max-width: 1150px; margin: 17px 0; font-size: clamp(3.5rem, 7vw, 7.6rem); font-weight: 560; line-height: .92; letter-spacing: -.065em; }
.eco-shop-legal-hero > div > p:last-child { color: var(--shop-muted); font-size: 1.06rem; }
.eco-shop-legal-section { padding: clamp(75px, 9vw, 130px) 0; }
.eco-shop-legal-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); align-items: start; gap: clamp(45px, 8vw, 120px); }
.eco-shop-legal-layout > aside { position: sticky; top: 130px; padding: 25px; border: 1px solid var(--shop-line); border-radius: 22px; }
.eco-shop-legal-layout > aside > strong { display: block; margin-bottom: 18px; color: var(--shop-green); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.eco-shop-legal-layout > aside nav { display: flex; flex-direction: column; }
.eco-shop-legal-layout > aside nav a { padding: 11px 0; border-bottom: 1px solid var(--shop-line); color: var(--shop-ink); font-size: .84rem; font-weight: 680; text-decoration: none; }
.eco-shop-legal-layout > aside nav a:hover { color: var(--shop-green); }
.eco-shop-legal-layout > aside p { margin: 25px 0 0; color: var(--shop-muted); font-size: .75rem; }
.eco-shop-legal-layout > aside p a { color: var(--shop-green); }
.eco-shop-legal-meta { display: inline-flex; margin: 0 0 28px !important; padding: 9px 13px; border-radius: 999px; background: #e7f1ea; color: var(--shop-green) !important; font-size: .7rem; letter-spacing: .04em; }
.eco-shop-legal-contact { margin: 24px 0; padding: 22px 25px; border-left: 4px solid var(--shop-green); border-radius: 0 18px 18px 0; background: #f0f5f1; color: var(--shop-ink); font-style: normal; line-height: 1.7; }
.eco-shop-legal-callout { margin: 34px 0; padding: clamp(22px, 3vw, 34px); border-radius: 24px 24px 65px 24px; background: var(--shop-lime); }
.eco-shop-legal-callout strong { display: block; margin-bottom: 8px; color: var(--shop-forest); font-size: 1.15rem; }
.eco-shop-legal-callout p { margin: 0; color: #354b3b; }
.eco-shop-withdrawal-form { margin-top: 28px; padding: clamp(24px, 4vw, 46px); border: 1px solid var(--shop-line); border-radius: 26px; background: #f7f8f5; }
.eco-shop-withdrawal-form > *:first-child { margin-top: 0; }
.eco-shop-withdrawal-form .eco-shop-form-line { color: #8a9891; letter-spacing: .08em; overflow-wrap: anywhere; }

@media (max-width: 760px) {
  .eco-shop-catalog-stamp { width: min(78vw, 330px); }
  .eco-shop-legal-layout { grid-template-columns: 1fr; }
  .eco-shop-legal-layout > aside { position: static; }
}

/* Own Product – individuelle Anfertigungen */
.eco-shop-own-hero { position: relative; overflow: hidden; padding: clamp(74px, 8vw, 132px) 0; background: linear-gradient(135deg, #eef5ef 0%, #fbfaf6 56%, #eff7c9 100%); }
.eco-shop-own-hero::after { content: ""; position: absolute; right: -8vw; bottom: -22vw; width: 44vw; aspect-ratio: 1; border: clamp(38px, 6vw, 90px) solid rgba(35,134,81,.08); border-radius: 50%; pointer-events: none; }
.eco-shop-own-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr); align-items: center; gap: clamp(60px, 9vw, 145px); }
.eco-shop-own-hero h1 { max-width: 900px; margin: 20px 0 28px; font-size: clamp(4rem, 7.4vw, 8.4rem); font-weight: 560; line-height: .86; letter-spacing: -.075em; }
.eco-shop-own-hero h1 em { color: var(--shop-green); font-family: Georgia, serif; font-weight: 400; }
.eco-shop-own-hero__copy > p:not(.eco-shop-eyebrow) { max-width: 720px; color: var(--shop-muted); font-size: clamp(1.05rem, 1.4vw, 1.3rem); line-height: 1.7; }
.eco-shop-own-promise { display: flex; align-items: center; gap: 14px; margin-top: 34px; }
.eco-shop-own-promise > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--shop-lime); color: var(--shop-forest); font-weight: 900; }
.eco-shop-own-promise p,.eco-shop-own-promise strong,.eco-shop-own-promise small { display: block; margin: 0; }
.eco-shop-own-promise small { margin-top: 3px; color: var(--shop-muted); font-size: .72rem; }
.eco-shop-own-canvas { position: relative; min-height: 560px; }
.eco-shop-own-canvas__shape { position: absolute; inset: 4% 8% 7% 2%; display: grid; place-items: center; border-radius: 44% 56% 68% 32% / 43% 36% 64% 57%; background: var(--shop-forest); box-shadow: 0 38px 80px rgba(16,39,31,.2); transform: rotate(-4deg); }
.eco-shop-own-canvas__shape::before { content: ""; position: absolute; inset: 11%; border: 1px solid rgba(255,255,255,.18); border-radius: inherit; }
.eco-shop-own-canvas__shape span { color: #fff; font-size: clamp(4rem, 7vw, 7rem); font-weight: 560; line-height: .82; letter-spacing: -.07em; text-align: center; transform: rotate(4deg); }
.eco-shop-own-chip { position: absolute; z-index: 2; padding: 12px 18px; border: 8px solid var(--shop-paper); border-radius: 999px; background: var(--shop-lime); color: var(--shop-forest); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 15px 35px rgba(16,39,31,.13); }
.eco-shop-own-chip--one { top: 5%; right: 0; transform: rotate(6deg); }
.eco-shop-own-chip--two { bottom: 13%; left: -3%; transform: rotate(-7deg); }
.eco-shop-own-chip--three { right: 2%; bottom: 4%; transform: rotate(4deg); }
.eco-shop-own-pencil { position: absolute; z-index: 3; top: 42%; right: 0; display: grid; place-items: center; width: 92px; height: 92px; border-radius: 50%; background: #fff; color: var(--shop-green); font-size: 2.5rem; box-shadow: 0 20px 50px rgba(16,39,31,.15); }
.eco-shop-own-options { background: var(--shop-paper); }
.eco-shop-own-options__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.eco-shop-own-option { position: relative; min-height: 280px; padding: clamp(27px, 3vw, 42px); overflow: hidden; border: 1px solid var(--shop-line); border-radius: 28px 28px 82px 28px; background: #fff; transition: transform .25s ease, background .25s ease; }
.eco-shop-own-option:nth-child(2),.eco-shop-own-option:nth-child(5) { background: #e3eee8; }
.eco-shop-own-option:nth-child(3),.eco-shop-own-option:nth-child(6) { background: var(--shop-lime); }
.eco-shop-own-option:hover { transform: translateY(-7px); }
.eco-shop-own-option > span { color: var(--shop-green); font-size: .66rem; font-weight: 900; letter-spacing: .12em; }
.eco-shop-own-option h3 { max-width: 320px; margin: 52px 0 14px; font-size: clamp(1.6rem, 2.4vw, 2.6rem); line-height: .98; letter-spacing: -.05em; }
.eco-shop-own-option p { max-width: 360px; margin: 0; color: var(--shop-muted); line-height: 1.65; }
.eco-shop-own-option i { position: absolute; right: 28px; bottom: 24px; color: var(--shop-green); font-size: 1.5rem; font-style: normal; }
.eco-shop-own-process { background: var(--shop-forest); color: #fff; }
.eco-shop-own-process .eco-shop-section-head h2,.eco-shop-own-process .eco-shop-section-head > p { color: #fff; }
.eco-shop-own-process .eco-shop-eyebrow { color: var(--shop-lime); }
.eco-shop-own-process__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.eco-shop-own-process__grid article { position: relative; min-height: 380px; padding: clamp(28px, 4vw, 50px); border: 1px solid rgba(255,255,255,.14); border-radius: 30px 30px 100px 30px; background: rgba(255,255,255,.055); }
.eco-shop-own-process__grid article > span { color: var(--shop-lime); font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.eco-shop-own-process__icon { display: grid; place-items: center; width: 88px; height: 88px; margin: 55px 0 36px; border-radius: 50%; background: var(--shop-lime); color: var(--shop-forest); font-size: 2rem; }
.eco-shop-own-process h3 { margin: 0 0 14px; color: #fff; font-size: clamp(1.6rem, 2.3vw, 2.4rem); letter-spacing: -.045em; }
.eco-shop-own-process article p { margin: 0; color: #c5d2cb; line-height: 1.65; }
.eco-shop-own-request { padding: clamp(90px, 11vw, 165px) 0; background: #e3eee8; }
.eco-shop-own-request__layout { display: grid; grid-template-columns: .72fr 1.28fr; align-items: start; gap: clamp(55px, 9vw, 145px); }
.eco-shop-own-request__intro { position: sticky; top: 130px; }
.eco-shop-own-request__intro h2 { margin: 18px 0 22px; font-size: clamp(3rem, 5vw, 6rem); line-height: .91; letter-spacing: -.065em; }
.eco-shop-own-request__intro > p:not(.eco-shop-eyebrow) { color: var(--shop-muted); line-height: 1.75; }
.eco-shop-own-mailbox { display: grid; grid-template-columns: 54px 1fr; gap: 16px; margin-top: 40px; padding: 24px; border-radius: 24px 24px 65px 24px; background: var(--shop-lime); }
.eco-shop-own-mailbox > span { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: var(--shop-forest); color: #fff; font-weight: 900; }
.eco-shop-own-mailbox small,.eco-shop-own-mailbox strong { display: block; }
.eco-shop-own-mailbox small { margin-bottom: 6px; color: #41523b; }
.eco-shop-own-mailbox a { color: var(--shop-forest); }
.eco-shop-own-mailbox p { margin: 7px 0 0; color: #41523b; font-size: .8rem; line-height: 1.5; }
.eco-shop-own-form { border: 0; border-radius: 34px 34px 110px 34px; }
.eco-shop-own-file { padding: 18px; border: 1px dashed #9db4a8; border-radius: 16px; background: #f4f8f4; }
.eco-shop-own-file > span { float: right; color: var(--shop-muted); font-size: .64rem; text-transform: uppercase; }
.eco-shop-own-file input { padding: 10px 0 0; border: 0; background: transparent; }
.eco-shop-own-file small { display: block; margin-top: 6px; color: var(--shop-muted); font-weight: 500; }
.eco-shop-own-faq { background: var(--shop-paper); }

@media (max-width: 1050px) {
  .eco-shop-own-hero__grid { grid-template-columns: 1fr .8fr; gap: 45px; }
  .eco-shop-own-canvas { min-height: 450px; }
  .eco-shop-own-options__grid { grid-template-columns: repeat(2, 1fr); }
  .eco-shop-own-request__layout { grid-template-columns: 1fr; }
  .eco-shop-own-request__intro { position: static; }
}

@media (max-width: 760px) {
  .eco-shop-own-hero { padding: 64px 0 82px; }
  .eco-shop-own-hero__grid { grid-template-columns: 1fr; }
  .eco-shop-own-hero h1 { font-size: clamp(3.6rem, 16vw, 5.6rem); }
  .eco-shop-own-canvas { min-height: 390px; margin-top: 15px; }
  .eco-shop-own-canvas__shape { inset: 3% 5% 5%; }
  .eco-shop-own-pencil { width: 70px; height: 70px; font-size: 1.8rem; }
  .eco-shop-own-options__grid,.eco-shop-own-process__grid { grid-template-columns: 1fr; }
  .eco-shop-own-option { min-height: 250px; }
  .eco-shop-own-process__grid article { min-height: 330px; }
  .eco-shop-own-form { border-radius: 24px 24px 70px 24px; }
  .eco-shop-own-mailbox { grid-template-columns: 1fr; }
}

/* =========================================================
   EcoAbi Shop – Einzelprodukt
   ========================================================= */
.eco-shop-product-main { overflow: hidden; background: var(--shop-paper); }
.eco-shop-product-breadcrumbs { display: flex; align-items: center; gap: 9px; padding-top: 24px; padding-bottom: 24px; overflow-x: auto; color: var(--shop-muted); font-size: .69rem; font-weight: 700; white-space: nowrap; scrollbar-width: none; }
.eco-shop-product-breadcrumbs::-webkit-scrollbar { display: none; }
.eco-shop-product-breadcrumbs a { color: var(--shop-green); text-decoration: none; }
.eco-shop-product-breadcrumbs a:hover { text-decoration: underline; }
.eco-shop-product-breadcrumbs > span:last-child { max-width: 280px; overflow: hidden; text-overflow: ellipsis; }
.eco-shop-product-notices { position: relative; z-index: 3; }
.eco-shop-product-notices:empty { display: none; }
.eco-shop-product-notices .woocommerce-message,
.eco-shop-product-notices .woocommerce-info,
.eco-shop-product-notices .woocommerce-error { margin: 0 0 24px; padding: 18px 22px; border: 0; border-radius: 16px; background: #e3eee8; color: var(--shop-ink); list-style: none; }
.eco-shop-product-notices .button { float: right; color: var(--shop-green); font-weight: 850; }
.eco-shop-product-hero { position: relative; padding: 28px 0 clamp(90px, 10vw, 150px); }
.eco-shop-product-hero::before { content: ""; position: absolute; top: -20%; right: -14%; width: min(45vw, 700px); aspect-ratio: 1; border: clamp(45px, 7vw, 110px) solid rgba(31,122,80,.075); border-radius: 50%; pointer-events: none; }
.eco-shop-product-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(440px, 1.04fr) minmax(430px, .96fr); align-items: start; gap: clamp(55px, 8vw, 135px); }

/* Woo-Galerie: Funktionen behalten, Darstellung erneuern. */
.eco-shop-product-gallery { position: sticky; top: 128px; min-width: 0; }
.eco-shop-product-gallery::after { top: 20px; right: 20px; width: 72px; border-radius: 20px; }
.eco-shop-product-special { position: absolute; z-index: 8; top: 20px; left: 20px; padding: 9px 14px; border-radius: 999px; background: var(--shop-lime); color: var(--shop-ink); font-size: .65rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.eco-shop-product-gallery .woocommerce-product-gallery { float: none !important; width: 100% !important; margin: 0 !important; opacity: 1 !important; }
.eco-shop-product-gallery .woocommerce-product-gallery__wrapper { margin: 0; }
.eco-shop-product-gallery .woocommerce-product-gallery__image { display: grid !important; place-items: center; overflow: hidden; min-height: clamp(520px, 52vw, 790px); border: 1px solid var(--shop-line); border-radius: 38px 38px 130px 38px; background: #f1f0e9; }
.eco-shop-product-gallery .woocommerce-product-gallery__image a { display: grid; place-items: center; width: 100%; height: 100%; }
.eco-shop-product-gallery .woocommerce-product-gallery__image img { width: 100% !important; height: clamp(520px, 52vw, 790px) !important; padding: clamp(44px, 7vw, 105px); object-fit: contain; }
.eco-shop-product-gallery .woocommerce-product-gallery__trigger { top: 20px !important; right: 20px !important; display: grid !important; place-items: center; width: 44px !important; height: 44px !important; border: 1px solid var(--shop-line) !important; border-radius: 50% !important; background: rgba(255,255,255,.9) !important; text-indent: -9999px; }
.eco-shop-product-gallery .woocommerce-product-gallery__trigger::before { top: 13px !important; left: 13px !important; width: 13px !important; height: 13px !important; border-color: var(--shop-ink) !important; }
.eco-shop-product-gallery .woocommerce-product-gallery__trigger::after { top: 27px !important; left: 27px !important; background: var(--shop-ink) !important; }
.eco-shop-product-gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 12px 0 0 !important; padding: 0 !important; list-style: none; }
.eco-shop-product-gallery .flex-control-thumbs li { float: none !important; width: auto !important; }
.eco-shop-product-gallery .flex-control-thumbs img { width: 100%; aspect-ratio: 1; padding: 9px; border: 1px solid var(--shop-line); border-radius: 14px; background: #fff; object-fit: contain; opacity: .62; cursor: pointer; }
.eco-shop-product-gallery .flex-control-thumbs img.flex-active { border-color: var(--shop-green); opacity: 1; }
.eco-shop-product-gallery__note { position: absolute; right: -16px; bottom: 25px; z-index: 5; display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 12px; max-width: 270px; padding: 14px 20px 14px 14px; border: 8px solid var(--shop-paper); border-radius: 22px 22px 58px 22px; background: var(--shop-forest); color: #fff; box-shadow: 0 20px 50px rgba(16,39,31,.18); }
.eco-shop-product-gallery__note > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--shop-lime); color: var(--shop-forest); font-weight: 900; }
.eco-shop-product-gallery__note p,.eco-shop-product-gallery__note strong,.eco-shop-product-gallery__note small { display: block; margin: 0; }
.eco-shop-product-gallery__note strong { font-size: .77rem; }
.eco-shop-product-gallery__note small { margin-top: 2px; color: #b9ccc4; font-size: .64rem; }

/* Zusammenfassung und Kaufform */
.eco-shop-product-summary { min-width: 0; padding-top: clamp(24px, 4vw, 62px); }
.eco-shop-product-summary h1 { max-width: 760px; margin: 16px 0 20px; color: var(--shop-ink); font-size: clamp(3.25rem, 5.6vw, 6.6rem); font-weight: 570; line-height: .91; letter-spacing: -.068em; text-wrap: balance; }
.eco-shop-product-rating { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; color: var(--shop-muted); font-size: .7rem; }
.eco-shop-product-rating .star-rating { float: none; color: #cca900; }
.eco-shop-product-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin: 22px 0; color: var(--shop-green); font-size: clamp(1.65rem, 2.3vw, 2.45rem); font-weight: 850; letter-spacing: -.04em; }
.eco-shop-product-price del { color: #84918c; font-size: .62em; font-weight: 500; }
.eco-shop-product-price ins { text-decoration: none; }
.eco-shop-product-price .woocommerce-Price-amount { white-space: nowrap; }
.eco-shop-product-intro { max-width: 690px; color: #40544c; font-size: clamp(1rem, 1.3vw, 1.17rem); line-height: 1.72; }
.eco-shop-product-intro > *:first-child { margin-top: 0; }
.eco-shop-product-buybox { margin-top: 34px; padding: clamp(23px, 3.2vw, 38px); border: 1px solid var(--shop-line); border-radius: 28px 28px 78px 28px; background: #fff; box-shadow: 0 22px 65px rgba(16,39,31,.08); }
.eco-shop-product-buybox__top { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 25px; padding-bottom: 18px; border-bottom: 1px solid var(--shop-line); font-size: .77rem; }
.eco-shop-product-buybox__top strong { color: var(--shop-ink); }
.eco-shop-product-buybox__top small { width: 100%; padding-left: 17px; color: var(--shop-muted); }
.eco-shop-stock-dot { width: 9px; height: 9px; border-radius: 50%; background: #b64545; box-shadow: 0 0 0 5px rgba(182,69,69,.12); }
.eco-shop-stock-dot.is-in-stock { background: var(--shop-green); box-shadow: 0 0 0 5px rgba(31,122,80,.13); }
.eco-shop-native-cart form.cart { margin: 0 !important; }
.eco-shop-native-cart table.variations { width: 100%; margin: 0 0 15px; border-collapse: collapse; }
.eco-shop-native-cart table.variations tr { display: grid; grid-template-columns: 115px minmax(0, 1fr); align-items: center; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--shop-line); }
.eco-shop-native-cart table.variations th,
.eco-shop-native-cart table.variations td { padding: 0 !important; border: 0 !important; text-align: left; }
.eco-shop-native-cart table.variations label { font-size: .75rem; font-weight: 850; }
.eco-shop-native-cart table.variations select { width: 100%; min-height: 50px; padding: 10px 42px 10px 14px; border: 1px solid #cbd8d1; border-radius: 12px; background-color: #fff; color: var(--shop-ink); font: inherit; }
.eco-shop-native-cart .reset_variations { display: inline-block; margin-top: 9px; color: var(--shop-green); font-size: .7rem; font-weight: 750; text-decoration: none; }
.eco-shop-native-cart .single_variation_wrap { margin-top: 20px; }
.eco-shop-native-cart .woocommerce-variation-price { margin-bottom: 12px; color: var(--shop-green); font-size: 1.25rem; font-weight: 850; }
.eco-shop-native-cart .woocommerce-variation-availability .stock { margin: 0 0 16px; color: var(--shop-green); font-size: .75rem; }
.eco-shop-native-cart .woocommerce-variation-add-to-cart,
.eco-shop-native-cart form.cart:not(.variations_form) { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 10px; }
.eco-shop-native-cart .quantity .qty { width: 100%; min-height: 54px; padding: 10px; border: 1px solid #cbd8d1; border-radius: 999px; background: #fff; color: var(--shop-ink); font: inherit; font-weight: 800; text-align: center; }
.eco-shop-native-cart .single_add_to_cart_button { min-height: 54px; padding: 13px 24px !important; border: 0 !important; border-radius: 999px !important; background: var(--shop-forest) !important; color: #fff !important; font: inherit !important; font-size: .84rem !important; font-weight: 850 !important; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.eco-shop-native-cart .single_add_to_cart_button:hover { background: var(--shop-green) !important; transform: translateY(-2px); }
.eco-shop-native-cart .single_add_to_cart_button.disabled { opacity: .42; cursor: not-allowed; transform: none; }
.eco-shop-native-cart .wcpay-express-checkout-wrapper,
.eco-shop-native-cart .ppcp-button-wrapper,
.eco-shop-native-cart [id*="ppc-button"],
.eco-shop-native-cart .paypal-buttons-context-iframe { grid-column: 1 / -1; width: 100% !important; margin-top: 12px; }
.eco-shop-native-cart .wcpay-express-checkout-wrapper { padding-top: 17px; border-top: 1px solid var(--shop-line); }
.eco-shop-native-cart iframe { max-width: 100%; }
.eco-shop-small-business { margin: 18px 0 0; color: var(--shop-muted); font-size: .66rem; text-align: center; }
.eco-shop-small-business a { color: var(--shop-green); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.eco-shop-shipping-note { display: flex; align-items: flex-start; gap: 12px; margin: 20px 0 0; padding: 15px 17px; border-radius: 16px; background: #edf4ef; color: var(--shop-muted); font-size: .72rem; line-height: 1.55; }
.eco-shop-shipping-note > span { flex: 0 0 auto; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--shop-lime); color: var(--shop-forest); font-weight: 900; }
.eco-shop-shipping-note strong,
.eco-shop-shipping-note small { display: block; }
.eco-shop-shipping-note small { margin-top: 2px; }
.eco-shop-shipping-note a { color: var(--shop-green); font-weight: 800; }
.eco-shop-product-promises { margin: 25px 0 0; padding: 0; border-top: 1px solid var(--shop-line); list-style: none; }
.eco-shop-product-promises li { display: grid; grid-template-columns: 36px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--shop-line); }
.eco-shop-product-promises li > span { color: var(--shop-green); font-size: .63rem; font-weight: 900; letter-spacing: .08em; }
.eco-shop-product-promises strong,.eco-shop-product-promises small { display: block; }
.eco-shop-product-promises strong { color: var(--shop-ink); font-size: .84rem; }
.eco-shop-product-promises small { margin-top: 3px; color: var(--shop-muted); font-size: .72rem; }

/* Produktgeschichte und Details */
.eco-shop-product-story { padding: clamp(90px, 11vw, 165px) 0; background: #e3eee8; }
.eco-shop-product-story__grid { display: grid; grid-template-columns: minmax(320px, .7fr) minmax(0, 1.3fr); align-items: start; gap: clamp(55px, 9vw, 145px); }
.eco-shop-product-story__intro { position: sticky; top: 130px; }
.eco-shop-product-story__intro h2 { max-width: 650px; margin: 18px 0 25px; font-size: clamp(3rem, 5vw, 5.8rem); font-weight: 570; line-height: .92; letter-spacing: -.062em; }
.eco-shop-product-story__intro > p:last-child { max-width: 520px; color: var(--shop-muted); line-height: 1.75; }
.eco-shop-product-description { padding: clamp(30px, 5vw, 62px); border-radius: 32px 32px 105px 32px; background: #fff; box-shadow: 0 25px 70px rgba(16,39,31,.075); }
.eco-shop-product-details { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--shop-line); }
.eco-shop-product-details h3 { margin-top: 0; }
.eco-shop-product-details table { width: 100%; border-collapse: collapse; }
.eco-shop-product-details th,.eco-shop-product-details td { padding: 14px 0; border-bottom: 1px solid var(--shop-line); text-align: left; vertical-align: top; }
.eco-shop-product-details th { width: 38%; color: var(--shop-muted); font-size: .73rem; letter-spacing: .04em; text-transform: uppercase; }
.eco-shop-product-details td p { margin: 0; color: var(--shop-ink); }
.eco-shop-product-meta { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 35px; }
.eco-shop-product-meta > span { padding: 18px; border-radius: 16px; background: #eef4ef; }
.eco-shop-product-meta small,.eco-shop-product-meta strong { display: block; }
.eco-shop-product-meta small { margin-bottom: 5px; color: var(--shop-muted); font-size: .62rem; text-transform: uppercase; }
.eco-shop-product-meta strong { font-size: .82rem; }
.eco-shop-product-meta a { color: var(--shop-green); text-decoration: none; }
.eco-shop-spec-help { margin: 18px 0 0; padding: 16px 18px; border-left: 3px solid var(--shop-lime); border-radius: 0 14px 14px 0; background: #f4f7f3; color: var(--shop-muted); font-size: .78rem; line-height: 1.6; }
.eco-shop-spec-help a { color: var(--shop-green); font-weight: 800; }
.eco-shop-product-values { padding: 20px 0 110px; background: #e3eee8; }
.eco-shop-product-values__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--shop-line); border-bottom: 1px solid var(--shop-line); }
.eco-shop-product-values article { padding: 38px; }
.eco-shop-product-values article + article { border-left: 1px solid var(--shop-line); }
.eco-shop-product-values b { color: var(--shop-green); font-size: .66rem; }
.eco-shop-product-values h3 { margin: 16px 0 8px; font-size: 1.2rem; }
.eco-shop-product-values p { margin: 0; color: var(--shop-muted); font-size: .84rem; }
.eco-shop-product-related { padding-top: clamp(90px, 10vw, 145px); }

/* Echte WooCommerce-Bewertungen im EcoAbi-Look. */
.eco-shop-product-reviews { padding: clamp(90px, 10vw, 145px) 0; background: var(--shop-paper); }
.eco-shop-product-reviews__grid { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); align-items: start; gap: clamp(45px, 8vw, 125px); }
.eco-shop-product-reviews__intro { position: sticky; top: 130px; }
.eco-shop-product-reviews__intro h2 { margin: 18px 0 15px; font-size: clamp(2.8rem, 4.8vw, 5.4rem); font-weight: 570; line-height: .94; letter-spacing: -.06em; }
.eco-shop-product-reviews__intro p:last-child { max-width: 470px; color: var(--shop-muted); line-height: 1.7; }
.eco-shop-review-card { min-width: 0; padding: clamp(25px, 4vw, 54px); border: 1px solid var(--shop-line); border-radius: 30px 30px 95px 30px; background: #fff; box-shadow: 0 24px 70px rgba(16, 39, 31, .065); }
.eco-shop-review-card #reviews { color: var(--shop-ink); }
.eco-shop-review-card #comments h2,
.eco-shop-review-card #reply-title { display: block; margin: 0 0 24px; color: var(--shop-ink); font-size: clamp(1.8rem, 3vw, 3rem); font-weight: 620; letter-spacing: -.04em; }
.eco-shop-review-card .commentlist { margin: 0 0 42px !important; padding: 0 !important; list-style: none; }
.eco-shop-review-card .commentlist li { margin: 0 0 14px !important; padding: 22px !important; border: 1px solid var(--shop-line) !important; border-radius: 18px !important; background: #f7faf7 !important; }
.eco-shop-review-card .comment_container { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 16px; }
.eco-shop-review-card .avatar { position: static !important; float: none !important; width: 52px !important; height: 52px !important; padding: 0 !important; border: 0 !important; border-radius: 50%; }
.eco-shop-review-card .comment-text { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.eco-shop-review-card .star-rating { float: none; margin-bottom: 8px; color: #cca900; }
.eco-shop-review-card .meta { margin: 0 0 10px !important; color: var(--shop-muted) !important; font-size: .7rem !important; }
.eco-shop-review-card .description p { margin-bottom: 0; line-height: 1.65; }
.eco-shop-review-card .comment-form-rating { margin-bottom: 20px; }
.eco-shop-review-card .comment-form-rating label,
.eco-shop-review-card .comment-form-comment label,
.eco-shop-review-card .comment-form-author label,
.eco-shop-review-card .comment-form-email label { display: block; margin-bottom: 8px; color: var(--shop-ink); font-size: .73rem; font-weight: 820; }
.eco-shop-review-card textarea,
.eco-shop-review-card input[type="text"],
.eco-shop-review-card input[type="email"] { width: 100%; min-height: 50px; padding: 13px 15px; border: 1px solid #cbd8d1; border-radius: 14px; background: #fff; color: var(--shop-ink); font: inherit; }
.eco-shop-review-card textarea { min-height: 150px; resize: vertical; }
.eco-shop-review-card .form-submit .submit { min-height: 52px; padding: 13px 24px !important; border: 0 !important; border-radius: 999px !important; background: var(--shop-forest) !important; color: #fff !important; font: inherit !important; font-size: .8rem !important; font-weight: 850 !important; cursor: pointer; }

@media (max-width: 1050px) {
  .eco-shop-product-hero__grid { grid-template-columns: minmax(360px, .9fr) minmax(390px, 1.1fr); gap: 45px; }
  .eco-shop-product-gallery__note { right: 5px; }
  .eco-shop-product-story__grid { grid-template-columns: 1fr; }
  .eco-shop-product-story__intro { position: static; }
  .eco-shop-product-reviews__grid { grid-template-columns: 1fr; }
  .eco-shop-product-reviews__intro { position: static; }
}

@media (max-width: 820px) {
  .eco-shop-product-hero { padding-top: 10px; }
  .eco-shop-product-hero__grid { grid-template-columns: 1fr; }
  .eco-shop-product-gallery { position: relative; top: auto; }
  .eco-shop-product-gallery .woocommerce-product-gallery__image { min-height: min(112vw, 660px); }
  .eco-shop-product-gallery .woocommerce-product-gallery__image img { height: min(112vw, 660px) !important; padding: clamp(30px, 9vw, 70px); }
  .eco-shop-product-summary { padding-top: 20px; }
  .eco-shop-product-values__grid { grid-template-columns: 1fr; }
  .eco-shop-product-values article + article { border-top: 1px solid var(--shop-line); border-left: 0; }
}

@media (max-width: 520px) {
  .eco-shop-product-summary h1 { font-size: clamp(3rem, 15vw, 4.7rem); }
  .eco-shop-product-gallery .woocommerce-product-gallery__image { border-radius: 26px 26px 78px 26px; }
  .eco-shop-product-gallery__note { right: -4px; bottom: 12px; max-width: 230px; border-width: 5px; }
  .eco-shop-product-gallery__note small { display: none; }
  .eco-shop-product-card__image::after { width: 46px; border-radius: 13px; }
  .eco-shop-product-gallery::after { top: 14px; right: 14px; width: 58px; border-radius: 16px; }
  .eco-shop-product-buybox { padding: 20px 16px; border-radius: 22px 22px 60px 22px; }
  .eco-shop-native-cart table.variations tr { grid-template-columns: 1fr; gap: 7px; }
  .eco-shop-native-cart .woocommerce-variation-add-to-cart,
  .eco-shop-native-cart form.cart:not(.variations_form) { grid-template-columns: 68px minmax(0, 1fr); }
  .eco-shop-product-meta { grid-template-columns: 1fr; }
  .eco-shop-product-description { padding: 24px 18px; border-radius: 24px 24px 72px 24px; }
  .eco-shop-review-card { padding: 22px 17px; border-radius: 24px 24px 70px 24px; }
  .eco-shop-review-card .comment_container { grid-template-columns: 1fr; }
}



/* EcoAbi cart shipping cards v1 */
body.woocommerce-cart .eco-shop-system-card .cart-collaterals .cart_totals {
  width: min(100%, 650px);
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(16,39,31,.12);
  border-radius: 30px 30px 86px 30px;
  background: linear-gradient(145deg,#f4f8f4 0%,#e6f0e9 100%);
  box-shadow: 0 24px 60px rgba(16,39,31,.10);
}
body.woocommerce-cart .eco-shop-system-card .cart_totals > h2 {
  margin: 0 0 20px;
  color: var(--shop-ink);
  font-size: clamp(1.9rem,3vw,2.8rem);
  line-height: 1;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals > h2::before {
  content: "Deine Bestellung";
  display: block;
  margin-bottom: 9px;
  color: var(--shop-green);
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals table.shop_table {
  display: block;
  overflow: visible;
  margin: 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals table.shop_table tbody {
  display: grid;
  gap: 12px;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.cart-subtotal,
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total {
  display: grid;
  grid-template-columns: 150px minmax(0,1fr);
  overflow: hidden;
  border: 1px solid var(--shop-line);
  border-radius: 17px;
  background: #fff;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.cart-subtotal th,
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total th {
  display: flex;
  align-items: center;
  padding: 17px 18px !important;
  border: 0 !important;
  background: #f0f5f1 !important;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.cart-subtotal td,
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total td {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 17px 20px !important;
  border: 0 !important;
  background: #fff;
  color: var(--shop-ink);
  font-size: 1.12rem;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.woocommerce-shipping-totals {
  display: grid;
  grid-template-columns: 1fr;
  overflow: hidden;
  border: 1px solid var(--shop-line);
  border-radius: 22px;
  background: #fff;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.woocommerce-shipping-totals > th {
  padding: 20px 20px 4px !important;
  border: 0 !important;
  background: #fff !important;
  color: var(--shop-green);
  font-size: .67rem;
  letter-spacing: .13em;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.woocommerce-shipping-totals > td {
  padding: 12px 14px 18px !important;
  border: 0 !important;
  background: #fff;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method {
  display: grid;
  gap: 9px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method li {
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method label {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  margin: 0 !important;
  padding: 13px 16px 13px 50px;
  border: 1px solid #d3ddd7;
  border-radius: 16px;
  background: #f8faf8;
  color: #31453c;
  font-size: .9rem;
  font-weight: 680;
  line-height: 1.25;
  cursor: pointer;
  transition: border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method label::before {
  content: "";
  position: absolute;
  left: 17px;
  top: 50%;
  width: 19px;
  height: 19px;
  border: 2px solid #9aaba2;
  border-radius: 50%;
  background: #fff;
  transform: translateY(-50%);
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method label::after {
  content: "";
  position: absolute;
  left: 22px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--shop-lime);
  transform: translateY(-50%) scale(0);
  transition: transform .18s ease;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method label:hover {
  border-color: var(--shop-green);
  background: #fff;
  transform: translateY(-1px);
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method input:focus-visible + label {
  outline: 3px solid var(--shop-lime);
  outline-offset: 3px;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method input:checked + label {
  border-color: var(--shop-forest);
  background: var(--shop-forest);
  color: #fff;
  box-shadow: 0 13px 28px rgba(16,39,31,.18);
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method input:checked + label::before {
  border-color: var(--shop-lime);
  background: rgba(255,255,255,.08);
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method input:checked + label::after {
  transform: translateY(-50%) scale(1);
}
body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method .woocommerce-Price-amount {
  justify-self: end;
  color: inherit;
  font-size: 1rem;
  font-weight: 900;
  white-space: nowrap;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals .woocommerce-shipping-destination,
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.woocommerce-shipping-totals td > p {
  margin: 13px 2px 0 !important;
  padding: 11px 13px;
  border-radius: 12px;
  background: #edf4ef;
  color: var(--shop-muted);
  font-size: .69rem;
  line-height: 1.55;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals .shipping-calculator-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  padding: 9px 13px;
  border: 1px solid rgba(31,122,80,.22);
  border-radius: 999px;
  background: #fff;
  color: var(--shop-green) !important;
  font-size: .72rem;
  font-weight: 850;
  line-height: 1.2;
  text-decoration: none !important;
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total {
  border-color: rgba(220,239,121,.75);
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total th {
  background: var(--shop-lime) !important;
  color: var(--shop-ink);
}
body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total td strong {
  font-size: clamp(1.25rem,2vw,1.55rem);
  letter-spacing: -.03em;
}
@media (max-width:620px) {
  body.woocommerce-cart .eco-shop-system-card .cart-collaterals .cart_totals {
    padding: 18px;
    border-radius: 24px 24px 58px 24px;
  }
  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.cart-subtotal,
  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total {
    grid-template-columns: minmax(0,1fr) auto;
  }
  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.cart-subtotal th,
  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total th,
  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.cart-subtotal td,
  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total td {
    padding: 15px !important;
  }
  body.woocommerce-cart .eco-shop-system-card .cart_totals ul#shipping_method label {
    min-height: 58px;
    padding-right: 13px;
    font-size: .82rem;
  }
}



/* EcoAbi checkout redesign v1 */
body.woocommerce-checkout .eco-shop-system-layout{grid-template-columns:minmax(0,1fr)}
body.woocommerce-checkout .eco-shop-system-card{padding:clamp(24px,4vw,54px);border-radius:34px 34px 100px 34px}
body.woocommerce-checkout .eco-shop-system-card form.checkout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);align-items:start;gap:0 clamp(28px,4vw,58px);width:100%}
body.woocommerce-checkout .eco-shop-system-card .woocommerce-form-coupon-toggle{margin-bottom:22px}
body.woocommerce-checkout .eco-shop-system-card .woocommerce-form-coupon-toggle .woocommerce-info{margin:0;padding:15px 18px 15px 48px;border-radius:15px;background:#edf5ef;font-size:.78rem}
body.woocommerce-checkout .eco-shop-system-card form.checkout_coupon{display:flex;align-items:end;gap:12px;margin:0 0 26px!important;padding:18px!important;border:1px solid var(--shop-line)!important;border-radius:18px!important;background:#f8faf8}
body.woocommerce-checkout .eco-shop-system-card .wcpay-express-checkout-wrapper{grid-column:1/-1;margin:0 0 34px;padding:20px;border:1px solid var(--shop-line);border-radius:22px;background:#f5f8f5}
body.woocommerce-checkout .eco-shop-system-card #wcpay-express-checkout-button-separator{margin:18px 0 0;color:var(--shop-muted);font-size:.65rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
body.woocommerce-checkout .eco-shop-system-card #customer_details{grid-column:1;grid-row:2/span 2;display:block;width:100%;min-width:0}
body.woocommerce-checkout .eco-shop-system-card #customer_details .col-1,
body.woocommerce-checkout .eco-shop-system-card #customer_details .col-2{float:none;width:100%}
body.woocommerce-checkout .eco-shop-system-card .woocommerce-billing-fields,
body.woocommerce-checkout .eco-shop-system-card .woocommerce-shipping-fields,
body.woocommerce-checkout .eco-shop-system-card .woocommerce-additional-fields{padding:clamp(22px,3vw,34px);border:1px solid var(--shop-line);border-radius:26px;background:#f7faf7}
body.woocommerce-checkout .eco-shop-system-card .woocommerce-shipping-fields,
body.woocommerce-checkout .eco-shop-system-card .woocommerce-additional-fields{margin-top:18px}
body.woocommerce-checkout .eco-shop-system-card .woocommerce-billing-fields>h3,
body.woocommerce-checkout .eco-shop-system-card .woocommerce-additional-fields>h3,
body.woocommerce-checkout .eco-shop-system-card .woocommerce-shipping-fields>h3{margin:0 0 24px;color:var(--shop-ink);font-size:clamp(1.7rem,2.5vw,2.45rem);font-weight:650;line-height:1;letter-spacing:-.045em}
body.woocommerce-checkout .eco-shop-system-card .woocommerce-billing-fields>h3::before{content:"01 / Deine Daten";display:block;margin-bottom:10px;color:var(--shop-green);font-size:.63rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
body.woocommerce-checkout .eco-shop-system-card .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .eco-shop-system-card .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.woocommerce-checkout .eco-shop-system-card .form-row{float:none!important;width:100%!important;margin:0!important;padding:0!important}
body.woocommerce-checkout .eco-shop-system-card .form-row-wide,
body.woocommerce-checkout .eco-shop-system-card #billing_address_1_field,
body.woocommerce-checkout .eco-shop-system-card #billing_address_2_field,
body.woocommerce-checkout .eco-shop-system-card #shipping_address_1_field,
body.woocommerce-checkout .eco-shop-system-card #shipping_address_2_field{grid-column:1/-1}
body.woocommerce-checkout .eco-shop-system-card .form-row label{display:block;margin:0 0 7px;color:#31453c;font-size:.72rem;font-weight:820}
body.woocommerce-checkout .eco-shop-system-card .form-row .required{color:#c0533d}
body.woocommerce-checkout .eco-shop-system-card .form-row input.input-text,
body.woocommerce-checkout .eco-shop-system-card .form-row textarea,
body.woocommerce-checkout .eco-shop-system-card .select2-container--default .select2-selection--single{width:100%;min-height:54px;padding:13px 15px;border:1px solid #cbd8d1;border-radius:14px;background:#fff;color:var(--shop-ink);font:inherit;box-shadow:0 1px 0 rgba(16,39,31,.02);transition:border-color .18s ease,box-shadow .18s ease}
body.woocommerce-checkout .eco-shop-system-card .form-row input.input-text:focus,
body.woocommerce-checkout .eco-shop-system-card .form-row textarea:focus,
body.woocommerce-checkout .eco-shop-system-card .select2-container--open .select2-selection--single{border-color:var(--shop-green);outline:0;box-shadow:0 0 0 4px rgba(31,122,80,.1)}
body.woocommerce-checkout .eco-shop-system-card .select2-container{width:100%!important}
body.woocommerce-checkout .eco-shop-system-card .select2-selection__rendered{padding:0!important;line-height:27px!important}
body.woocommerce-checkout .eco-shop-system-card .select2-selection__arrow{top:12px!important;right:10px!important}
body.woocommerce-checkout .eco-shop-system-card .woocommerce-additional-fields textarea{min-height:125px;resize:vertical}
body.woocommerce-checkout .eco-shop-system-card #ship-to-different-address{margin-bottom:0}
body.woocommerce-checkout .eco-shop-system-card #ship-to-different-address label{display:flex;align-items:center;gap:10px;cursor:pointer}
body.woocommerce-checkout .eco-shop-system-card #order_review_heading{grid-column:2;grid-row:2;margin:0 0 18px;color:var(--shop-ink);font-size:clamp(1.8rem,2.8vw,2.8rem);line-height:1;letter-spacing:-.045em}
body.woocommerce-checkout .eco-shop-system-card #order_review_heading::before{content:"02 / Prüfen & bezahlen";display:block;margin-bottom:10px;color:var(--shop-green);font-size:.63rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
body.woocommerce-checkout .eco-shop-system-card #order_review{grid-column:2;grid-row:3;position:sticky;top:118px;min-width:0;padding:clamp(20px,2.5vw,30px);border:1px solid rgba(16,39,31,.12);border-radius:28px 28px 82px 28px;background:linear-gradient(145deg,#f1f6f2,#e5efe8);box-shadow:0 22px 55px rgba(16,39,31,.09)}
body.woocommerce-checkout .eco-shop-system-card #order_review table.shop_table{margin:0 0 18px;border:0;border-radius:18px;background:#fff}
body.woocommerce-checkout .eco-shop-system-card #order_review table.shop_table th,
body.woocommerce-checkout .eco-shop-system-card #order_review table.shop_table td{padding:14px 13px!important;border-color:#dde6e0}
body.woocommerce-checkout .eco-shop-system-card #order_review table.shop_table thead th{background:#edf3ef}
body.woocommerce-checkout .eco-shop-system-card #order_review table.shop_table td:last-child,
body.woocommerce-checkout .eco-shop-system-card #order_review table.shop_table th:last-child{text-align:right}
body.woocommerce-checkout .eco-shop-system-card #order_review tr.order-total th{background:var(--shop-lime);color:var(--shop-ink)}
body.woocommerce-checkout .eco-shop-system-card #order_review tr.order-total td{background:#f8fbdc}
body.woocommerce-checkout .eco-shop-system-card #order_review tr.order-total strong{font-size:1.22rem}
body.woocommerce-checkout .eco-shop-system-card #order_review ul#shipping_method{display:grid;gap:7px;margin:0!important;padding:0!important;list-style:none}
body.woocommerce-checkout .eco-shop-system-card #order_review ul#shipping_method li{position:relative;margin:0!important;padding:0!important}
body.woocommerce-checkout .eco-shop-system-card #order_review ul#shipping_method input[type="radio"]{position:absolute;width:1px;height:1px;opacity:0}
body.woocommerce-checkout .eco-shop-system-card #order_review ul#shipping_method label{position:relative;display:flex!important;align-items:center;justify-content:space-between;gap:10px;min-height:48px;margin:0!important;padding:10px 12px 10px 39px;border:1px solid #d4ded8;border-radius:13px;background:#f8faf8;color:#31453c;font-size:.75rem;font-weight:760;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}
body.woocommerce-checkout .eco-shop-system-card #order_review ul#shipping_method label::before{content:"";position:absolute;left:13px;top:50%;width:16px;height:16px;border:2px solid #9aaba2;border-radius:50%;background:#fff;transform:translateY(-50%)}
body.woocommerce-checkout .eco-shop-system-card #order_review ul#shipping_method input:checked+label{border-color:var(--shop-forest);background:var(--shop-forest);color:#fff}
body.woocommerce-checkout .eco-shop-system-card #order_review ul#shipping_method input:checked+label::before{border:5px solid var(--shop-lime);background:var(--shop-forest)}
body.woocommerce-checkout .eco-shop-system-card #payment{overflow:hidden;border:1px solid #d6e0da;border-radius:22px 22px 58px 22px;background:#fff}
body.woocommerce-checkout .eco-shop-system-card #payment ul.payment_methods{display:grid;gap:9px;margin:0;padding:14px!important;border:0!important;background:transparent}
body.woocommerce-checkout .eco-shop-system-card #payment li.wc_payment_method{margin:0;padding:0;border:1px solid #d6e0da;border-radius:15px;background:#f8faf8}
body.woocommerce-checkout .eco-shop-system-card #payment li.wc_payment_method>input[type="radio"]{margin-left:14px;accent-color:var(--shop-green)}
body.woocommerce-checkout .eco-shop-system-card #payment li.wc_payment_method>label{display:inline-flex;align-items:center;min-height:54px;padding:11px 12px;color:var(--shop-ink);font-weight:780;cursor:pointer}
body.woocommerce-checkout .eco-shop-system-card #payment li.wc_payment_method:has(>input:checked){border-color:var(--shop-green);background:#eef5f0;box-shadow:0 0 0 3px rgba(31,122,80,.08)}
body.woocommerce-checkout .eco-shop-system-card #payment div.payment_box{width:auto;margin:0 12px 12px;padding:15px;border-radius:13px;background:#fff;color:var(--shop-muted);font-size:.78rem}
body.woocommerce-checkout .eco-shop-system-card #payment div.payment_box::before{display:none}
body.woocommerce-checkout .eco-shop-system-card #payment .place-order{margin:0;padding:20px!important;border-top:1px solid #dfe7e2;background:#f5f8f5}
body.woocommerce-checkout .eco-shop-system-card #payment .woocommerce-privacy-policy-text{color:var(--shop-muted);font-size:.72rem;line-height:1.6}
body.woocommerce-checkout .eco-shop-system-card #payment #place_order{width:100%;min-height:56px;margin-top:16px;box-shadow:0 13px 26px rgba(16,39,31,.15)}
body.woocommerce-checkout .eco-shop-system-aside{position:static;display:grid;grid-template-columns:auto minmax(170px,.55fr) minmax(0,1.25fr) auto;align-items:center;gap:18px 28px;padding:24px 28px;border-radius:24px 24px 64px 24px}
body.woocommerce-checkout .eco-shop-system-aside h2,
body.woocommerce-checkout .eco-shop-system-aside p,
body.woocommerce-checkout .eco-shop-system-aside ul{margin:0}
body.woocommerce-checkout .eco-shop-system-aside ul{display:flex;flex-wrap:wrap;gap:6px 20px;padding:0;border:0}
@media (max-width:1080px){
 body.woocommerce-checkout .eco-shop-system-card form.checkout{grid-template-columns:1fr}
 body.woocommerce-checkout .eco-shop-system-card .wcpay-express-checkout-wrapper,
 body.woocommerce-checkout .eco-shop-system-card #customer_details,
 body.woocommerce-checkout .eco-shop-system-card #order_review_heading,
 body.woocommerce-checkout .eco-shop-system-card #order_review{grid-column:1;grid-row:auto}
 body.woocommerce-checkout .eco-shop-system-card #order_review_heading{margin-top:34px}
 body.woocommerce-checkout .eco-shop-system-card #order_review{position:static}
 body.woocommerce-checkout .eco-shop-system-aside{grid-template-columns:auto 1fr}
 body.woocommerce-checkout .eco-shop-system-aside p,
 body.woocommerce-checkout .eco-shop-system-aside ul,
 body.woocommerce-checkout .eco-shop-system-aside>a{grid-column:2}
}
@media (max-width:660px){
 body.woocommerce-checkout .eco-shop-system-card{padding:16px;border-radius:22px 22px 58px 22px}
 body.woocommerce-checkout .eco-shop-system-card .woocommerce-billing-fields,
 body.woocommerce-checkout .eco-shop-system-card .woocommerce-shipping-fields,
 body.woocommerce-checkout .eco-shop-system-card .woocommerce-additional-fields,
 body.woocommerce-checkout .eco-shop-system-card #order_review{padding:18px;border-radius:20px}
 body.woocommerce-checkout .eco-shop-system-card .woocommerce-billing-fields__field-wrapper,
 body.woocommerce-checkout .eco-shop-system-card .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}
 body.woocommerce-checkout .eco-shop-system-card .form-row-first,
 body.woocommerce-checkout .eco-shop-system-card .form-row-last{grid-column:1}
 body.woocommerce-checkout .eco-shop-system-card #order_review table.shop_table th,
 body.woocommerce-checkout .eco-shop-system-card #order_review table.shop_table td{padding:11px 9px!important}
 body.woocommerce-checkout .eco-shop-system-aside{display:block}
 body.woocommerce-checkout .eco-shop-system-aside h2{margin-top:18px}
}



/* EcoAbi checkout polish v1 */
body.woocommerce-checkout .eco-shop-system-card .woocommerce-form-coupon-toggle .woocommerce-info{border:1px solid rgba(31,122,80,.18)!important;background:#edf5ef!important;color:var(--shop-ink)!important}
body.woocommerce-checkout .eco-shop-system-card #order_review tr.woocommerce-shipping-totals{display:grid;grid-template-columns:1fr}
body.woocommerce-checkout .eco-shop-system-card #order_review tr.woocommerce-shipping-totals>th{display:block;width:100%;padding:15px 14px 5px!important;border:0!important;background:#fff!important;color:var(--shop-green);text-align:left!important}
body.woocommerce-checkout .eco-shop-system-card #order_review tr.woocommerce-shipping-totals>td{display:block;width:100%;padding:8px 12px 15px!important;border:0!important;background:#fff}
body.woocommerce-checkout .eco-shop-system-card #order_review ul#shipping_method label{width:100%;font-size:.78rem}
body.woocommerce-checkout .eco-shop-system-aside{grid-template-columns:auto max-content minmax(0,1fr) auto;gap:18px 26px}
body.woocommerce-checkout .eco-shop-system-aside p{display:none}
body.woocommerce-checkout .eco-shop-system-aside h2{margin:0}
body.woocommerce-checkout .eco-shop-system-aside ul{justify-content:center}
body.woocommerce-checkout .eco-shop-system-aside>a{white-space:nowrap}
@media (max-width:900px){
 body.woocommerce-checkout .eco-shop-system-aside{grid-template-columns:auto 1fr}
 body.woocommerce-checkout .eco-shop-system-aside ul,
 body.woocommerce-checkout .eco-shop-system-aside>a{grid-column:2;justify-content:flex-start}
}


/* EcoAbi Checkout + Bestellbestaetigung v2 */
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card{padding:clamp(24px,3.2vw,46px)}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card form.checkout{grid-template-columns:minmax(0,1fr);gap:0}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card .wcpay-express-checkout-wrapper,
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #customer_details,
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review_heading,
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review{grid-column:1;grid-row:auto}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review_heading{margin:clamp(42px,5vw,68px) 0 22px}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review{position:static;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:clamp(22px,3vw,38px);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>table.shop_table{grid-column:1;margin:0;border:1px solid rgba(16,39,31,.12);border-radius:24px 24px 62px 24px;box-shadow:0 20px 48px rgba(16,39,31,.07)}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>#payment{grid-column:2;margin:0;box-shadow:0 20px 48px rgba(16,39,31,.07)}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review ul#shipping_method label{min-height:58px;padding:13px 16px 13px 46px;font-size:.86rem}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review ul#shipping_method label:before{left:16px;width:18px;height:18px}

body.woocommerce-order-received .eco-shop-system-layout{grid-template-columns:minmax(0,1fr)}
body.woocommerce-order-received .eco-shop-system-card{padding:clamp(28px,4vw,62px);border-radius:34px 34px 100px 34px}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,3.5vw,42px);width:100%}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-notice--success,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-thankyou-order-received{margin:0!important;padding:clamp(22px,3vw,34px)!important;border:0!important;border-radius:24px 24px 64px 24px;background:var(--shop-lime)!important;color:var(--shop-ink)!important;font-size:clamp(1.45rem,2.7vw,2.4rem);font-weight:680;line-height:1.12;letter-spacing:-.035em}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0!important;padding:0!important;list-style:none}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview li{float:none!important;min-width:0;min-height:106px;margin:0!important;padding:18px 20px!important;border:1px solid var(--shop-line)!important;border-radius:18px;background:#f2f7f3;color:var(--shop-green);font-size:.63rem;font-weight:850;line-height:1.4;letter-spacing:.08em;overflow-wrap:anywhere;text-transform:uppercase}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview li strong{display:block;margin-top:9px;color:var(--shop-ink);font-size:.98rem;font-weight:760;line-height:1.35;letter-spacing:0;text-transform:none}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details{width:100%;margin:0!important}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details__title,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-column__title{margin:0 0 18px;color:var(--shop-ink);font-size:clamp(1.7rem,3vw,2.7rem);line-height:1;letter-spacing:-.045em}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table{width:100%;margin:0;border:1px solid var(--shop-line);border-radius:22px 22px 62px 22px;background:#fff}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table th,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table td{padding:18px 20px!important}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table tfoot tr:last-child th{background:var(--shop-lime)}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table tfoot tr:last-child td{background:#f8fbdc;font-size:1.22rem;font-weight:850}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns--addresses,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-column{float:none!important;width:100%!important;margin:0!important;padding:clamp(22px,3vw,32px);border:1px solid var(--shop-line);border-radius:24px 24px 60px 24px;background:#f2f7f3}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details address{min-height:0;margin:0;padding:0;border:0;color:#31453c;font-style:normal;font-size:1rem;line-height:1.8}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details address p{margin:12px 0 0}
body.woocommerce-order-received .eco-shop-system-aside{position:static;display:grid;grid-template-columns:auto max-content minmax(0,1fr) auto;align-items:center;gap:18px 26px;padding:24px 28px}
body.woocommerce-order-received .eco-shop-system-aside h2,
body.woocommerce-order-received .eco-shop-system-aside p,
body.woocommerce-order-received .eco-shop-system-aside ul{margin:0}
body.woocommerce-order-received .eco-shop-system-aside p{display:none}
body.woocommerce-order-received .eco-shop-system-aside ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;padding:0;border:0}
@media(max-width:1100px){
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review{grid-template-columns:minmax(0,1fr)}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>table.shop_table,
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>#payment{grid-column:1}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns--addresses,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns{grid-template-columns:minmax(0,1fr)}
body.woocommerce-order-received .eco-shop-system-aside{display:block}
body.woocommerce-order-received .eco-shop-system-aside h2{margin-top:18px}
}



/* EcoAbi Checkout + Bestellbestaetigung v2 */
body.woocommerce-check

/* EcoAbi Checkout + Bestellbestaetigung v2 */
body.woocommerce-checko

/* EcoAbi Checkout + Bestellbestaetigung v2 */
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card{padding:clamp(24px,3.2vw,46px)}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card form.checkout{grid-template-columns:1fr;gap:0}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card .wcpay-express-checkout-wrapper,
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #customer_details,
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review_heading,
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review{grid-column:1;grid-row:auto}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review_heading{margin:clamp(42px,5vw,68px) 0 22px}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review{position:static;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:clamp(22px,3vw,38px);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>table.shop_table{grid-column:1;margin:0;border:1px solid rgba(16,39,31,.12);border-radius:24px 24px 62px 24px;box-shadow:0 20px 48px rgba(16,39,31,.07)}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>#payment{grid-column:2;margin:0;box-shadow:0 20px 48px rgba(16,39,31,.07)}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review ul#shipping_method label{min-height:58px;padding:13px 16px 13px 46px;font-size:.86rem}
body.woocommerce-order-received .eco-shop-system-layout{grid-template-columns:1fr}
body.woocommerce-order-received .eco-shop-system-card{padding:clamp(28px,4vw,62px);border-radius:34px 34px 100px 34px}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order{display:grid;grid-template-columns:1fr;gap:clamp(24px,3.5vw,42px);width:100%}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-thankyou-order-received{margin:0!important;padding:clamp(22px,3vw,34px)!important;border:0!important;border-radius:24px 24px 64px 24px;background:var(--shop-lime)!important;color:var(--shop-ink)!important;font-size:clamp(1.45rem,2.7vw,2.4rem);font-weight:680;line-height:1.12;letter-spacing:-.035em}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0!important;padding:0!important;list-style:none}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview li{float:none!important;min-width:0;min-height:106px;margin:0!important;padding:18px 20px!important;border:1px solid var(--shop-line)!important;border-radius:18px;background:#f2f7f3;color:var(--shop-green);font-size:.63rem;font-weight:850;line-height:1.4;letter-spacing:.08em;overflow-wrap:anywhere;text-transform:uppercase}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview li strong{display:block;margin-top:9px;color:var(--shop-ink);font-size:.98rem;font-weight:760;line-height:1.35;letter-spacing:0;text-transform:none}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details{width:100%;margin:0!important}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details__title,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-column__title{margin:0 0 18px;color:var(--shop-ink);font-size:clamp(1.7rem,3vw,2.7rem);line-height:1;letter-spacing:-.045em}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table{width:100%;margin:0;border:1px solid var(--shop-line);border-radius:22px 22px 62px 22px;background:#fff}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table th,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table td{padding:18px 20px!important}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table tfoot tr:last-child th{background:var(--shop-lime)}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table tfoot tr:last-child td{background:#f8fbdc;font-size:1.22rem;font-weight:850}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-column{float:none!important;width:100%!important;margin:0!important;padding:clamp(22px,3vw,32px);border:1px solid var(--shop-line);border-radius:24px 24px 60px 24px;background:#f2f7f3}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details address{min-height:0;margin:0;padding:0;border:0;color:#31453c;font-style:normal;font-size:1rem;line-height:1.8}
@media(max-width:1100px){body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review{grid-template-columns:1fr}body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>table.shop_table,body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>#payment{grid-column:1}body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview,body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns{grid-template-columns:1fr}}

body.woocommerce-order-received .eco-shop-system-hero .eco-shop-eyebrow{font-size:0}
body.woocommerce-order-received .eco-shop-system-hero .eco-shop-eyebrow:after{content:"Bestellung bestätigt";font-size:.72rem}
body.woocommerce-order-received .eco-shop-system-hero h1{font-size:0}
body.woocommerce-order-received .eco-shop-system-hero h1:after{content:"Danke. Das war’s schon.";display:block;font-size:clamp(3.4rem,6.7vw,7.5rem)}
body.woocommerce-order-received .eco-shop-system-hero .eco-shop-page-lead{font-size:0}
body.woocommerce-order-received .eco-shop-system-hero .eco-shop-page-lead:after{content:"Deine Bestellung ist bei uns angekommen. Alle weiteren Informationen erhältst du zusätzlich per E-Mail.";font-size:clamp(1rem,1.4vw,1.25rem)}
body.woocommerce-order-received .eco-shop-system-step{font-size:0}
body.woocommerce-order-received .eco-shop-system-step:after{content:"✓";font-size:clamp(3.5rem,6vw,7rem)}


/* EcoAbi Bestellbestaetigung v3 */
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order{gap:clamp(22px,3vw,34px)}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch;width:100%!important}
body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview li{display:flex!important;flex-direction:column;justify-content:space-between;width:auto!important;max-width:none!important}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details{padding:clamp(22px,3vw,34px);border:1px solid var(--shop-line);border-radius:28px 28px 78px 28px;background:#f7faf7}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details__title:before{content:"Deine Bestellung";display:block;margin-bottom:9px;color:var(--shop-green);font-size:.63rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details{display:block!important}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details:before{content:"Deine Adressen";display:block;margin:0 0 18px;color:var(--shop-ink);font-size:clamp(1.7rem,3vw,2.7rem);font-weight:650;line-height:1;letter-spacing:-.045em}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns--addresses,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .col2-set{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch;gap:20px;width:100%!important;margin:0!important}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-column,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .col-1,
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .col-2{position:static!important;float:none!important;grid-column:auto!important;align-self:stretch;width:100%!important;max-width:none!important;margin:0!important}
body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-column__title{font-size:clamp(1.35rem,2.3vw,2rem)}
@media(max-width:900px){body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview,body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns,body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns--addresses,body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .col2-set{grid-template-columns:1fr!important}body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details{padding:18px;border-radius:22px 22px 58px 22px}}


/* EcoAbi Checkout v4 */
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review{display:block!important;width:100%}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>table.shop_table{display:table;width:100%!important;max-width:none!important}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>#payment{display:block;width:100%!important;max-width:none!important;margin-top:26px}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>iframe{display:none!important}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #payment ul.payment_methods{padding:clamp(16px,2.5vw,26px)!important}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #payment li.wc_payment_method>label{min-height:62px;padding:14px 16px;font-size:.92rem}
body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #payment div.payment_box{margin:0 16px 16px;padding:clamp(18px,2.5vw,28px)}


body.woocommerce-checkout:not(.woocommerce-order-received) .eco-shop-system-card #order_review>.ppcp-messages{display:none!important}


/* EcoAbi Mobile-Menü: deckender iPhone/Safari-Fix */
@media (max-width: 1150px) {
  .eco-shop-header {
    background: #fbfaf6 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.eco-shop-menu-open .eco-shop-header {
    position: fixed !important;
    z-index: 1000 !important;
    top: var(--wp-admin--admin-bar--height, 0px) !important;
    right: 0 !important;
    left: 0 !important;
  }

  .eco-shop-nav__links {
    position: absolute !important;
    z-index: 99 !important;
    top: 100% !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: calc(100vh - 90px - var(--wp-admin--admin-bar--height, 0px)) !important;
    height: calc(100dvh - 90px - var(--wp-admin--admin-bar--height, 0px)) !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
    background: #fbfaf6 !important;
    box-shadow: 0 24px 50px rgba(16, 39, 31, .12) !important;
    isolation: isolate;
  }

  .eco-shop-nav__links.is-open {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

@media (max-width: 760px) {
  .eco-shop-nav__links {
    height: calc(100vh - 78px - var(--wp-admin--admin-bar--height, 0px)) !important;
    height: calc(100dvh - 78px - var(--wp-admin--admin-bar--height, 0px)) !important;
  }
}

/* Mobile Produkt- und Warenkorbkorrekturen. */
@media (max-width: 620px) {
  .eco-shop-product-summary h1 {
    max-width: 100%;
    font-size: clamp(2.35rem, 11vw, 3.4rem);
    line-height: .96;
    letter-spacing: -.052em;
    overflow-wrap: anywhere;
    hyphens: auto;
    text-wrap: pretty;
  }

  body.woocommerce-cart .eco-shop-system-card .cart_totals table.shop_table_responsive tr td::before {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.cart-subtotal,
  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total {
    grid-template-columns: minmax(108px, .9fr) minmax(0, 1.1fr);
  }

  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.cart-subtotal th,
  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total th {
    min-width: 0;
    padding: 15px 12px !important;
    font-size: .65rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.cart-subtotal td,
  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total td {
    min-width: 0;
    padding: 15px 13px !important;
    font-size: 1rem;
    line-height: 1.25;
    text-align: right !important;
    overflow-wrap: anywhere;
  }

  body.woocommerce-cart .eco-shop-system-card .cart_totals tr.order-total td strong {
    font-size: 1.05rem;
    line-height: 1.25;
  }
}

/* Mobile Bestellbestätigung: alle WooCommerce-Bereiche bleiben im Hochformat sichtbar. */
@media (max-width: 620px) {
  body.woocommerce-order-received .eco-shop-system-content,
  body.woocommerce-order-received .eco-shop-shell,
  body.woocommerce-order-received .eco-shop-system-layout,
  body.woocommerce-order-received .eco-shop-system-card,
  body.woocommerce-order-received .eco-shop-system-card .woocommerce,
  body.woocommerce-order-received .eco-shop-system-card .woocommerce-order,
  body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details,
  body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-order-received .eco-shop-system-card {
    padding: 14px !important;
    overflow: hidden !important;
    border-radius: 24px 24px 58px 24px;
  }

  body.woocommerce-order-received .eco-shop-system-card .woocommerce-notice--success,
  body.woocommerce-order-received .eco-shop-system-card .woocommerce-thankyou-order-received {
    width: 100% !important;
    padding: 20px !important;
    font-size: 1.28rem !important;
    overflow-wrap: anywhere;
  }

  body.woocommerce-order-received .eco-shop-system-card ul.woocommerce-order-overview {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
  }

  body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details {
    padding: 14px !important;
  }

  body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table {
    display: table !important;
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
  }

  body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table th,
  body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table td {
    min-width: 0 !important;
    padding: 12px 10px !important;
    font-size: .78rem !important;
    overflow-wrap: anywhere !important;
    word-break: break-word;
  }

  body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table th:first-child,
  body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table td:first-child {
    width: 62% !important;
  }

  body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table th:last-child,
  body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details table.shop_table td:last-child {
    width: 38% !important;
    text-align: right !important;
  }

  body.woocommerce-order-received .eco-shop-system-card .wc-item-meta,
  body.woocommerce-order-received .eco-shop-system-card .woocommerce-order-details p {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns,
  body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-columns--addresses,
  body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .col2-set {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
  }

  body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .woocommerce-column,
  body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .col-1,
  body.woocommerce-order-received .eco-shop-system-card .woocommerce-customer-details .col-2 {
    min-width: 0 !important;
    padding: 20px !important;
  }
}

/* Lange Rechtstitel dürfen auf kleinen Displays sauber umbrechen. */
@media (max-width: 760px) {
  .eco-shop-legal-hero h1 {
    max-width: 100%;
    font-size: clamp(2.45rem, 11vw, 4rem);
    line-height: .96;
    letter-spacing: -.05em;
    overflow-wrap: anywhere;
    hyphens: auto;
    text-wrap: pretty;
  }
}
