/* =========================================================
   Echte Handwerker: Design für WordPress (Kadence + WooCommerce)
   Wird automatisch über wp-content/mu-plugins/echtehandwerker-design.php geladen.
   Gilt für Kopfzeile, Fußzeile, Shop und die Inhaltsseiten (body.eh-page).
   ========================================================= */

/* ---------- Schriften (lokal, nichts von Google) ---------- */
@font-face { font-family: "Big Shoulders Display"; src: url("../fonts/bigshoulders-700.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Big Shoulders Display"; src: url("../fonts/bigshoulders-900.woff2") format("woff2"); font-weight: 900; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("../fonts/plexsans-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("../fonts/plexsans-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("../fonts/plexsans-600.woff2") format("woff2"); font-weight: 600; font-display: swap; }

:root {
  --russ: #1f1c19;
  --kreide: #f3ede3;
  --kupfer: #a84e25;
  --kupfer-dunkel: #8a3f1d;
  --span: #d9c7a7;
  --papier: #fff8ee;
  --russ-70: rgba(31, 28, 25, .7);
  --russ-15: rgba(31, 28, 25, .15);
  --kreide-70: rgba(243, 237, 227, .72);
  --font-head: "Big Shoulders Display", "Arial Narrow", sans-serif;
  --font-text: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
  --wrap: 1180px;
  --gutter: clamp(16px, 4vw, 40px);
  --radius: 4px;
  --space: clamp(64px, 9vw, 120px);
  --ease: cubic-bezier(.2, .7, .2, 1);

  /* Kadence-Farbvariablen auf die Markenfarben setzen */
  --global-palette1: var(--kupfer);
  --global-palette2: var(--kupfer-dunkel);
  --global-palette3: var(--russ);
  --global-palette4: var(--russ);
  --global-palette5: #6b625a;
  --global-palette6: var(--span);
  --global-palette7: var(--kreide);
  --global-palette8: var(--kreide);
  --global-palette9: var(--papier);
  --global-palette-btn-bg: var(--kupfer);
  --global-palette-btn-bg-hover: var(--kupfer-dunkel);
  --global-palette-btn: var(--kreide);
  --global-palette-btn-hover: var(--kreide);
}

/* =========================================================
   1. Überall: Grundlage, Kopfzeile, Fußzeile, Shop
   ========================================================= */
body {
  background: var(--kreide) !important;
  color: var(--russ);
  font-family: var(--font-text) !important;
  -webkit-font-smoothing: antialiased;
}
.content-bg, body.content-style-unboxed .site, .entry-content-wrap, .content-area .entry { background: transparent !important; }
a { color: var(--kupfer); }
a:hover { color: var(--kupfer-dunkel); }

h1, h2, h3, .entry-title, .page-title, .woocommerce-loop-product__title, .product_title, .wc-block-components-title {
  font-family: var(--font-head) !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  line-height: .95 !important;
  letter-spacing: .005em;
  color: inherit;
}
h4, h5, h6 { font-family: var(--font-text) !important; font-weight: 600; }

/* Leiste ganz oben */
.site-top-header-wrap .site-header-row-container-inner { background: var(--russ) !important; }
.site-top-header-wrap, .site-top-header-wrap p, .site-top-header-wrap a { color: var(--kreide) !important; }
.site-top-header-wrap p { font-size: .85rem !important; letter-spacing: .08em; margin: 0; }

/* Kopfzeile */
.site-main-header-wrap .site-header-row-container-inner {
  background: var(--kreide) !important;
  border-bottom: 1px solid var(--russ-15);
}
#masthead { position: relative; z-index: 50; }
.site-branding a.brand img { max-height: 46px; width: auto; }
.main-navigation .primary-menu-container > ul > li.menu-item > a {
  color: var(--russ) !important;
  font-family: var(--font-text) !important;
  font-weight: 600 !important;
  font-size: .95rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-decoration: underline !important;
  text-decoration-color: transparent !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 7px;
  transition: text-decoration-color .25s, color .2s;
}
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
.main-navigation .primary-menu-container > ul > li.current-menu-item > a { text-decoration-color: var(--kupfer) !important; color: var(--russ) !important; }
.header-cart-button, .search-toggle-open, .menu-toggle-open { color: var(--russ) !important; }
.header-cart-button .header-cart-total { background: var(--kupfer) !important; color: var(--kreide) !important; }
.mobile-navigation ul li a, #mobile-drawer .drawer-inner { font-family: var(--font-text) !important; }
#mobile-drawer .drawer-inner { background: var(--russ) !important; }

/* Fußzeile */
.site-footer, #colophon, .site-footer-row-container-inner, .site-footer-wrap { background: var(--russ) !important; color: var(--kreide-70) !important; }
.site-footer .widget-title, .site-footer h2.widget-title {
  font-family: var(--font-text) !important; font-size: .8rem !important; font-weight: 600 !important;
  letter-spacing: .16em; text-transform: uppercase; color: var(--span) !important; line-height: 1.4 !important;
}
.site-footer a, .site-footer .menu a { color: var(--kreide-70) !important; text-decoration: none; transition: color .2s; }
.site-footer a:hover { color: var(--kreide) !important; }
.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner { border-top: 1px solid rgba(243,237,227,.1); }
.site-footer .footer-html { font-size: .85rem; }
.site-footer .eh-footer-brand img { max-width: 210px; height: auto; }

/* Knöpfe */
.button, button.button, input[type="submit"],
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .wc-block-components-button:not(.is-link),
.woocommerce a.button.alt, .woocommerce button.button.alt, .checkout-button, #place_order,
.wp-block-button__link {
  background: var(--kupfer) !important;
  color: var(--kreide) !important;
  border: 0 !important;
  border-radius: var(--radius) !important;
  font-family: var(--font-head) !important;
  font-weight: 700 !important;
  font-size: 1.3rem !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  min-height: 52px;
  padding: 12px 30px !important;
  box-shadow: 0 4px 0 var(--kupfer-dunkel) !important;
  transition: transform .2s var(--ease), box-shadow .2s var(--ease), background .2s;
  text-decoration: none !important;
  display: inline-flex; align-items: center; justify-content: center;
}
.button:hover, button.button:hover, input[type="submit"]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.wc-block-components-button:not(.is-link):hover, .checkout-button:hover, #place_order:hover,
.wp-block-button__link:hover {
  background: var(--kupfer-dunkel) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 0 #6e3217 !important;
}

/* Seitentitel im Shop dunkel wie auf den Infoseiten */
.entry-hero-container-inner { background: var(--russ) !important; }
.entry-hero .entry-title, .entry-hero .page-title, .entry-hero .kadence-breadcrumbs, .entry-hero .kadence-breadcrumbs a, .entry-hero .archive-description { color: var(--kreide) !important; }

/* Produkte */
.woocommerce ul.products li.product { text-align: left; }
.woocommerce ul.products li.product a img { border-radius: var(--radius); background: var(--span); transition: transform .5s var(--ease); }
.woocommerce ul.products li.product:hover a img { transform: scale(1.02); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.55rem !important; padding: .4em 0 .1em !important; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--russ) !important; font-weight: 600; font-size: 1.05rem; }
.woocommerce span.onsale { background: var(--kupfer) !important; color: var(--kreide) !important; border-radius: var(--radius) !important; }
.woocommerce div.product .product_title { font-size: clamp(2.4rem, 5vw, 3.6rem) !important; }
.woocommerce div.product div.images img { border-radius: var(--radius); background: var(--span); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--kupfer); }

/* Formulare */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.select2-container--default .select2-selection--single, .wc-block-components-text-input input,
.woocommerce .quantity .qty, .woocommerce div.product form.cart .variations select {
  border: 2px solid var(--span) !important; border-radius: var(--radius) !important; background: var(--papier) !important; min-height: 48px;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: var(--kupfer) !important; outline: none; }

/* Warenkorb und Kasse */
.woocommerce table.shop_table { border-color: var(--russ-15); border-radius: var(--radius); background: var(--papier); }
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout #order_review { background: var(--papier); border-top: 4px solid var(--kupfer); border-radius: var(--radius); padding: 24px; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--kupfer) !important; background: var(--papier) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--kupfer) !important; }

/* „Demnächst verfügbar“-Seite */
.woocommerce-coming-soon-default, body.woocommerce-coming-soon { background: var(--russ) !important; color: var(--kreide) !important; }

/* =========================================================
   2. Inhaltsseiten (Home, Über uns, FAQ, Impressum)
   ========================================================= */
body.eh-page .content-container.site-container,
body.eh-page .entry-content-wrap { padding: 0 !important; max-width: none !important; }
body.eh-page .entry-content { margin: 0 !important; }
body.eh-page .entry-content > .alignfull { margin-top: 0 !important; margin-bottom: 0 !important; max-width: none; }
body.eh-page .entry-content > * + * { margin-top: 0 !important; }
body.eh-page .eh-section, body.eh-page .eh-hero, body.eh-page .eh-page-hero, body.eh-page .eh-contact { margin: 0 !important; }

/* Kadence legt um jeden Gruppen-Block eine zusätzliche Hülle. Für das Layout wird sie ausgeblendet. */
body.eh-page .wp-block-group__inner-container { display: contents; }

body.eh-page .eh-wrap { width: 100%; max-width: var(--wrap); margin: 0 auto !important; padding: 0 var(--gutter); }
body.eh-page .eh-wrap > * { margin-top: 0; }
body.eh-page .eh-section { padding: var(--space) 0; }
body.eh-page p { margin: 0 0 1em; }
body.eh-page h1 { font-size: clamp(3rem, 8vw, 6.4rem); margin: 0 0 .35em; }
body.eh-page h2 { font-size: clamp(2.3rem, 5vw, 3.8rem); margin: 0 0 .4em; }
body.eh-page h3 { font-size: clamp(1.5rem, 2.4vw, 1.9rem); font-weight: 700 !important; margin: 0 0 .4em; }
body.eh-page h1 em, body.eh-page h1 strong { font-style: normal; font-weight: inherit; color: var(--span); }

body.eh-page .kicker {
  display: flex; align-items: center; gap: .6em;
  font-family: var(--font-text); font-weight: 600;
  font-size: .8rem; letter-spacing: .16em; text-transform: uppercase;
  color: var(--kupfer); margin: 0 0 1.1em;
}
body.eh-page .kicker::before { content: ""; width: 28px; height: 2px; background: currentColor; flex: none; }
body.eh-page .lead { font-size: clamp(1.1rem, 1.6vw, 1.3rem); max-width: 34em; }
body.eh-page .wp-block-buttons { margin: 0; gap: 16px; }
body.eh-page .wp-block-image { margin: 0; }
body.eh-page .wp-block-image img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius); transition: transform .8s var(--ease); }

/* Abschnittskopf */
body.eh-page .eh-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: clamp(32px, 5vw, 56px) !important; }
body.eh-page .eh-section-head h2 { margin: 0; }
body.eh-page .eh-section-head > p { margin: 0; max-width: 26em; color: var(--russ-70); }

/* Dunkle Kopfbereiche */
body.eh-page .eh-hero, body.eh-page .eh-page-hero { background: var(--russ); color: var(--kreide); }
body.eh-page .eh-hero .kicker, body.eh-page .eh-page-hero .kicker { color: var(--span); }
body.eh-page .eh-hero .lead, body.eh-page .eh-page-hero .lead { color: var(--kreide-70); }
body.eh-page .eh-page-hero .eh-wrap { padding-top: clamp(56px, 8vw, 100px); padding-bottom: clamp(48px, 6vw, 80px); }
body.eh-page .eh-page-hero .lead { margin: 0; }

/* Startseite: Kopfbereich */
body.eh-page .eh-hero-grid {
  display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 6vw, 80px); align-items: center;
  padding-top: clamp(56px, 8vw, 110px); padding-bottom: clamp(56px, 8vw, 110px);
}
body.eh-page .eh-hero-grid > * { margin: 0 !important; }
body.eh-page .eh-hero .lead { margin-bottom: 2em; }
body.eh-page .eh-hero-note { margin: 26px 0 0 !important; font-size: .9rem; color: var(--kreide-70); }
body.eh-page .eh-hero-media { aspect-ratio: 4 / 5; box-shadow: 18px 18px 0 var(--kupfer); border-radius: var(--radius); }
body.eh-page .eh-hero-media img { object-position: 50% 20%; }
body.eh-page .wp-block-separator.eh-ruler {
  border: 0 !important; margin: 0 !important; max-width: none; width: 100%; height: 14px; opacity: .5;
  background:
    repeating-linear-gradient(90deg, var(--span) 0 1px, transparent 1px 10px) 0 0 / 100% 6px no-repeat,
    repeating-linear-gradient(90deg, var(--span) 0 2px, transparent 2px 50px) 0 0 / 100% 14px no-repeat !important;
}

/* Produkte */
body.eh-page .eh-products { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2.4vw, 28px); }
body.eh-page .eh-products > * { margin: 0 !important; }
body.eh-page .eh-product { position: relative; }
body.eh-page .eh-product .wp-block-image { aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--radius); margin-bottom: 14px !important; background: var(--span); }
body.eh-page .eh-product:hover .wp-block-image img { transform: scale(1.04); }
body.eh-page .eh-product .eh-product-type { font-size: .78rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--kupfer); margin: 0 !important; }
body.eh-page .eh-product h3 { font-size: 1.55rem; margin: 2px 0 4px !important; }
body.eh-page .eh-product h3 a { color: var(--russ); text-decoration: none; }
body.eh-page .eh-product h3 a::after { content: ""; position: absolute; inset: 0; }
body.eh-page .eh-product .eh-product-price { font-weight: 600; margin: 0 !important; }
body.eh-page .eh-price-note { margin-top: 28px !important; font-size: .85rem; color: var(--russ-70); }
body.eh-page .eh-price-note a { color: var(--russ); font-weight: 600; }

/* Kategorien */
body.eh-page .eh-bg-span { background: var(--span); }
body.eh-page .eh-categories { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(16px, 2.4vw, 28px); align-items: start; }
body.eh-page .eh-categories > * { margin: 0 !important; }
body.eh-page .eh-category { position: relative; overflow: hidden; border-radius: var(--radius); color: var(--kreide); }
body.eh-page .eh-category .wp-block-image { aspect-ratio: 5 / 4; overflow: hidden; margin: 0 !important; display: block; position: relative; }
body.eh-page .eh-category .wp-block-image img { position: absolute; inset: 0; }
body.eh-page .eh-category .wp-block-image img { border-radius: 0; }
body.eh-page .eh-category:nth-child(1) .wp-block-image img { object-position: 50% 40%; }
body.eh-page .eh-category:nth-child(2) .wp-block-image img { object-position: 35% 30%; }
body.eh-page .eh-category:hover .wp-block-image img { transform: scale(1.04); }
body.eh-page .eh-category-label {
  position: absolute; left: 0; right: 0; bottom: 0; margin: 0 !important;
  padding: clamp(20px, 3vw, 36px) clamp(76px, 9vw, 110px) clamp(20px, 3vw, 36px) clamp(20px, 3vw, 36px);
  background: linear-gradient(transparent, rgba(31,28,25,.78));
}
body.eh-page .eh-category-label h3 { font-size: clamp(2.2rem, 4.5vw, 3.6rem); font-weight: 900 !important; margin: 0 !important; }
body.eh-page .eh-category-label h3 a { color: var(--kreide); text-decoration: none; }
body.eh-page .eh-category-label h3 a::after { content: ""; position: absolute; inset: 0; }
body.eh-page .eh-category-label p { margin: 4px 0 0 !important; font-size: .95rem; color: var(--kreide-70); }
body.eh-page .eh-category-label::after {
  content: "→"; position: absolute; right: clamp(20px, 3vw, 36px); bottom: clamp(20px, 3vw, 36px);
  width: 52px; height: 52px; border-radius: 50%; border: 1.5px solid var(--kreide);
  display: grid; place-items: center; font-size: 1.3rem; line-height: 1;
  transition: background .25s, color .25s, transform .3s var(--ease);
}
body.eh-page .eh-category:hover .eh-category-label::after { background: var(--kreide); color: var(--russ); transform: translateX(4px); }

/* Abschluss-Band */
body.eh-page .eh-closing { background: var(--kupfer); color: var(--kreide); text-align: center; }
body.eh-page .eh-closing h2 { max-width: 14em; margin: 0 auto .35em; }
body.eh-page .eh-closing p { color: rgba(243,237,227,.85); max-width: 30em; margin: 0 auto 2em; }
body.eh-page .eh-closing .wp-block-buttons { justify-content: center; }
body.eh-page .eh-closing .wp-block-button__link { background: var(--russ) !important; box-shadow: 0 4px 0 #000 !important; }
body.eh-page .eh-closing .wp-block-button__link:hover { background: #000 !important; box-shadow: 0 6px 0 #000 !important; }

/* Über uns */
body.eh-page .eh-story { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
body.eh-page .eh-story > * { margin: 0 !important; }
body.eh-page .eh-story .wp-block-image { aspect-ratio: 4 / 5; box-shadow: -18px 18px 0 var(--kupfer); border-radius: var(--radius); }
body.eh-page .eh-story .wp-block-image img { object-position: 50% 12%; }
body.eh-page .eh-story-text p { font-size: 1.12rem; }
body.eh-page .eh-story-text .kicker { font-size: .8rem; }
body.eh-page .eh-signature { font-family: var(--font-head); font-weight: 700; font-size: 1.6rem !important; text-transform: uppercase; color: var(--kupfer); margin-top: 1.2em !important; }
body.eh-page .eh-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2.4vw, 28px); counter-reset: v; }
body.eh-page .eh-values > * { margin: 0 !important; }
body.eh-page .eh-value { padding-top: 22px; border-top: 2px solid var(--russ); }
body.eh-page .eh-value::before {
  counter-increment: v; content: "0" counter(v);
  display: block; font-family: var(--font-head); font-weight: 900; font-size: 1.1rem;
  color: var(--kupfer); letter-spacing: .1em; margin-bottom: 10px;
}
body.eh-page .eh-value p { margin: 0; }

/* FAQ */
body.eh-page .eh-faq { max-width: 860px; }
body.eh-page .eh-faq-group { margin-bottom: clamp(48px, 6vw, 72px) !important; scroll-margin-top: 100px; }
body.eh-page .eh-faq-group h2 { font-size: clamp(2rem, 3.6vw, 2.8rem); }
body.eh-page .wp-block-details { border-bottom: 1px solid var(--russ-15); margin: 0 !important; padding: 0; }
body.eh-page .wp-block-details summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px;
  padding: 20px 0; font-weight: 600; font-size: 1.08rem; min-height: 48px;
}
body.eh-page .wp-block-details summary::-webkit-details-marker { display: none; }
body.eh-page .wp-block-details summary::after {
  content: ""; flex: none; width: 14px; height: 14px;
  background:
    linear-gradient(var(--kupfer), var(--kupfer)) center / 14px 2px no-repeat,
    linear-gradient(var(--kupfer), var(--kupfer)) center / 2px 14px no-repeat;
  transition: transform .3s var(--ease);
}
body.eh-page .wp-block-details[open] summary::after { transform: rotate(45deg); }
body.eh-page .wp-block-details summary:hover { color: var(--kupfer); }
body.eh-page .wp-block-details > p { padding: 0 0 22px; margin: 0 !important; max-width: 40em; color: var(--russ-70); }
body.eh-page .wp-block-details a { color: var(--russ); font-weight: 600; }

/* Kontaktformular */
body.eh-page .eh-contact { background: var(--russ); color: var(--kreide); scroll-margin-top: 80px; }
body.eh-page .eh-contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(32px, 6vw, 80px); }
body.eh-page .eh-contact-grid > * { margin: 0 !important; }
body.eh-page .eh-contact .kicker { color: var(--span); }
body.eh-page .eh-contact-intro p { color: var(--kreide-70); }
body.eh-page .eh-contact-intro a { color: var(--kreide); font-weight: 600; }
body.eh-page .eh-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
body.eh-page .eh-form .field { display: grid; gap: 6px; }
body.eh-page .eh-form .field--full { grid-column: 1 / -1; }
body.eh-page .eh-form label { font-size: .9rem; font-weight: 600; color: var(--kreide); }
body.eh-page .eh-form input[type=text], body.eh-page .eh-form input[type=email], body.eh-page .eh-form textarea {
  width: 100%; font: inherit; color: var(--russ);
  background: var(--kreide) !important; border: 2px solid transparent !important; border-radius: var(--radius);
  padding: 13px 14px; min-height: 52px; transition: border-color .2s; box-shadow: none !important;
}
body.eh-page .eh-form textarea { min-height: 160px; resize: vertical; }
body.eh-page .eh-form input:focus, body.eh-page .eh-form textarea:focus { outline: none; border-color: var(--kupfer) !important; }
body.eh-page .eh-form .form-check { grid-column: 1 / -1; display: flex; gap: 12px; align-items: start; font-size: .9rem; color: var(--kreide-70); font-weight: 400; }
body.eh-page .eh-form .form-check input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--kupfer); flex: none; }
body.eh-page .eh-form .form-check a { color: var(--kreide); }
body.eh-page .eh-form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
body.eh-page .eh-form .form-actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
body.eh-page .eh-form .form-status { margin: 0; font-weight: 600; }
body.eh-page .eh-form .form-status.is-ok { color: var(--span); }
body.eh-page .eh-form .form-status.is-error { color: #f0a07a; }

/* Rechtstexte */
body.eh-page .eh-legal { max-width: 46em; }
body.eh-page .eh-legal h2 { font-size: clamp(1.7rem, 3vw, 2.2rem); margin-top: 1.6em; }
body.eh-page .eh-legal a { color: var(--russ); font-weight: 600; }
body.eh-page .eh-legal code { font-size: .85em; background: var(--papier); padding: 1px 5px; border-radius: 3px; }
body.eh-page .eh-placeholder { background: rgba(168,78,37,.15); color: var(--kupfer-dunkel); padding: 0 .25em; border-radius: 2px; }

/* Sanftes Einblenden */
.eh-js body.eh-page .eh-reveal { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.eh-js body.eh-page .eh-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .eh-js body.eh-page .eh-reveal { opacity: 1; transform: none; }
  body.eh-page * { transition: none !important; }
}

/* ---------- Tablet ---------- */
@media (max-width: 980px) {
  body.eh-page .eh-products { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Handy: eigener Durchgang ---------- */
@media (max-width: 760px) {
  body.eh-page .eh-hero-grid { grid-template-columns: 1fr; padding-top: 44px; padding-bottom: 52px; }
  body.eh-page .eh-hero-media { aspect-ratio: 4 / 3; box-shadow: 10px 10px 0 var(--kupfer); margin-right: 10px !important; }
  body.eh-page .eh-hero-note { display: none; }
  body.eh-page .eh-hero .wp-block-button, body.eh-page .eh-closing .wp-block-button { width: 100%; }
  body.eh-page .eh-hero .wp-block-button__link, body.eh-page .eh-closing .wp-block-button__link { width: 100%; }
  body.eh-page .eh-section-head { display: block; }
  body.eh-page .eh-section-head > p { display: none; }
  body.eh-page .eh-product h3 { font-size: 1.25rem; }
  body.eh-page .eh-categories { grid-template-columns: 1fr; }
  body.eh-page .eh-category .wp-block-image { aspect-ratio: 16 / 10; }
  body.eh-page .eh-story, body.eh-page .eh-contact-grid { grid-template-columns: 1fr; }
  body.eh-page .eh-story .wp-block-image { aspect-ratio: 3 / 2; box-shadow: -10px 10px 0 var(--kupfer); margin-left: 10px !important; }
  body.eh-page .eh-values { grid-template-columns: 1fr; gap: 28px; }
  body.eh-page .eh-form { grid-template-columns: 1fr; }
  body.eh-page .eh-form .form-actions .wp-block-button__link, body.eh-page .eh-form .form-actions button { width: 100%; }
}

/* ---------- Ampel: Noch X € bis zum kostenlosen Versand ---------- */
.eh-shipbar {
  --eh-rot: #b3412e; --eh-gruen: #3f7d4e;
  margin: 0 0 24px; padding: 16px 18px; border-radius: var(--radius);
  background: var(--papier); border-left: 5px solid var(--eh-rot);
}
.eh-shipbar.is-free { border-left-color: var(--eh-gruen); }
.eh-shipbar-text { margin: 0 0 10px !important; font-size: 1rem; color: var(--russ); }
.eh-shipbar.is-open .eh-shipbar-text strong { color: var(--eh-rot); }
.eh-shipbar.is-free .eh-shipbar-text strong { color: var(--eh-gruen); }
.eh-shipbar-track { height: 10px; border-radius: 99px; background: rgba(31,28,25,.1); overflow: hidden; }
.eh-shipbar-track span { display: block; height: 100%; border-radius: 99px; background: var(--eh-rot); transition: width .6s var(--ease), background .3s; }
.eh-shipbar.is-free .eh-shipbar-track span { background: var(--eh-gruen); }
.widget_shopping_cart .eh-shipbar, .woocommerce-mini-cart + .eh-shipbar { margin: 12px 0; font-size: .9rem; }
.widget_shopping_cart .eh-shipbar-text { font-size: .9rem; }

/* ---------- Warenkorb: Feinschliff ---------- */
/* Abstand unter den Überschriften ("Warenkorb-Übersicht", "Warenkorb-Summe") */
.woocommerce-cart .woocommerce h2 { margin-bottom: .6em !important; }
/* Summen-Tabelle passt in ihren Kasten, lange Wörter brechen um */
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
  width: 100% !important; max-width: 100%; margin: 0 0 1em !important; table-layout: fixed;
}
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th { width: 46%; padding-left: 12px !important; padding-right: 8px !important; overflow-wrap: normal; hyphens: manual; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td { overflow-wrap: break-word; hyphens: auto; }

/* ---------- Produktseite ---------- */
/* Kleinunternehmer-Hinweis nur auf der Produktseite ausblenden (steht weiter im Warenkorb und in der Fußzeile) */
.single-product .summary .small-business-info { display: none !important; }
/* Versandhinweis in dieselbe Zeile wie der Preis (läuft auf schmalen Bildschirmen einfach weiter) */
.single-product .summary > .wc-gzd-additional-info-placeholder:empty { display: none !important; }
.single-product .summary > .price { display: inline !important; margin: 0 .5em 0 0 !important; }
.single-product .summary > .legal-price-info { display: inline; }
.single-product .summary > .legal-price-info p { display: inline; margin: 0; font-size: .92rem; color: var(--russ-70); }
.single-product .summary > .legal-price-info a { color: var(--russ); }
.single-product .summary form.cart { margin-top: 1.4em !important; }

/* Warenkorb-Knopf: Text bleibt in einer Zeile */
.single-product .single_add_to_cart_button { white-space: nowrap; line-height: 1.2 !important; }
@media (max-width: 760px) {
  .single-product .single_add_to_cart_button { font-size: 1.1rem !important; padding: 12px 16px !important; }
  .single-product .summary > .legal-price-info p { font-size: .88rem; }
}

/* Größe und Farbe als ovale Knöpfe */
.single-product .variations select.eh-pills-select {
  position: absolute !important; width: 1px !important; height: 1px !important;
  opacity: 0 !important; pointer-events: none; overflow: hidden; clip: rect(0 0 0 0);
}
.single-product .variations td, .single-product .variations th { vertical-align: top; padding-bottom: 14px !important; }
.single-product .variations th.label { padding-top: 10px !important; }
.eh-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.eh-pill {
  min-height: 42px; min-width: 52px; padding: 8px 18px;
  border: 2px solid var(--span); border-radius: 999px; background: var(--papier); color: var(--russ);
  font-family: var(--font-text) !important; font-weight: 600 !important; font-size: .95rem !important;
  text-transform: none !important; letter-spacing: 0 !important; line-height: 1.2; box-shadow: none !important;
  cursor: pointer; transition: border-color .2s, background .2s, color .2s, transform .15s;
}
.eh-pill:hover { border-color: var(--kupfer); transform: none; background: var(--papier); color: var(--russ); }
.eh-pill.is-selected { background: var(--russ) !important; border-color: var(--russ); color: var(--kreide) !important; }
.eh-pill.is-disabled { opacity: .4; cursor: not-allowed; text-decoration: line-through; }
.eh-pill:focus-visible { outline: 3px solid var(--kupfer); outline-offset: 2px; }
.single-product .reset_variations { display: inline-block; margin-top: 8px; font-size: .9rem; color: var(--kupfer); }

/* ---------- Produktkacheln (Shop und Kategorien): Link beim Darüberfahren ----------
   Kadence blendet hier einen schlanken Textlink mit Pfeil ein. Das allgemeine Knopf-Design gilt hier nicht. */
.woocommerce ul.products li.product .product-action-wrap .button {
  background: transparent !important;
  color: var(--kupfer) !important;
  box-shadow: none !important;
  border: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  font-size: 1.15rem !important;
  line-height: 1.3 !important;
  white-space: nowrap;
  transform: none !important;
}
.woocommerce ul.products li.product .product-action-wrap .button:hover {
  background: transparent !important; color: var(--kupfer-dunkel) !important; box-shadow: none !important;
}
