/*
 * Amilian Stitch Design System — "The Energetic Sanctuary"
 * Colors: Terracotta #993f28, Sage #4a614d, Surface #f7f6f5
 * Fonts: Newsreader (headlines), Manrope (body)
 */

/* ============================================
   1. FONTS — Google Fonts Import
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,wght@0,400;0,600;0,700;1,400;1,700&family=Manrope:wght@300;400;500;600;700&display=swap');

/* ============================================
   2. CSS CUSTOM PROPERTIES
   ============================================ */
:root {
  /* Primary palette */
  --stitch-primary: #993f28;
  --stitch-primary-dim: #8a341e;
  --stitch-primary-container: #fa896c;
  --stitch-on-primary: #ffefec;

  /* Secondary palette */
  --stitch-secondary: #4a614d;
  --stitch-secondary-container: #cfe9d0;
  --stitch-on-secondary-container: #415744;

  /* Tertiary */
  --stitch-tertiary: #7e521f;
  --stitch-tertiary-container: #fdc083;

  /* Surfaces */
  --stitch-surface: #f7f6f5;
  --stitch-surface-container-lowest: #ffffff;
  --stitch-surface-container-low: #f1f1f0;
  --stitch-surface-container: #e8e8e7;
  --stitch-surface-container-high: #e2e2e1;
  --stitch-surface-container-highest: #dcdddc;

  /* Text */
  --stitch-on-surface: #2e2f2f;
  --stitch-on-surface-variant: #5b5c5b;
  --stitch-outline: #767776;
  --stitch-outline-variant: #adadac;

  /* Error */
  --stitch-error: #b41340;

  /* Inverse */
  --stitch-inverse-surface: #0d0e0e;
  --stitch-inverse-primary: #fa896c;
}

/* ============================================
   3. GLOBAL TYPOGRAPHY
   ============================================ */
body,
.site {
  font-family: 'Manrope', sans-serif !important;
  background-color: var(--stitch-surface) !important;
  color: var(--stitch-on-surface) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Headlines — Newsreader serif */
h1, h2, h3, h4, h5, h6,
.entry-title,
.kadence-breadcrumbs,
.product_title,
.woocommerce div.product .product_title,
.wp-block-heading,
.site-title {
  font-family: 'Newsreader', serif !important;
  color: var(--stitch-on-surface) !important;
  letter-spacing: -0.02em;
}

h1, .entry-title {
  font-weight: 400;
}

/* Italic accent for emphasis — signature Stitch style */
h1 em, h2 em, h3 em,
.entry-title em {
  font-style: italic;
  color: var(--stitch-primary);
}

/* Body text */
p, li, td, th, span, div, label, input, textarea, select, a {
  font-family: 'Manrope', sans-serif;
}

/* Labels & metadata */
.kadence-breadcrumbs,
.product_meta,
.woocommerce-result-count,
.woocommerce-ordering select,
.posted_in,
.tagged_as {
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--stitch-outline);
}

/* ============================================
   4. HEADER — Glassmorphism
   ============================================ */
#masthead,
.site-header,
header.site-header {
  background: rgba(247, 246, 245, 0.80) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Top bar / announcement bar */
.site-header .site-top-header-wrap,
.kadence-header-row[data-section="top"],
.site-top-header-inner-wrap {
  background: var(--stitch-surface-container) !important;
  border-bottom: none !important;
  color: var(--stitch-on-surface-variant) !important;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 600;
}

.site-top-header-inner-wrap a,
.site-top-header-inner-wrap span {
  color: var(--stitch-on-surface-variant) !important;
}

/* Logo / Site title */
.site-branding .site-title,
.site-branding .site-title a,
.custom-logo-link {
  color: var(--stitch-primary) !important;
  font-family: 'Newsreader', serif !important;
  font-weight: 700;
}

/* Navigation links */
.header-navigation .menu > li > a,
.header-menu-container .menu > li > a,
#primary-navigation .menu > li > a,
.main-navigation .menu > li > a {
  font-family: 'Manrope', sans-serif !important;
  color: var(--stitch-on-surface-variant) !important;
  font-weight: 500;
  font-size: 0.9rem;
  letter-spacing: 0.01em;
  transition: color 0.3s ease;
  text-transform: none !important;
}

.header-navigation .menu > li > a:hover,
.header-menu-container .menu > li > a:hover,
#primary-navigation .menu > li > a:hover,
.main-navigation .menu > li > a:hover,
.header-navigation .menu > li.current-menu-item > a {
  color: var(--stitch-primary) !important;
}

/* Header cart/account icons */
.header-cart-wrap .header-cart-button,
.header-account-wrap .header-account-button {
  color: var(--stitch-primary) !important;
}

/* Search in header */
.header-search-wrap .search-toggle-open {
  color: var(--stitch-primary) !important;
}

/* ============================================
   5. BUTTONS — Terracotta Gradient
   ============================================ */

/* Primary buttons */
.wp-block-button__link,
.button,
button.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.kadence-navigation .menu-item .kt-btn-wrap a,
a.kt-button,
.kb-buttons-wrap .kt-button,
.entry-content .wp-block-button__link {
  background: linear-gradient(135deg, var(--stitch-primary), var(--stitch-primary-dim)) !important;
  color: var(--stitch-on-primary) !important;
  border: none !important;
  border-radius: 0.75rem !important;
  font-family: 'Manrope', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-size: 0.8rem;
  padding: 0.875rem 2rem !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 1px 2px rgba(153, 63, 40, 0.10) !important;
}

.wp-block-button__link:hover,
.button:hover,
button.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
a.kt-button:hover,
.kb-buttons-wrap .kt-button:hover {
  background: linear-gradient(135deg, var(--stitch-primary-dim), var(--stitch-primary)) !important;
  box-shadow: 0 4px 14px rgba(153, 63, 40, 0.18) !important;
  transform: translateY(-1px);
}

/* Secondary / outline buttons */
.woocommerce a.button.alt.disabled,
.wp-block-button.is-style-outline .wp-block-button__link,
.button.button-secondary,
.wc-block-components-button--outlined {
  background: transparent !important;
  color: var(--stitch-primary) !important;
  border: 1.5px solid transparent !important;
  box-shadow: none !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: rgba(173, 173, 172, 0.15) !important;
  background: var(--stitch-surface-container-low) !important;
}

/* ============================================
   6. CARDS & PRODUCT GRIDS — No Borders
   ============================================ */

/* Product cards */
.woocommerce ul.products li.product,
.products .product {
  border: none !important;
  background: var(--stitch-surface-container-lowest) !important;
  border-radius: 0.75rem !important;
  overflow: hidden;
  transition: all 0.4s ease;
  box-shadow: none !important;
}

.woocommerce ul.products li.product:hover {
  background: var(--stitch-surface-container-low) !important;
  transform: translateY(-4px);
  box-shadow: 0 20px 60px rgba(46, 47, 47, 0.06) !important;
}

/* Neutralize Kadence grey content-bg (var(--global-palette9)) on inner card
   content — it surfaces in 'normal' archive style and paints a grey box. */
.woocommerce ul.products li.product.content-bg.loop-entry .content-bg:not(.loop-entry),
.woocommerce ul.products li.product .product-details,
.products .product .product-details {
  background: transparent !important;
  padding: 1rem 1.1rem 1.25rem !important;
  margin: 0 !important;
}

/* Product images */
.woocommerce ul.products li.product a img,
.products .product img {
  border-radius: 0.5rem 0.5rem 0 0 !important;
}

/* Product titles */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
  font-family: 'Newsreader', serif !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
  color: var(--stitch-on-surface) !important;
  letter-spacing: -0.01em;
}

/* Product prices */
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price {
  color: var(--stitch-primary) !important;
  font-family: 'Manrope', sans-serif !important;
  font-weight: 600;
}

/* Sale badge */
.woocommerce span.onsale,
.onsale {
  background: var(--stitch-secondary) !important;
  color: var(--stitch-on-secondary-container) !important;
  border-radius: 9999px !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ============================================
   7. SINGLE PRODUCT PAGE
   ============================================ */
.woocommerce div.product .product_title {
  font-size: 1.8rem !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em;
  margin: 0 0 0.4rem !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--stitch-primary) !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 600;
}

/* Quantity input */
.woocommerce .quantity .qty {
  border: none !important;
  background: var(--stitch-surface-container) !important;
  border-radius: 0.5rem !important;
  font-family: 'Manrope', sans-serif;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: 'Manrope', sans-serif !important;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  color: var(--stitch-outline) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--stitch-primary) !important;
  border-bottom: 2px solid var(--stitch-primary);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--stitch-surface-container) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-bottom: none !important;
}

/* ============================================
   8. CART & CHECKOUT
   ============================================ */
.woocommerce-cart table.cart,
.woocommerce table.shop_table {
  border: none !important;
  border-collapse: separate;
  border-spacing: 0 0.75rem;
}

.woocommerce table.shop_table th {
  font-family: 'Manrope', sans-serif !important;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: var(--stitch-outline);
  border: none !important;
}

.woocommerce table.shop_table td {
  border: none !important;
  background: var(--stitch-surface-container-lowest);
  padding: 1.25rem !important;
}

.woocommerce table.shop_table tr:first-child td:first-child {
  border-radius: 0.75rem 0 0 0.75rem;
}

.woocommerce table.shop_table tr:first-child td:last-child {
  border-radius: 0 0.75rem 0.75rem 0;
}

/* Cart totals */
.woocommerce .cart_totals,
.woocommerce-checkout #order_review {
  background: var(--stitch-surface-container-low) !important;
  border-radius: 0.75rem !important;
  padding: 2rem !important;
  border: none !important;
}

/* Checkout form fields */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout input.input-text,
.woocommerce-checkout select {
  border: none !important;
  border-bottom: 1px solid rgba(173, 173, 172, 0.15) !important;
  background: var(--stitch-surface-container) !important;
  border-radius: 0.5rem 0.5rem 0 0 !important;
  font-family: 'Manrope', sans-serif;
  padding: 0.875rem 1rem !important;
  transition: all 0.3s ease;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-checkout input.input-text:focus {
  background: var(--stitch-surface-container-lowest) !important;
  border-bottom: 2px solid var(--stitch-primary) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ============================================
   9. FOOTER — Clean & Warm
   ============================================ */
#colophon,
.site-footer,
footer.site-footer {
  background: var(--stitch-surface-container-low) !important;
  border-top: none !important;
  color: var(--stitch-on-surface-variant) !important;
}

.site-footer .site-footer-wrap {
  border-top: none !important;
}

.site-footer h2,
.site-footer .widget-title,
.footer-widget-area .widget-title {
  font-family: 'Newsreader', serif !important;
  font-weight: 400 !important;
  font-size: 1.1rem;
  color: var(--stitch-on-surface) !important;
}

.site-footer a,
.site-footer .footer-navigation a {
  color: var(--stitch-on-surface-variant) !important;
  font-family: 'Manrope', sans-serif;
  transition: color 0.3s ease;
}

.site-footer a:hover {
  color: var(--stitch-primary) !important;
}

/* Cookie settings footer trigger: Complianz reopens its banner only on a
   <button class="cmplz-manage-consent">, so render that button as a footer link. */
.site-footer button.cmplz-manage-consent {
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  font-family: 'Manrope', sans-serif;
  color: var(--stitch-on-surface-variant) !important;
  cursor: pointer;
  transition: color 0.3s ease;
}

.site-footer button.cmplz-manage-consent:hover {
  color: var(--stitch-primary) !important;
}

.site-info {
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  color: var(--stitch-outline) !important;
}

/* Copyright line: Kadence's footer applies text-transform:uppercase, which shouts
   the made-in-Europe note. Render it as a normal sentence instead. */
.site-footer .site-info,
.site-bottom-footer-wrap .site-info,
.site-info .footer-html-inner {
  text-transform: none !important;
}

/* ============================================
   10. FORMS & INPUTS (global)
   ============================================ */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
select {
  border: none !important;
  border-bottom: 1px solid rgba(173, 173, 172, 0.15) !important;
  background: var(--stitch-surface-container) !important;
  border-radius: 0.5rem 0.5rem 0 0 !important;
  font-family: 'Manrope', sans-serif !important;
  color: var(--stitch-on-surface) !important;
  transition: all 0.3s ease;
}

input:focus,
textarea:focus,
select:focus {
  background: var(--stitch-surface-container-lowest) !important;
  border-bottom: 2px solid var(--stitch-primary) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ============================================
   11. WOOCOMMERCE NOTICES & BADGES
   ============================================ */
.woocommerce-message {
  border-top-color: var(--stitch-secondary) !important;
  background: var(--stitch-secondary-container) !important;
  color: var(--stitch-on-secondary-container) !important;
}

.woocommerce-message::before {
  color: var(--stitch-secondary) !important;
}

.woocommerce-error {
  border-top-color: var(--stitch-error) !important;
}

.woocommerce-info {
  border-top-color: var(--stitch-tertiary) !important;
  background: var(--stitch-tertiary-container) !important;
}

/* ============================================
   12. SPACING & LAYOUT — Luxurious Whitespace
   ============================================ */
.entry-content > *,
.alignwide,
.site-container > .site-main {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}

/* Remove all dividers / separators */
hr,
.wp-block-separator {
  border-color: var(--stitch-surface-container) !important;
  opacity: 0.5;
}

/* Remove harsh borders everywhere */
.widget,
.sidebar .widget {
  border: none !important;
}

/* ============================================
   13. BREADCRUMBS
   ============================================ */
.kadence-breadcrumbs,
.woocommerce-breadcrumb {
  font-family: 'Manrope', sans-serif !important;
  color: var(--stitch-outline) !important;
}

.kadence-breadcrumbs a,
.woocommerce-breadcrumb a {
  color: var(--stitch-outline-variant) !important;
}

.kadence-breadcrumbs a:hover,
.woocommerce-breadcrumb a:hover {
  color: var(--stitch-primary) !important;
}

/* ============================================
   14. PAGINATION
   ============================================ */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.page-numbers {
  border: none !important;
  background: var(--stitch-surface-container) !important;
  color: var(--stitch-on-surface) !important;
  border-radius: 0.5rem !important;
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.page-numbers.current {
  background: var(--stitch-primary) !important;
  color: var(--stitch-on-primary) !important;
}

/* ============================================
   15. SCROLLBAR & SELECTION
   ============================================ */
::selection {
  background: var(--stitch-primary-container);
  color: var(--stitch-on-surface);
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--stitch-surface);
}

::-webkit-scrollbar-thumb {
  background: var(--stitch-surface-container-high);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--stitch-outline-variant);
}

/* ============================================
   16. KADENCE BLOCKS OVERRIDES
   ============================================ */

/* Kadence info box */
.kt-blocks-info-box-learnmore {
  color: var(--stitch-primary) !important;
  font-family: 'Manrope', sans-serif !important;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 0.03em;
}

/* Kadence icon list */
.kt-svg-icon-list-items .kt-svg-icon-list-single .kt-svg-icon-list-icon {
  color: var(--stitch-secondary) !important;
}

/* Kadence tabs */
.kt-tabs-wrap .kt-tabs-title-list li.kt-tab-title-active a {
  color: var(--stitch-primary) !important;
  border-color: var(--stitch-primary) !important;
}

/* ============================================
   17. WIDGETS & SIDEBAR
   ============================================ */
.widget .widget-title,
.sidebar .widget-title {
  font-family: 'Newsreader', serif !important;
  font-weight: 400;
  font-size: 1.25rem;
  letter-spacing: -0.01em;
  color: var(--stitch-on-surface) !important;
  border: none !important;
}

.widget_price_filter .ui-slider {
  background: var(--stitch-surface-container) !important;
}

.widget_price_filter .ui-slider .ui-slider-range {
  background: var(--stitch-primary) !important;
}

.widget_price_filter .ui-slider .ui-slider-handle {
  background: var(--stitch-primary) !important;
  border: 2px solid var(--stitch-surface-container-lowest) !important;
}

/* ============================================
   18. LINKS — Subtle underlines
   ============================================ */
a {
  color: var(--stitch-primary);
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: var(--stitch-primary-dim);
}

.entry-content a {
  color: var(--stitch-primary);
  text-decoration: underline;
  text-decoration-color: rgba(153, 63, 40, 0.3);
  text-underline-offset: 3px;
}

.entry-content a:hover {
  text-decoration-color: var(--stitch-primary);
}

/* ============================================
   19. COOKIE BANNER OVERRIDE
   ============================================ */
.cky-consent-container .cky-consent-bar {
  background: var(--stitch-surface-container-lowest) !important;
  border: none !important;
  border-radius: 0.75rem !important;
  box-shadow: 0 20px 60px rgba(46, 47, 47, 0.12) !important;
}

.cky-btn-accept {
  background: linear-gradient(135deg, var(--stitch-primary), var(--stitch-primary-dim)) !important;
  border-radius: 0.75rem !important;
  border: none !important;
}

/* ============================================
   19b. HIDE EMPTY GRUNDPREIS WRAPPER
   (unit price content removed via mu-plugin filter)
   ============================================ */
.wc-gzd-additional-info.price-unit,
.price-unit.wc-gzd-additional-info-loop {
  display: none !important;
}

/* ============================================
   20. PRODUCT ATTRIBUTES TABLE — Clean rows (fix black bars)
   ============================================ */
.woocommerce-product-attributes.shop_attributes,
.woocommerce div.product .woocommerce-tabs .shop_attributes {
  border: none !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: transparent !important;
  width: 100%;
  margin: 1rem 0 0;
}

.woocommerce-product-attributes.shop_attributes tr,
.woocommerce-product-attributes.shop_attributes tbody tr {
  background: transparent !important;
}

.woocommerce-product-attributes.shop_attributes th,
.woocommerce-product-attributes.shop_attributes td {
  border: none !important;
  border-bottom: 1px solid var(--stitch-surface-container) !important;
  background: transparent !important;
  padding: 0.875rem 1rem !important;
  text-align: left;
  font-style: normal;
  vertical-align: top;
}

.woocommerce-product-attributes.shop_attributes th {
  font-family: 'Manrope', sans-serif !important;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  color: var(--stitch-outline) !important;
  width: 30%;
}

.woocommerce-product-attributes.shop_attributes td,
.woocommerce-product-attributes.shop_attributes td p {
  font-family: 'Manrope', sans-serif !important;
  color: var(--stitch-on-surface) !important;
  margin: 0;
}

.woocommerce-product-attributes.shop_attributes tr:last-child th,
.woocommerce-product-attributes.shop_attributes tr:last-child td {
  border-bottom: none !important;
}

/* ============================================
   21. SINGLE PRODUCT — VARIATION FORM (separate + labelled)
   ============================================ */
/* Stack each attribute as its own labelled block (Farbe, then Größe) */
.woocommerce div.product form.cart .variations {
  display: block;
  width: 100%;
  border: none !important;
  margin: 0 0 1.5rem !important;
}
.woocommerce div.product form.cart .variations tbody,
.woocommerce div.product form.cart .variations tr {
  display: block;
  width: 100%;
}
.woocommerce div.product form.cart .variations tr + tr {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--stitch-surface-container);
}
.woocommerce div.product form.cart .variations th.label,
.woocommerce div.product form.cart .variations td.value {
  display: block;
  width: 100%;
  padding: 0 !important;
  text-align: left;
}
/* The swatch plugin empties the WC label cells (Label position: none) — hide them */
.woocommerce div.product form.cart .variations th.label {
  display: none !important;
}
/* Single 'Farbe' label above the colour swatches (first variation row only).
   Größe stays unlabelled — its values (40×40 cm…) are self-explanatory. */
.woocommerce div.product form.cart .variations tr:first-child td.value::before {
  content: "Farbe";
  display: block;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.72rem;
  letter-spacing: 0.07em;
  color: var(--stitch-on-surface);
  margin-bottom: 0.3rem;
}
/* Tidy swatch buttons + selected state */
.cfvsw-swatches-container { gap: 0.4rem !important; }
.cfvsw-swatches-option,
.woocommerce div.product form.cart .variations td.value .cfvsw-swatches-option {
  border-radius: 0.5rem !important;
}
.cfvsw-swatches-option.cfvsw-selected-swatch {
  border-color: var(--stitch-primary) !important;
  box-shadow: 0 0 0 1px var(--stitch-primary) !important;
}
.woocommerce div.product form.cart .reset_variations {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ============================================
   22. SINGLE PRODUCT — QUANTITY + ADD TO CART
   ============================================ */
.woocommerce div.product form.cart {
  display: flex;
  align-items: stretch;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.woocommerce div.product form.cart .variations,
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
  flex: 1 1 100%;
}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart:not(.variations_form) {
  display: flex;
  align-items: stretch;
  gap: 0.75rem;
  flex-wrap: wrap;
}
/* Quantity stepper — clean bordered pill */
.woocommerce div.product form.cart .quantity {
  display: inline-flex;
  align-items: stretch;
  height: 3.25rem;
  background: var(--stitch-surface-container-lowest) !important;
  border: 1px solid var(--stitch-outline-variant) !important;
  border-radius: 0.75rem !important;
  overflow: hidden;
}
.woocommerce div.product form.cart .quantity input.qty {
  border: none !important;
  background: transparent !important;
  width: 3rem;
  height: auto !important;
  text-align: center;
  font-family: 'Manrope', sans-serif !important;
  font-weight: 600;
  border-radius: 0 !important;
  -moz-appearance: textfield;
}
.woocommerce div.product form.cart .quantity .minus,
.woocommerce div.product form.cart .quantity .plus,
.woocommerce div.product form.cart .quantity button,
.woocommerce div.product form.cart .quantity .kt-qty-button {
  background: transparent !important;
  border: none !important;
  color: var(--stitch-on-surface-variant) !important;
  width: 2.75rem;
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
  box-shadow: none !important;
}
.woocommerce div.product form.cart .quantity .minus:hover,
.woocommerce div.product form.cart .quantity .plus:hover,
.woocommerce div.product form.cart .quantity .kt-qty-button:hover {
  background: var(--stitch-surface-container) !important;
  color: var(--stitch-primary) !important;
}
/* Add to cart — solid, refined (no harsh gradient), height-matched */
.woocommerce div.product form.cart .single_add_to_cart_button {
  height: 3.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 2.5rem !important;
  border-radius: 0.75rem !important;
  background: var(--stitch-primary) !important;
  letter-spacing: 0.06em;
  box-shadow: 0 1px 2px rgba(153, 63, 40, 0.10) !important;
  flex: 0 1 auto;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: var(--stitch-primary-dim) !important;
  box-shadow: 0 4px 14px rgba(153, 63, 40, 0.18) !important;
  transform: translateY(-1px);
}

/* ============================================
   23. SINGLE PRODUCT — slim breadcrumb bar (no oversized title hero)
   product_above_layout switched to 'breadcrumbs'; here we de-emphasise the
   band so it reads as a light breadcrumb line, not a big grey block.
   ============================================ */
.single-product .product-hero-section,
.single-product .product-hero-section .entry-hero-container-inner {
  background: var(--stitch-surface) !important;
}
.single-product .product-hero-section .hero-section-overlay {
  display: none !important;
}
.single-product .product-hero-section .entry-hero-container-inner {
  padding-top: 0.85rem !important;
  padding-bottom: 0.85rem !important;
}
.single-product .entry-hero.product-hero-section .entry-header {
  min-height: 0 !important;
}
/* Belt-and-suspenders: never show the big title in the hero */
.single-product .product-hero-section .extra-title,
.single-product .product-hero-section .entry-title {
  display: none !important;
}
.single-product .product-title .kadence-breadcrumbs {
  margin: 0 !important;
}

/* ============================================
   24. SINGLE PRODUCT — larger gallery ("we sell design & dreams")
   Widen the image column from 48% so the photography dominates.
   ============================================ */
@media (min-width: 992px) {
  .woocommerce div.product div.images,
  .woocommerce #content div.product div.images {
    width: 60% !important;
  }
  .woocommerce div.product div.summary,
  .woocommerce #content div.product div.summary {
    width: 36% !important;
  }
  /* Make the gallery + image actually FILL the wider column (override the
     flexslider/inline pixel widths that were capping it at ~530px). */
  .woocommerce div.product div.images .woocommerce-product-gallery,
  .woocommerce div.product div.images .woocommerce-product-gallery .flex-viewport,
  .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    width: 100% !important;
    max-width: 100% !important;
  }
  .woocommerce div.product div.images .woocommerce-product-gallery__image,
  .woocommerce div.product div.images .woocommerce-product-gallery__image > a,
  .woocommerce div.product div.images .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
  }
}

/* ============================================
   25. SINGLE PRODUCT — compact summary (keep add-to-cart above the fold)
   ============================================ */
.single-product div.product .summary p.price,
.single-product div.product .summary span.price {
  font-size: 1.3rem !important;
  margin: 0.5rem 0 !important;
}
.single-product div.product .summary .woocommerce-product-details__short-description {
  margin: 0.4rem 0 0.6rem !important;
}
.single-product div.product .summary .wc-gzd-additional-info {
  margin: 0.2rem 0 !important;
}
/* Tighter, smaller variation swatches */
.single-product .cfvsw-swatches-option {
  padding: 0.32rem 0.6rem !important;
  font-size: 0.78rem !important;
  min-height: 0 !important;
  line-height: 1.3 !important;
}
.single-product .cfvsw-swatches-container {
  gap: 0.35rem !important;
}
.woocommerce div.product form.cart .variations {
  margin-bottom: 0.85rem !important;
}
.woocommerce div.product form.cart .variations tr + tr {
  margin-top: 0.7rem;
  padding-top: 0.7rem;
}
.single-product div.product .summary .stock {
  margin: 0.5rem 0 !important;
}
.woocommerce div.product form.cart {
  margin-top: 0.5rem !important;
}

/* ============================================
   26. CATEGORY ARCHIVE — uniform family tiles + colour swatch row
   ============================================ */
/* Robust, equal, top-aligned grid (overrides Kadence's grid so cards never
   drift vertically). 3 cols desktop / 2 tablet+mobile — bigger textile photos. */
.woocommerce ul.products.grid-cols {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 2rem !important;
  align-items: stretch !important;
}
@media (max-width: 1024px) {
  .woocommerce ul.products.grid-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.25rem !important;
  }
}
.woocommerce ul.products.grid-cols li.product {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
}
/* Content area grows to fill the stretched card so buttons align at the bottom */
.woocommerce ul.products.grid-cols li.product .product-details {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}
.woocommerce ul.products.grid-cols li.product .product-action-wrap {
  margin-top: auto;
}
/* German marketplace: hide the optional "Produkt enthält X Stück" on listings
   (price + VAT + shipping notice stay, as required by law) */
.woocommerce ul.products li.product .product-units-wrapper,
.woocommerce ul.products li.product .wc-gzd-additional-info-loop.product-units {
  display: none !important;
}

/* Uniform square product image so every card is the same height */
.woocommerce ul.products li.product .woocommerce-loop-image-link,
.woocommerce ul.products li.product .product-image-container {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 0.5rem;
  background: #fff;
}
.woocommerce ul.products li.product .woocommerce-loop-image-link img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain; /* show the WHOLE product, uniform square cards (no crop) */
}
/* Clamp the title to 2 lines so titles don't shift card heights */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  /* 3-line clamp with a real ellipsis. -webkit-line-clamp works, but Newsreader's tall
     ascenders + Kadence's .5rem border-box padding let a ~2px sliver of line 4 peek above
     the price. Fix: zero the title's own padding (use margin for the gap) so the box is
     EXACTLY 3 line-boxes; min = max = 3 lines clips any 4th-line sliver, no mid-line cut. */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-height: 1.5;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0.5rem;
  margin-bottom: 0.4rem;
  min-height: calc(1.5em * 3);
  max-height: calc(1.5em * 3);
  overflow: hidden;
}
/* Borderless variant table: [label] [pills], colours + sizes on aligned rows */
.aw-variant-table {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 0.7rem;
  row-gap: 0.5rem;
  align-items: start;
  margin: 0.7rem 0 0.2rem;
}
.aw-vlabel {
  font-family: 'Manrope', sans-serif;
  font-size: 0.72rem; /* was 0.62rem (~9.9px) — too small to read on mobile */
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--stitch-outline);
  padding-top: 0.45rem;
  white-space: nowrap;
}
/* Swatch row — reserve 2 lines (keeps an empty line when few colours, so all
   tiles stay uniform); rows pack from the top. */
.aw-archive-swatches {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  gap: 0.35rem;
  margin: 0;
  min-height: 66px;
}
.aw-archive-swatches .aw-swatch {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  border-radius: 6px;
  border: 1px solid var(--stitch-outline-variant);
  background-size: cover;
  background-position: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.aw-archive-swatches .aw-swatch:hover {
  transform: scale(1.08);
  box-shadow: 0 0 0 2px var(--stitch-primary);
}
.aw-archive-swatches .aw-swatch.is-active {
  border-color: var(--stitch-primary);
  box-shadow: 0 0 0 2px var(--stitch-primary);
}

/* In-tile variant arrows (desktop hover) — swipe handles mobile */
.woocommerce ul.products li.product .woocommerce-loop-image-link.aw-has-arrows {
  position: relative;
}
.aw-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 34px;
  height: 34px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.88);
  color: var(--stitch-on-surface);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s ease, background 0.2s ease;
  box-shadow: 0 2px 8px rgba(46, 47, 47, 0.18);
}
.aw-arrow-prev { left: 0.5rem; }
.aw-arrow-next { right: 0.5rem; }
.woocommerce ul.products li.product .woocommerce-loop-image-link.aw-has-arrows:hover .aw-arrow {
  opacity: 1;
}
.aw-arrow:hover { background: #fff; }
/* Touch devices: hide arrows, rely on swipe */
@media (hover: none) {
  .aw-arrow { display: none; }
}
.aw-archive-swatches .aw-swatch--noimg {
  background: var(--stitch-surface-container);
}
.aw-archive-swatches .aw-swatch-txt {
  font-size: 0.6rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--stitch-on-surface-variant);
}
.aw-archive-swatches .aw-swatch-more {
  font-family: 'Manrope', sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--stitch-on-surface-variant);
  padding: 0 0.35rem;
  white-space: nowrap;
}
.aw-archive-swatches .aw-swatch-more:hover {
  color: var(--stitch-primary);
}

/* Available sizes — informational pills (max 3 + "+N") */
.aw-archive-sizes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem;
  margin: 0;
  min-height: 30px;
}
.aw-archive-sizes .aw-size {
  font-family: 'Manrope', sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--stitch-on-surface-variant);
  background: var(--stitch-surface-container-low);
  border: 1px solid var(--stitch-surface-container-high);
  border-radius: 0.4rem;
  padding: 0.2rem 0.5rem;
  white-space: nowrap;
}
.aw-archive-sizes .aw-size-more {
  background: transparent;
  border-color: transparent;
  color: var(--stitch-outline);
}

/* Tax + shipping notice: one small, centered line, set apart from the button */
.woocommerce ul.products li.product .product-action-wrap {
  display: block !important;
  text-align: center;
}
.woocommerce ul.products li.product .product-action-wrap .wc-gzd-additional-info {
  display: inline;
  font-size: 0.7rem;
  line-height: 1.4;
  color: var(--stitch-outline) !important;
  margin: 0;
}
.woocommerce ul.products li.product .product-action-wrap .wc-gzd-additional-info.tax-info::after {
  content: " · ";
}
/* Keep the add-to-cart a full-width block on its own line below the notice */
.woocommerce ul.products li.product .product-action-wrap .button {
  display: flex !important;
  width: 100%;
  align-items: center;
  justify-content: center;
  margin-top: 1rem !important;
}

/* ============================================
   27. SHOP TOOLBAR — tidy result count + sort + view toggle
   ============================================ */
.kadence-shop-top-row {
  display: flex !important;
  align-items: center;
  gap: 1rem;
  padding: 0 0 1rem;
  margin-bottom: 1.75rem;
  border-bottom: 1px solid var(--stitch-surface-container);
}
.kadence-woo-results-count {
  flex-grow: 1;
  margin: 0 !important;
  font-family: 'Manrope', sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--stitch-outline) !important;
}
/* Sort dropdown — clean pill, not a heavy grey box */
.woocommerce-ordering select,
select.orderby {
  background: var(--stitch-surface-container-lowest) !important;
  border: 1px solid var(--stitch-outline-variant) !important;
  border-bottom: 1px solid var(--stitch-outline-variant) !important;
  border-radius: 0.6rem !important;
  padding: 0.55rem 2.2rem 0.55rem 0.95rem !important;
  color: var(--stitch-on-surface) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
  font-size: 0.8rem !important;
  cursor: pointer;
}
.woocommerce-ordering select:focus,
select.orderby:focus {
  border-color: var(--stitch-primary) !important;
  box-shadow: none !important;
}
/* Grid/list view toggle */
.kadence-product-toggle-container .kadence-toggle-shop-layout {
  border-radius: 0.5rem !important;
  border-color: var(--stitch-outline-variant) !important;
  height: 38px;
}
.kadence-product-toggle-container .kadence-toggle-shop-layout.toggle-active,
.kadence-product-toggle-container .kadence-toggle-shop-layout:hover {
  color: var(--stitch-primary) !important;
  border-color: var(--stitch-primary) !important;
}

/* ============================================
   HOMEPAGE OVERRIDES (2026-06-17)
   The homepage sections are stored in page content with their own inline
   <style> blocks. These rules override that markup. Selectors are intentionally
   qualified (or use !important) so they win over the later inline styles.
   ============================================ */

/* Center the trust badges: the inline style declares 4 grid columns for only
   3 badges, leaving an empty 4th column that pushes the icons left of center. */
.aw-trust .aw-trust-grid {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 768px) {
  .aw-trust .aw-trust-grid {
    /* 3 badges in a 2-column grid also leaves a lone, off-center item; stack instead. */
    grid-template-columns: 1fr;
  }
}

/* Temporarily hide homepage sections that aren't ready yet (2026-06-17).
   Remove this block to bring them back once the content is finished:
     - aw-categories : "Unsere Welt / Entdecken Sie unsere Kategorien"
     - aw-story      : "Unsere Philosophie"
     - aw-journal    : "Ratgeber" teaser
     - aw-newsletter : "Bleiben Sie verbunden / 10% Rabatt" */
.aw-categories,
.aw-story,
.aw-journal,
.aw-newsletter {
  display: none !important;
}

/* ============================================
   FOOTER — Service Hotline box (2026-06-17)
   Sits in the Amilian footer column, under the intro/contact text.
   ============================================ */
.aw-hotline-box {
  margin-top: 1.25rem;
  padding: 0.9rem 1rem;
  background: #ffffff;
  border-left: 3px solid #993f28;
  border-radius: 0.4rem;
  font-size: 13px;
  line-height: 1.5;
}
.aw-hotline-box .aw-hotline-title {
  display: block;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #993f28;
  margin-bottom: 0.35rem;
}
.aw-hotline-box p {
  margin: 0 0 0.35rem;
}
.aw-hotline-box a {
  font-weight: 600;
}

/* ============================================
   CONTENT & LEGAL PAGES (2026-06-17)
   Kadence sets body=palette8 (#2e2f2f) and .site=palette9 (#767776) — both dark —
   which floods every non-homepage page. Restore a light Stitch surface, then give
   the legal/info pages (.amilian-doc, added by amilian-doc-pages.php) a clean,
   readable, branded layout and strip styling carried over from amilian.de.
   ============================================ */

/* Light surface on all pages except the custom homepage (it paints its own sections). */
body:not(.home) { background: #f7f6f5 !important; }
body:not(.home) .site { background: #f7f6f5 !important; }

/* ── Legal & info pages: a professional "Aktenblatt" document layout ──
   The dense German legal copy is set like a printed statute: a warm paper sheet
   floating on a slightly deeper "desk", a centred masthead, and a justified,
   German-hyphenated reading column whose sections open with a hairline rule
   carrying a short terracotta tab — the way a numbered Gesetzestext reads. */

/* Desk: deepen the surface behind the sheet so the page reads as paper-on-desk. */
.amilian-doc,
.amilian-doc .site,
.amilian-doc .content-container,
.amilian-doc .entry-hero-container,
.amilian-doc .entry-hero-container-inner { background: #ece9e3 !important; }

/* Masthead (Kadence hero): centred document title with an eyebrow + short rule. */
.amilian-doc .entry-hero-container-inner {
  padding-block: clamp(2.5rem, 6vw, 4rem) clamp(1.5rem, 4vw, 2.25rem);
}
.amilian-doc .entry-header.page-title { text-align: center !important; }
.amilian-doc .entry-header.page-title::before {
  content: "Verbraucherinformation";
  display: block;
  font-family: 'Manrope', sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #993f28;
  margin-bottom: 0.85rem;
}
.amilian-doc .entry-hero .entry-title {
  font-family: 'Newsreader', serif;
  font-weight: 600;
  font-size: clamp(1.75rem, 5vw, 2.9rem);
  line-height: 1.12;
  letter-spacing: -0.015em;
  color: #26211c !important;
  margin: 0;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.amilian-doc .entry-header.page-title::after {
  content: "";
  display: block;
  width: 46px;
  height: 2px;
  background: #993f28;
  margin: 1.15rem auto 0;
}

/* The sheet: entry-content becomes a warm paper page on the desk. */
.amilian-doc .entry-content {
  max-width: 768px;
  margin: 0 auto clamp(2rem, 6vw, 4rem);
  background: #fcfbf9;
  border: 1px solid #e6e1d8;
  border-radius: 6px;
  box-shadow: 0 1px 2px rgba(38, 33, 28, 0.04), 0 18px 40px -28px rgba(38, 33, 28, 0.28);
  padding: clamp(1.75rem, 5vw, 3.5rem) clamp(1.5rem, 5vw, 3.5rem);
  color: #26211c;
  font-family: 'Manrope', sans-serif;
  font-size: 1.05rem;
  line-height: 1.85;
  overflow-wrap: break-word;
}

/* Justified, hyphenated reading column — the printed-statute signature. */
.amilian-doc .entry-content p {
  margin: 0 0 1.15rem;
  text-align: justify;
  -webkit-hyphens: auto;
  hyphens: auto;
}

/* Section headings — serif, flush-left, never hyphenated. */
.amilian-doc .entry-content h2,
.amilian-doc .entry-content h3,
.amilian-doc .entry-content h4 {
  font-family: 'Newsreader', serif;
  color: #26211c;
  line-height: 1.25;
  font-weight: 600;
  text-align: left;
  -webkit-hyphens: none;
  hyphens: none;
}
/* H2 opens a section: a hairline across the column with a terracotta tab. */
.amilian-doc .entry-content h2 {
  position: relative;
  font-size: clamp(1.3rem, 3vw, 1.5rem);
  margin: 2.9rem 0 1rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e6e1d8;
}
.amilian-doc .entry-content h2::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 40px;
  height: 3px;
  background: #993f28;
}
.amilian-doc .entry-content h3 {
  font-size: 1.18rem;
  margin: 1.9rem 0 0.55rem;
  color: #4a3f33;
}
.amilian-doc .entry-content h4 { font-size: 1.05rem; margin: 1.5rem 0 0.5rem; }

/* Lists: flush-left with terracotta markers. */
.amilian-doc .entry-content ul,
.amilian-doc .entry-content ol {
  margin: 0 0 1.15rem;
  padding-left: 1.4rem;
  text-align: left;
}
.amilian-doc .entry-content li { margin: 0.35rem 0; }
.amilian-doc .entry-content li::marker { color: #993f28; }
.amilian-doc .entry-content strong { font-weight: 600; color: #26211c; }

/* Links: terracotta, restrained. */
.amilian-doc .entry-content a {
  color: #993f28;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}
.amilian-doc .entry-content a:hover { color: #7e3420; }

/* Kadence already renders the page title (H1) above the content; some copied
   pages repeat it as an in-content H1 — hide that duplicate. */
.amilian-doc .entry-content h1 { display: none !important; }

/* Strip styling carried over from amilian.de's old theme. */
.amilian-doc .entry-content [style*="#192667"] { color: #26211c !important; }
.amilian-doc .pdfprnt-buttons,
.amilian-doc .print_btn,
.amilian-doc .dont-print { display: none !important; }
.amilian-doc .itkanzlei_txt_copyright,
.amilian-doc #itkanzlei_txt_copyright {
  font-size: 0.75rem;
  color: #8a7d6c;
  margin-top: 2.25rem;
  padding-top: 1rem;
  border-top: 1px solid #e6e1d8;
  text-align: left;
}

/* Narrow screens: a short measure justifies raggedly even with hyphenation —
   fall back to flush-left under 600px. */
@media (max-width: 600px) {
  .amilian-doc .entry-content p { text-align: left; }
}

/* ============================================
   COOKIE BANNER — on-brand Complianz palette (2026-06-20)
   Complianz ships a bright blue/purple (#3B29FF) accept button and links that
   clash with the warm Stitch brand. The banner reads its colours from CSS custom
   properties (defined on :root by the generated banner CSS); redefining them on
   the banner element itself overrides them for the whole subtree — no !important,
   and it survives Complianz regenerating its own stylesheet. The `body` prefix
   keeps us ahead of the :root defaults regardless of stylesheet load order.
   ============================================ */
body .cmplz-cookiebanner {
  --cmplz_banner_background_color: #fcfbf9;   /* warm paper, matches legal sheet */
  --cmplz_text_color: #26211c;                /* document ink */
  --cmplz_hyperlink_color: #993f28;           /* terracotta links */
  --cmplz_button_accept_background_color: #993f28;
  --cmplz_button_accept_border_color: #993f28;
  --cmplz_button_accept_text_color: #ffffff;
  --cmplz_button_deny_background_color: #f1efea;
  --cmplz_button_deny_border_color: #e6e1d8;
  --cmplz_button_deny_text_color: #4a3f33;
  --cmplz_button_settings_background_color: #f1efea;
  --cmplz_button_settings_border_color: #e6e1d8;
  --cmplz_button_settings_text_color: #4a3f33;
  --cmplz_slider_active_color: #4a614d;        /* sage for the "on" toggle */
  --cmplz_button_border_radius: 8px 8px 8px 8px;
}
/* Subtle hover lift on the accept button to match the site's terracotta CTAs. */
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:hover {
  background-color: #8a341e;
  border-color: #8a341e;
}

/* ============================================
   WARENKORB (CART) PAGE (2026-06-17)
   Fix the dark hero band (palette8) and add the trust bar + cross-sells (amilian-cart.php).
   ============================================ */
body.woocommerce-cart .entry-hero-container-inner { background: #f7f6f5 !important; }
body.woocommerce-cart .content-container,
body.woocommerce-cart .entry-content { background: #f7f6f5 !important; }

/* Trust / shipping reassurance bar under the cart totals */
.aw-cart-trust { margin-top: 1.25rem; display: flex; flex-direction: column; gap: 0.65rem; }
.aw-cart-trust .aw-ct-row { display: flex; align-items: center; gap: 0.6rem; font-size: 0.875rem; line-height: 1.4; color: #5b5c5b; font-family: 'Manrope', sans-serif; }
.aw-cart-trust .aw-ct-row svg { width: 1.15rem; height: 1.15rem; color: #4a614d; flex: none; }
.aw-cart-pay { margin-top: 0.35rem; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.12em; color: #767776; font-weight: 600; }

/* Cart slide-out drawer: lighten the dark backdrop (Kadence default rgba(0,0,0,.4))
   so the page behind reads brighter and less heavy when the cart opens. */
#cart-drawer .drawer-overlay { background: rgba(0, 0, 0, 0.2) !important; }

/* Product gallery: hide the dead Kadence magnifier icon. The gallery is the rtWPVG
   plugin (Swiper); full-screen now opens by clicking the image directly
   (rtWPVG lightbox_image_click), so this leftover icon is a confusing no-op. */
.kt-gallery-icon-tooltip { display: none !important; }

/* Cross-sells ("Bist du vielleicht interessiert an …") */
.woocommerce-cart .cross-sells { margin-top: 3rem; clear: both; }
.woocommerce-cart .cross-sells > h2 { font-family: 'Newsreader', serif; font-weight: 400; color: #2e2f2f; font-size: 1.75rem; margin-bottom: 1.5rem; }

/* --- Cart action buttons --- */
/* Coupon row: input + apply button aligned, readable */
body.woocommerce-cart .woocommerce-cart-form .actions .coupon { display: flex; gap: 0.5rem; align-items: stretch; flex-wrap: wrap; }
body.woocommerce-cart .woocommerce-cart-form .actions .coupon .input-text {
  border: 1.5px solid var(--stitch-outline-variant) !important;
  border-radius: 0.75rem !important;
  background: #fff !important;
  color: #2e2f2f !important;
  padding: 0.75rem 1rem !important;
  min-width: 160px;
}
body.woocommerce-cart .woocommerce-cart-form .actions .coupon .input-text::placeholder { color: var(--stitch-outline); }
body.woocommerce-cart .woocommerce-cart-form .actions .coupon button[name="apply_coupon"] {
  white-space: nowrap !important;
  text-align: center !important;
  flex: 0 0 auto !important;
}
/* Update-cart = secondary outline so it stays readable even in its disabled state */
body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
  background: transparent !important;
  background-image: none !important;
  color: var(--stitch-primary) !important;
  border: 1.5px solid var(--stitch-primary) !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  text-align: center !important;
}
body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"]:hover:not([disabled]) {
  background: var(--stitch-primary) !important;
  color: #fff !important;
  transform: translateY(-1px);
}
body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"][disabled] {
  opacity: 0.5 !important;
  cursor: not-allowed;
}
/* Center the action-button labels properly within the pill */
body.woocommerce-cart .woocommerce-cart-form .actions button[name="apply_coupon"],
body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding: 0.85rem 1.6rem !important;
}

/* Product name link — readable (was too light) */
body.woocommerce-cart td.product-name a,
body.woocommerce-cart .cart_item .product-name a {
  color: #2e2f2f !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
body.woocommerce-cart td.product-name a:hover { color: var(--stitch-primary) !important; }
body.woocommerce-cart td.product-name { color: #5b5c5b; }

/* Quantity stepper — Stitch styling (was a dark, off-theme control) */
body.woocommerce-cart .quantity {
  display: inline-flex !important;
  align-items: stretch;
  height: 44px;
  border: 1.5px solid var(--stitch-surface-container) !important;
  border-radius: 0.6rem;
  overflow: hidden;
  background: #fff;
}
body.woocommerce-cart .quantity input.qty {
  -moz-appearance: textfield;
  appearance: textfield;
  border: 0 !important;
  background: transparent !important;
  width: 46px !important;
  text-align: center;
  color: #2e2f2f !important;
  font-weight: 600;
  box-shadow: none !important;
  padding: 0 !important;
}
body.woocommerce-cart .quantity input.minus,
body.woocommerce-cart .quantity input.plus {
  -webkit-appearance: none;
  appearance: none;
  background: #f7f6f5 !important;
  color: var(--stitch-primary) !important;
  border: 0 !important;
  width: 40px;
  font-size: 1.25rem !important;
  line-height: 1 !important;
  cursor: pointer;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
body.woocommerce-cart .quantity input.minus { border-right: 1.5px solid var(--stitch-surface-container) !important; }
body.woocommerce-cart .quantity input.plus { border-left: 1.5px solid var(--stitch-surface-container) !important; }
body.woocommerce-cart .quantity input.minus:hover,
body.woocommerce-cart .quantity input.plus:hover { background: var(--stitch-surface-container) !important; }

/* ============================================
   EMPTY CART (2026-06-17) — elegant centered Stitch message (was a flat orange bar)
   ============================================ */
body.woocommerce-cart .cart-empty.woocommerce-info {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #2e2f2f !important;
  font-family: 'Newsreader', serif !important;
  font-weight: 400 !important;
  font-size: clamp(1.8rem, 3.5vw, 2.5rem) !important;
  line-height: 1.2 !important;
  text-align: center !important;
  padding: 3.5rem 1.5rem 0 !important;
  margin: 0 auto !important;
  max-width: 640px;
  list-style: none !important;
}
body.woocommerce-cart .cart-empty.woocommerce-info::before {
  content: '' !important;
  display: block !important;
  width: 60px;
  height: 60px;
  margin: 0 auto 1.5rem !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23993f28'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 10.5V6a3.75 3.75 0 1 0-7.5 0v4.5m11.356-1.993 1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 0 1-1.12-1.243l1.264-12A1.125 1.125 0 0 1 5.513 7.5h12.974c.576 0 1.059.435 1.119 1.007ZM8.625 10.5a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm7.5 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: static !important;
  top: auto !important;
  left: auto !important;
  font-family: inherit !important;
}
body.woocommerce-cart .cart-empty.woocommerce-info::after {
  content: 'Stöbern Sie durch unsere handgefertigten Textilien – Versand ab 35 € kostenlos.';
  display: block;
  font-family: 'Manrope', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  color: #5b5c5b;
  line-height: 1.6;
  margin-top: 1rem;
}
body.woocommerce-cart .return-to-shop { text-align: center !important; margin-top: 2rem !important; }

/* ============================================
   CHECKOUT (Kasse) — Stitch (2026-06-17)
   ============================================ */
body.woocommerce-checkout .entry-hero-container-inner { background: #f7f6f5 !important; }
body.woocommerce-checkout .content-container,
body.woocommerce-checkout .entry-content { background: #f7f6f5 !important; }

/* Readable form labels + inputs */
body.woocommerce-checkout form.checkout .form-row label,
body.woocommerce-checkout .woocommerce-billing-fields label,
body.woocommerce-checkout .woocommerce-shipping-fields label,
body.woocommerce-checkout .woocommerce-additional-fields label,
body.woocommerce-checkout .woocommerce-account-fields label {
  color: #2e2f2f !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
}
body.woocommerce-checkout .woocommerce form .form-row input.input-text,
body.woocommerce-checkout .woocommerce form .form-row textarea,
body.woocommerce-checkout .woocommerce form .form-row select,
body.woocommerce-checkout .select2-container .select2-selection {
  border: 1.5px solid var(--stitch-outline-variant) !important;
  border-radius: 0.6rem !important;
  background: #fff !important;
  color: #2e2f2f !important;
  padding: 0.7rem 0.9rem !important;
}
body.woocommerce-checkout .select2-container .select2-selection__rendered { color: #2e2f2f !important; line-height: 1.6 !important; }
body.woocommerce-checkout input::placeholder,
body.woocommerce-checkout textarea::placeholder { color: var(--stitch-outline) !important; opacity: 1; }

/* Headings */
body.woocommerce-checkout h3,
body.woocommerce-checkout #order_review_heading { font-family: 'Newsreader', serif !important; font-weight: 400 !important; color: #2e2f2f !important; }

/* Order-review table — light Stitch (was dark bands) */
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-checkout-review-order { background: transparent !important; }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table {
  background: #fff !important;
  border: 1px solid #ececeb !important;
  border-radius: 0.75rem !important;
  overflow: hidden;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr {
  background: #fff !important;
  color: #2e2f2f !important;
  border-color: #ececeb !important;
}
body.woocommerce-checkout .cart_item .product-name,
body.woocommerce-checkout .cart_item .product-total { color: #2e2f2f !important; }

/* Merge the product table + totals into ONE seamless card (2026-06-18):
   was a grey tfoot creating a visible seam below the products. Unify to white
   with subtle row separators; emphasise the grand total. */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table { border-collapse: collapse !important; }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td {
  background: #fff !important;
  border-top: 1px solid #f0efed !important;
  padding-top: 0.55rem !important; padding-bottom: 0.55rem !important;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
  border-top: 1.5px solid #e4e3e1 !important;
  font-weight: 700 !important; font-size: 1.05rem !important;
  padding-top: 0.7rem !important; padding-bottom: 0.7rem !important;
}
/* "Bestellung bearbeiten" edit row — quiet divider above the totals, tightened */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr:last-child td {
  border-bottom: 1px solid #f0efed !important;
  padding-top: 0.1rem !important; padding-bottom: 0.9rem !important;
}

/* ---- "Deine Bestellung" product row — clean, aligned layout (2026-06-18) ---- */
/* Top-align name and price so the € sits next to the product, not mid-row */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total {
  vertical-align: top !important;
  padding: 1.1rem 0.25rem !important;
}
/* Thumbnail fixed + rounded; wrapper is a BFC (overflow:hidden) so it fully
   contains the float and the delivery line sits on its own row below it. */
body.woocommerce-checkout .wc-gzd-cart-item-name-wrapper {
  overflow: hidden !important; display: block !important;
  font-size: 0.9rem !important; line-height: 1.55 !important; color: #2e2f2f !important;
}
body.woocommerce-checkout .wc-gzd-cart-item-thumbnail {
  float: left !important; width: 56px !important; height: 56px !important; margin: 0.15rem 0.9rem 0.3rem 0 !important;
}
body.woocommerce-checkout .wc-gzd-cart-item-thumbnail img {
  width: 56px !important; height: 56px !important; object-fit: cover !important;
  border-radius: 0.5rem !important; border: 1px solid #ececeb !important; display: block !important;
}
/* Quantity inline "× N", muted, right after the name (stays in the product column) */
body.woocommerce-checkout .product-quantity {
  display: inline-block; white-space: nowrap; margin-left: 0.4rem;
  font-weight: 600 !important; font-size: 0.82rem !important; color: #767776 !important;
}
/* Delivery time — FORCE its own full-width line below the name. Germanized renders
   it inline, so override display/float explicitly. */
body.woocommerce-checkout .delivery-time-info,
body.woocommerce-checkout p.wc-gzd-cart-info.delivery-time-info {
  display: block !important; float: none !important; clear: both !important; width: 100% !important;
  margin: 0.5rem 0 0 !important; padding: 0 !important;
  font-size: 0.78rem !important; color: #767776 !important; line-height: 1.4 !important;
}
/* Keep the delivery label on one line (don't let "Lieferzeit:" break from its value) */
body.woocommerce-checkout .delivery-time-info .delivery-time-inner { white-space: nowrap; }
body.woocommerce-checkout td.product-total .amount { font-weight: 600 !important; color: #2e2f2f !important; font-size: 0.92rem !important; }

/* "Bestellung bearbeiten" — prominent terracotta button (compact) */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table a.button {
  display: inline-block !important; width: auto !important;
  background: linear-gradient(135deg, var(--stitch-primary), var(--stitch-primary-dim)) !important;
  color: #fff !important; padding: 0.6rem 1.4rem !important; margin: 0.5rem 0 0 !important;
  border: 0 !important; border-radius: 0.5rem !important;
  font-size: 0.8rem !important; font-weight: 600 !important;
  text-transform: uppercase !important; letter-spacing: 0.04em !important; text-decoration: none !important;
  box-shadow: 0 2px 10px rgba(153, 63, 40, 0.18) !important;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table a.button:hover { color: #fff !important; opacity: 0.94; }

/* Columns 2:1 — product (left) twice the value column. The shipping row now
   shows a short price, so the value column no longer needs to be wide. */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table th:first-child,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td:first-child { width: 66% !important; padding-right: 1.5rem !important; }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table th:last-child,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td:last-child { width: 34% !important; }

/* Right-align the whole value column (header + product price + all totals) */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th:last-child,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td { text-align: right !important; }

/* "Kostenlos" appended to the Sendung label — sage green, normal case (not uppercased) */
body.woocommerce-checkout .aw-ship-free {
  display: inline-block; margin-left: 0.5rem;
  text-transform: none !important; letter-spacing: normal !important;
  font-size: 0.8rem !important; font-weight: 600 !important; color: #4a614d !important;
}
/* Sendung value renders as a 1-item method list (block) — text-align on the cell
   can't move a block, so force the label itself to a full-width right-aligned block. */
body.woocommerce-checkout #order_review tfoot .woocommerce-shipping-methods,
body.woocommerce-checkout #order_review tfoot .woocommerce-shipping-methods li {
  list-style: none !important; margin: 0 !important; padding: 0 !important;
  width: 100% !important; text-align: right !important;
}
body.woocommerce-checkout #order_review tfoot .woocommerce-shipping-methods label {
  display: block !important; width: 100% !important; float: none !important;
  text-align: right !important; font-weight: 600 !important; color: #2e2f2f !important;
}

/* Thead column labels — keep them quiet */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th {
  font-size: 0.7rem !important; letter-spacing: 0.08em !important; color: #767776 !important;
  font-weight: 700 !important; padding-bottom: 0.6rem !important;
}

/* ============================================
   ÜBER UNS — button text contrast fix (2026-06-17)
   ============================================ */
.aw-ab .aw-ab-btn--primary { color: #fff !important; }
.aw-ab-cta .aw-ab-btn--primary { background: #fff !important; color: #2e2f2f !important; }
.aw-ab .aw-ab-btn--ghost { color: #2e2f2f !important; }

/* ============================================
   DARK PANELS — white text override (2026-06-17)
   The global `body,.site{color:#2e2f2f !important}` was overriding non-important
   white text inside dark panels. Force white with !important + higher specificity.
   ============================================ */
/* Kontakt sage "Besuchsadresse" panel */
.aw-ct-side,
.aw-ct-side h3,
.aw-ct-side .aw-ct-side-link { color: #fff !important; }
.aw-ct-side p { color: rgba(255, 255, 255, 0.88) !important; }
/* Über uns sage CTA band */
.aw-ab-cta h2 { color: #fff !important; }
.aw-ab-cta p { color: rgba(255, 255, 255, 0.85) !important; }
/* Kontakt "E-Mail schreiben" button text */
.aw-ct-btn { color: #fff !important; }
.aw-ct-btn:hover { color: #fff !important; }

/* ============================================================================
   MY ACCOUNT (Mein Konto) + subpages — Stitch sidebar + cards (rebuilt 2026-06-23)
   ============================================================================ */
body.woocommerce-account .entry-hero-container-inner { background: #f7f6f5 !important; }
body.woocommerce-account .content-container,
body.woocommerce-account .entry-content { background: #f7f6f5 !important; }

/* ---- Two-column layout: nav sidebar LEFT, content RIGHT (Kadence floats it
        right by default — flex the wrapper and pin the sidebar to the left). ---- */
@media (min-width: 768px) {
  body.woocommerce-account .woocommerce {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 2.25rem;
  }
  body.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { flex: 1 1 100%; }
  body.woocommerce-account .account-navigation-wrap {
    flex: 0 0 282px;
    width: 282px !important;
    margin: 0 !important;
    float: left;
  }
  body.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1 1 0;
    min-width: 0;
    width: auto !important;
    margin: 0 !important;
    padding-right: 0 !important;
    float: none !important;
  }
}

/* ---- The sidebar itself: a rounded Stitch card ---- */
body.woocommerce-account .account-navigation-wrap {
  background: var(--stitch-surface-container-lowest) !important;
  border: 1px solid var(--stitch-surface-container) !important;
  border-radius: 1rem !important;
  padding: 0.6rem !important;
  box-shadow: 0 1px 3px rgba(46, 47, 47, 0.04);
}

/* Avatar header — clean flex row, name + role, divider below */
body.woocommerce-account .account-navigation-wrap .kadence-account-avatar {
  position: static !important;
  display: flex !important;
  align-items: center;
  gap: 0.8rem;
  padding: 0.65rem 0.7rem 1rem !important;
  margin: 0 0 0.5rem !important;
  border-bottom: 1px solid var(--stitch-surface-container);
}
body.woocommerce-account .account-navigation-wrap .kadence-customer-image {
  position: static !important;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
}
body.woocommerce-account .account-navigation-wrap .kadence-customer-image img {
  position: static !important;
  width: 48px !important;
  height: 48px !important;
  max-width: 48px !important;
  border-radius: 50% !important;
}
body.woocommerce-account .account-navigation-wrap .kadence-customer-name {
  padding-left: 0 !important;
  font-family: 'Newsreader', serif;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--stitch-on-surface);
  line-height: 1.2;
}
body.woocommerce-account .account-navigation-wrap .kadence-customer-name::after {
  content: "Mein Konto";
  display: block;
  font-family: 'Manrope', sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--stitch-outline);
  margin-top: 0.15rem;
}

/* Menu items — pill rows with an icon, hover wash, terracotta active state */
body.woocommerce-account .account-navigation-wrap ul { margin: 0 !important; padding: 0 !important; list-style: none; }
body.woocommerce-account .account-navigation-wrap li { margin: 0 !important; }
body.woocommerce-account .account-navigation-wrap li a {
  display: flex !important;
  align-items: center;
  gap: 0.75rem;
  padding: 0.72rem 0.85rem !important;
  margin: 0.1rem 0 !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0.6rem !important;
  color: var(--stitch-on-surface-variant) !important;
  font-family: 'Manrope', sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.18s ease, color 0.18s ease;
}
body.woocommerce-account .account-navigation-wrap li a::before {
  content: "";
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background-color: currentColor;
  -webkit-mask: var(--ic, none) center / 18px 18px no-repeat;
  mask: var(--ic, none) center / 18px 18px no-repeat;
  opacity: 0.9;
}
body.woocommerce-account .account-navigation-wrap li:hover a,
body.woocommerce-account .account-navigation-wrap li a:hover {
  background: var(--stitch-surface-container-low) !important;
  border-left: 0 !important;
  color: var(--stitch-on-surface) !important;
}
body.woocommerce-account .account-navigation-wrap li.is-active a,
body.woocommerce-account .account-navigation-wrap li.is-active a:hover {
  background: var(--stitch-primary) !important;
  border-left: 0 !important;
  color: #fff !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 8px rgba(153, 63, 40, 0.22);
}
/* Per-endpoint icons (Heroicons outline, masked so they inherit link colour) */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard a { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000' stroke-width='1.7'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3.75 6A2.25 2.25 0 0 1 6 3.75h2.25A2.25 2.25 0 0 1 10.5 6v2.25a2.25 2.25 0 0 1-2.25 2.25H6a2.25 2.25 0 0 1-2.25-2.25V6Zm0 9.75A2.25 2.25 0 0 1 6 13.5h2.25a2.25 2.25 0 0 1 2.25 2.25V18a2.25 2.25 0 0 1-2.25 2.25H6A2.25 2.25 0 0 1 3.75 18v-2.25Zm9.75-9.75A2.25 2.25 0 0 1 15.75 3.75H18A2.25 2.25 0 0 1 20.25 6v2.25A2.25 2.25 0 0 1 18 10.5h-2.25a2.25 2.25 0 0 1-2.25-2.25V6Zm0 9.75a2.25 2.25 0 0 1 2.25-2.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-2.25A2.25 2.25 0 0 1 13.5 18v-2.25Z'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--orders a { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000' stroke-width='1.7'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 10.5V6a3.75 3.75 0 1 0-7.5 0v4.5m11.356-1.993 1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 0 1-1.12-1.243l1.264-12A1.125 1.125 0 0 1 5.513 7.5h12.974c.576 0 1.059.435 1.119 1.007Z'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads a { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000' stroke-width='1.7'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address a { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000' stroke-width='1.7'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0Z'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--payment-methods a { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000' stroke-width='1.7'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.25 8.25h19.5M2.25 9h19.5m-16.5 5.25h6m-6 2.25h3m-3.75 3h15a2.25 2.25 0 0 0 2.25-2.25V6.75A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25v10.5A2.25 2.25 0 0 0 4.5 19.5Z'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account a { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000' stroke-width='1.7'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M17.982 18.725A7.488 7.488 0 0 0 12 15.75a7.488 7.488 0 0 0-5.982 2.975m11.963 0a9 9 0 1 0-11.963 0m11.963 0A8.966 8.966 0 0 1 12 21a8.966 8.966 0 0 1-5.982-2.275M15 9.75a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000' stroke-width='1.7'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15M12 9l-3 3m0 0 3 3m-3-3h12.75'/%3E%3C/svg%3E"); }

/* ---- Content area: readable text + comfortable rhythm ---- */
body.woocommerce-account .woocommerce-MyAccount-navigation a,
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-MyAccount-content p,
body.woocommerce-account .woocommerce-MyAccount-content a { color: var(--stitch-on-surface); }
body.woocommerce-account .woocommerce-MyAccount-content { background: transparent !important; }
body.woocommerce-account .woocommerce-MyAccount-content > p { line-height: 1.65; color: var(--stitch-on-surface-variant); }
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
  color: var(--stitch-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
  font-family: 'Newsreader', serif !important;
  font-size: 1.4rem !important;
  margin: 0 0 1rem !important;
}

/* Forms (login / register / address / account details) */
body.woocommerce-account .woocommerce form label,
body.woocommerce-account .woocommerce-MyAccount-content label { color: var(--stitch-on-surface) !important; font-weight: 500 !important; }
body.woocommerce-account .woocommerce form .form-row input.input-text,
body.woocommerce-account .woocommerce form .form-row input[type="password"],
body.woocommerce-account .woocommerce form .form-row input[type="email"],
body.woocommerce-account .woocommerce form .form-row input[type="tel"],
body.woocommerce-account .woocommerce form .form-row textarea,
body.woocommerce-account .woocommerce form .form-row select {
  border: 1.5px solid var(--stitch-outline-variant) !important;
  border-radius: 0.6rem !important;
  background: #fff !important;
  color: var(--stitch-on-surface) !important;
  padding: 0.7rem 0.9rem !important;
}
body.woocommerce-account .woocommerce form .form-row input:focus,
body.woocommerce-account .woocommerce form .form-row textarea:focus,
body.woocommerce-account .woocommerce form .form-row select:focus {
  border-color: var(--stitch-primary) !important;
  outline: none !important;
}
body.woocommerce-account input::placeholder { color: var(--stitch-outline) !important; opacity: 1; }

/* Address cards (Adressen page) — rounded Stitch surfaces */
body.woocommerce-account .woocommerce-Addresses { margin-top: 0.5rem; }
body.woocommerce-account .woocommerce-Address address {
  display: block;
  background: var(--stitch-surface-container-lowest);
  border: 1px solid var(--stitch-surface-container);
  border-radius: 0.9rem;
  padding: 1.3rem 1.4rem;
  font-style: normal;
  line-height: 1.7;
  color: var(--stitch-on-surface);
}
body.woocommerce-account .woocommerce-Address-title h3 { margin-bottom: 0.6rem !important; }

/* Tables (orders, downloads) — clean white card, rounded, generous cells */
body.woocommerce-account table.shop_table,
body.woocommerce-account table.woocommerce-orders-table,
body.woocommerce-account table.woocommerce-table--order-downloads {
  background: #fff !important;
  border: 1px solid var(--stitch-surface-container) !important;
  border-radius: 0.9rem !important;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
}
body.woocommerce-account table.shop_table th,
body.woocommerce-account .woocommerce-orders-table th {
  background: var(--stitch-surface-container-low) !important;
  color: var(--stitch-outline) !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 0.7rem !important;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-weight: 700;
  padding: 0.9rem 1.1rem !important;
  border: 0 !important;
}
body.woocommerce-account table.shop_table td,
body.woocommerce-account .woocommerce-orders-table td {
  background: #fff !important;
  color: var(--stitch-on-surface) !important;
  padding: 1rem 1.1rem !important;
  border: 0 !important;
  border-top: 1px solid var(--stitch-surface-container-low) !important;
}

/* Orders-table action buttons (Anzeigen / Vertrag widerrufen) — white text, spaced */
body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button,
body.woocommerce-account .woocommerce-orders-table__cell-order-actions a.button,
body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button * { color: #fff !important; }
body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button { margin: 0.15rem 0 !important; }
body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button + .button { margin-left: 0.5rem !important; }

/* ============================================
   CHECKOUT — coupon band + payment box readability (2026-06-18)
   ============================================ */
/* "Hast du einen Gutschein?" band — terracotta gradient, white readable text */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  background: linear-gradient(135deg, var(--stitch-primary), var(--stitch-primary-dim)) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0.6rem !important;
  box-shadow: 0 2px 10px rgba(153, 63, 40, 0.18) !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a { color: #fff !important; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a { text-decoration: underline; font-weight: 600; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { color: #fff !important; }

/* Payment method descriptions (e.g. Vorkasse bank-transfer instructions) — readable */
body.woocommerce-checkout ul.payment_methods li .payment_box,
body.woocommerce-checkout ul.payment_methods li .payment_box p,
body.woocommerce-checkout .wc_payment_method .payment_box,
body.woocommerce-checkout .wc_payment_method .payment_box * {
  color: #2e2f2f !important;
}
body.woocommerce-checkout ul.payment_methods li .payment_box {
  background: #f1f1f0 !important;
  border-radius: 0.5rem !important;
}
body.woocommerce-checkout ul.payment_methods li label { color: #2e2f2f !important; font-weight: 500 !important; }

/* ============================================
   WOOCOMMERCE NOTICES — readable gradient bands (2026-06-18)
   info/message notices (login prompt, "no orders yet", etc.) had unreadable text.
   ============================================ */
.woocommerce-info,
.woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-info {
  background: linear-gradient(135deg, var(--stitch-primary), var(--stitch-primary-dim)) !important;
  color: #fff !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0.6rem !important;
  box-shadow: 0 2px 10px rgba(153, 63, 40, 0.15) !important;
}
.woocommerce-info a,
.woocommerce-message a { color: #fff !important; text-decoration: underline; font-weight: 600; }
.woocommerce-info::before,
.woocommerce-message::before { color: #fff !important; }
/* Keep the empty-cart message as the clean centered version (not a band) */
.woocommerce-cart .cart-empty.woocommerce-info {
  background: transparent !important;
  color: #2e2f2f !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* ============================================
   WOOCOMMERCE ERROR NOTICES — readable red gradient (2026-06-18)
   Validation errors ("… ist ein Pflichtfeld.") had unreadable text.
   ============================================ */
.woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-error,
ul.woocommerce-error {
  background: linear-gradient(135deg, #b41340, #c52a52) !important;
  color: #fff !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0.6rem !important;
  box-shadow: 0 2px 10px rgba(180, 19, 64, 0.18) !important;
}
.woocommerce-error li,
.woocommerce-error li strong { color: #fff !important; }
.woocommerce-error a { color: #fff !important; text-decoration: underline; font-weight: 600; }
.woocommerce-error::before,
.woocommerce-error li::before { color: #fff !important; }

/* ============================================
   ÜBER UNS — editable-block layout (2026-06-18)
   Content is now native blocks (Heading/Paragraph/Buttons) with these classes,
   so the text is editable in the WordPress editor. Value cards stay as one HTML block.
   ============================================ */
.page-id-5593 .entry-content > .wp-block-group,
.page-id-5593 .entry-content > .wp-block-html { margin-block: 0 !important; }
.aw-ab-hero, .aw-ab-story, .aw-ab-cta { font-family: 'Manrope', sans-serif; }
.aw-ab-hero { background: #f7f6f5 !important; padding: 7rem 1.5rem 5rem !important; text-align: center; }
.aw-ab-hero h1 { font-family: 'Newsreader', serif !important; font-weight: 400 !important; font-size: clamp(2.75rem, 6vw, 4.5rem) !important; color: #2e2f2f !important; line-height: 1.12; margin: 0 auto 1.75rem !important; text-align: center !important; max-width: 100% !important; }
.aw-ab-label { font-size: 0.6875rem !important; text-transform: uppercase; letter-spacing: 0.4em; font-weight: 700 !important; color: #767776 !important; margin: 0 0 1.25rem !important; }
.aw-ab-lead { font-size: 1.1875rem !important; line-height: 1.8 !important; font-weight: 300 !important; color: #5b5c5b !important; max-width: 620px; margin: 0 auto 2.5rem !important; }
.aw-ab-hero .wp-block-buttons { justify-content: center; gap: 1rem; }

.aw-ab-story { background: #fff !important; padding: 6.5rem 1.5rem !important; }
.aw-ab-story .wp-block-group__inner-container,
.aw-ab-story > * { max-width: 760px; margin-left: auto; margin-right: auto; }
.aw-ab-story h2 { font-family: 'Newsreader', serif !important; font-weight: 400 !important; font-size: clamp(2rem, 4vw, 3rem) !important; color: #2e2f2f !important; margin: 0 0 2rem !important; }
.aw-ab-story p { font-size: 1.125rem !important; line-height: 1.9 !important; font-weight: 300 !important; color: #5b5c5b !important; margin: 0 0 1.5rem !important; }
.aw-ab-quote { border-left: 3px solid #993f28; padding-left: 1.75rem !important; margin: 3rem 0 0 !important; }
.aw-ab-quote p { font-family: 'Newsreader', serif !important; font-style: italic; font-size: 1.5rem !important; line-height: 1.45 !important; color: #993f28 !important; margin: 0 !important; }

.aw-ab-cta { background: #4a614d !important; padding: 6rem 1.5rem !important; text-align: center; }
.aw-ab-cta h2 { font-family: 'Newsreader', serif !important; font-weight: 400 !important; font-size: clamp(2rem, 4vw, 3rem) !important; color: #fff !important; margin: 0 0 1rem !important; }
.aw-ab-cta p { color: rgba(255,255,255,0.85) !important; font-size: 1.125rem !important; font-weight: 300 !important; margin: 0 0 2.25rem !important; }
.aw-ab-cta .wp-block-buttons { justify-content: center; }
.aw-ab-cta .wp-block-button__link { background: #fff !important; color: #2e2f2f !important; }
.aw-ab-values { background: #f1f1f0 !important; padding: 6.5rem 1.5rem !important; }
.aw-ab-values-inner { max-width: 1100px; margin: 0 auto; }
.aw-ab-values .aw-ab-head { text-align: center; margin-bottom: 3.5rem; }
.aw-ab-values h2 { font-family: 'Newsreader', serif; font-weight: 400; font-size: clamp(1.85rem, 3.5vw, 2.6rem); color: #2e2f2f; margin: 0; }
.aw-ab-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.aw-ab-card { background: #fff; border-radius: 0.75rem; padding: 2.5rem 2rem; box-shadow: 0 20px 40px -28px rgba(46,47,47,0.18); }
.aw-ab-card svg { width: 2rem; height: 2rem; color: #993f28; margin-bottom: 1.25rem; }
.aw-ab-card h3 { font-family: 'Newsreader', serif; font-weight: 400; font-size: 1.35rem; color: #2e2f2f; margin: 0 0 0.75rem; }
.aw-ab-card p { font-size: 1rem; line-height: 1.7; font-weight: 300; color: #5b5c5b; margin: 0; }
@media (max-width: 781px) { .aw-ab-grid { grid-template-columns: 1fr; } }

/* Material / fibre composition (amilian-material.php) */
.aw-material { font-size: 0.78rem; color: #767776; margin: 0.6rem 0 0.9rem; line-height: 1.45; }
.aw-material span { font-weight: 600; color: #5b5c5b; }

/* ============================================
   FOOTER TRUST BADGES + payment label contrast (2026-06-18)
   ============================================ */
.aw-trust-badges { display: flex; justify-content: center; align-items: center; gap: 1.75rem; flex-wrap: wrap; margin-bottom: 1.1rem; }
.aw-trust-badges img { height: 52px; width: auto; display: block; }
.aw-trust-badges a { display: inline-flex; align-items: center; }
.aw-ehi { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 700; color: #993f28 !important; border: 1.5px solid #993f28; border-radius: 999px; padding: 0.5rem 0.9rem; text-decoration: none !important; line-height: 1.2; max-width: 110px; text-align: center; }
.aw-pay-icons { text-align: center; margin-bottom: 0.85rem; }
.aw-pay-icons img { height: 26px; width: auto; display: inline-block; }
.aw-copyright { text-align: center; color: var(--stitch-on-surface-variant); font-size: 0.8rem; }

/* Mobile sticky add-to-cart bar (Kadence): its default grey (#767776) gave only
   2.98:1 with the dark title/price text. Light bar keeps the dark text readable
   (12:1) and matches the rest of the UI. (WCAG 1.4.3) */
.kadence-sticky-add-to-cart,
.kadence-sticky-add-to-cart-content {
  background: var(--stitch-surface-container-lowest) !important; /* #ffffff */
}
.kadence-sticky-add-to-cart {
  border-top: 1px solid var(--stitch-outline-variant) !important;
  box-shadow: 0 -2px 12px rgba(46, 47, 47, 0.10) !important;
}
.kadence-sticky-add-to-cart-title,
.kadence-sticky-add-to-cart-action-price .woocommerce-Price-amount,
.kadence-sticky-add-to-cart-action-price small {
  color: var(--stitch-on-surface) !important; /* #2e2f2f on white = 13.4:1 */
}
/* Footer "Cookie-Einstellungen" link — reopens the CookieYes consent banner */
.aw-cookie-link { text-align: center; margin-top: 0.55rem; }
.aw-cookie-link a { color: var(--stitch-outline); font-size: 0.78rem; text-decoration: underline; cursor: pointer; }
.aw-cookie-link a:hover { color: #993f28; }

/* Payment method labels — clearly readable */
body.woocommerce-checkout ul.payment_methods li label,
body.woocommerce-checkout ul.payment_methods li > label {
  color: #2e2f2f !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
}
body.woocommerce-checkout ul.payment_methods { background: transparent !important; }
body.woocommerce-checkout ul.payment_methods li { background: #fff !important; border-radius: 0.5rem; padding: 0.5rem 0.75rem; margin-bottom: 0.4rem; }

/* ============================================
   PAYMENT METHOD — one readable selected state (2026-06-18)
   Unselected = dark text on white; selected previously flipped the text to
   white on a light row (unreadable). Force a single readable treatment:
   selected = soft terracotta tint + a terracotta ring, text stays dark.
   ============================================ */
body.woocommerce-checkout ul.payment_methods li:has(input[type="radio"]:checked) {
  background: #faf0ec !important;
  box-shadow: inset 0 0 0 1.5px #993f28 !important;
}
body.woocommerce-checkout ul.payment_methods li:has(input[type="radio"]:checked) label,
body.woocommerce-checkout ul.payment_methods li:has(input[type="radio"]:checked) label *,
body.woocommerce-checkout ul.payment_methods li.payment_method_bacs label,
body.woocommerce-checkout ul.payment_methods li label span {
  color: #2e2f2f !important;
}

/* ============================================
   CHECKOUT TERMS / LEGAL CHECKBOX — prominent yellow band (2026-06-18)
   The AGB/Widerrufsbelehrung confirmation (and its error state) must stand out
   so customers don't miss the required tick. Germanized renders it as
   p.form-row.legal.terms-privacy-policy; core uses .woocommerce-terms-*.
   ============================================ */
body.woocommerce-checkout p.form-row.checkbox-legal,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper > .form-row,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .wc-terms-and-conditions {
  background: #fff3bf !important;
  border: 1.5px solid #f0c000 !important;
  border-radius: 0.6rem !important;
  padding: 0.95rem 1.1rem !important;
  margin-bottom: 1rem !important;
}
body.woocommerce-checkout p.form-row.checkbox-legal,
body.woocommerce-checkout p.form-row.checkbox-legal label,
body.woocommerce-checkout p.form-row.checkbox-legal label a,
body.woocommerce-checkout p.form-row.checkbox-legal .woocommerce-terms-and-conditions-checkbox-text {
  color: #2e2f2f !important;
}
/* Even stronger when the required tick is flagged invalid after a failed submit */
body.woocommerce-checkout p.form-row.checkbox-legal.woocommerce-invalid,
body.woocommerce-checkout p.form-row.checkbox-legal.woocommerce-invalid-required-field {
  background: #ffe066 !important;
  border-color: #e8a400 !important;
  box-shadow: 0 0 0 3px rgba(240, 192, 0, 0.35) !important;
}

/* ============================================
   CHECKOUT — compliant, de-cluttered layout (2026-06-18)
   Rendered by amilian-checkout-notices.php: slim trust strip, intro line,
   submit note, and ONE collapsible "Rechtliche Hinweise" accordion.
   ============================================ */
/* Slim reassurance strip (replaces the old four stacked boxes) */
.aw-co-strip {
  font-family: 'Manrope', sans-serif;
  display: flex; flex-wrap: wrap; gap: 0.6rem 2.25rem;
  justify-content: center; align-items: center;
  font-size: 0.8rem; letter-spacing: 0.01em; color: #5b5c5b;
  background: #f7f6f5; border: 1px solid #ececeb; border-radius: 0.6rem;
  padding: 0.85rem 1rem; margin: 0 0 1.6rem;
}
.aw-co-strip span { display: inline-flex; align-items: center; gap: 0.5rem; white-space: nowrap; }
.aw-co-strip svg { width: 1.05rem; height: 1.05rem; flex: 0 0 auto; color: #993f28; stroke-width: 1.6; }
@media (max-width: 700px) { .aw-co-strip { gap: 0.5rem 1.25rem; font-size: 0.74rem; } }

.aw-co-intro {
  font-family: 'Manrope', sans-serif;
  font-size: 1rem; color: #5b5c5b; margin: 0 0 1.1rem;
}
.aw-co-submit-note {
  font-family: 'Manrope', sans-serif;
  font-size: 0.85rem; line-height: 1.55; color: #5b5c5b;
  margin: 0.75rem 0 0.9rem;
}

/* Collapsible legal accordion (native <details>) — full width below the form */
.aw-co-legal {
  font-family: 'Manrope', sans-serif;
  border: 1px solid #ececeb; border-radius: 0.6rem;
  background: #fbfbfa; margin: 2rem 0 0; overflow: hidden;
}
.aw-co-legal > summary {
  cursor: pointer; list-style: none;
  padding: 0.95rem 1.2rem; font-weight: 600; color: #2e2f2f;
  display: flex; align-items: center; justify-content: space-between;
}
.aw-co-legal > summary::-webkit-details-marker { display: none; }
.aw-co-legal > summary::after { content: "▸"; color: #993f28; transition: transform 0.2s; }
.aw-co-legal[open] > summary::after { transform: rotate(90deg); }
.aw-co-legal[open] > summary { border-bottom: 1px solid #ececeb; }
.aw-co-legal-body { padding: 0.4rem 1.2rem 1.1rem; }
.aw-co-legal-body p {
  font-size: 0.86rem; line-height: 1.65; color: #5b5c5b; margin: 0.85rem 0 0;
}
.aw-co-legal-body strong { color: #2e2f2f; }
.aw-co-legal-body a { color: #993f28; text-decoration: underline; font-weight: 600; }

/* ============================================
   CHECKOUT PAYMENT METHODS — readable in BOTH states + kill dark express box
   Fix: deselected option / injected express button rendered dark-on-dark.
   #payment specificity beats theme rules; selected = terracotta tint.
   ============================================ */
body.woocommerce-checkout #payment ul.payment_methods > li {
  background: #fff !important;
  border: 1px solid #ececeb !important;
  border-radius: 0.5rem !important;
  color: #2e2f2f !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li > label,
body.woocommerce-checkout #payment ul.payment_methods > li label,
body.woocommerce-checkout #payment ul.payment_methods > li label * {
  color: #2e2f2f !important;
}
body.woocommerce-checkout #payment ul.payment_methods > li:has(input[type="radio"]:checked) {
  background: #faf0ec !important;
  border-color: #993f28 !important;
  box-shadow: inset 0 0 0 1px #993f28 !important;
}
/* Kill any dark background on the row's own wrappers (the PayPal radio row was
   rendering as a black box). Leave PayPal's gold button iframe untouched. */
body.woocommerce-checkout #payment ul.payment_methods > li > *:not(input):not(iframe),
body.woocommerce-checkout #payment ul.payment_methods > li .ppcp-button-wrapper,
body.woocommerce-checkout #payment ul.payment_methods > li [id^="ppc-button"],
body.woocommerce-checkout #payment ul.payment_methods > li .wc_payment_method__label {
  background: transparent !important;
  color: #2e2f2f !important;
}
/* Stripe/WooPayments express (Apple/Google Pay) request buttons render as an
   empty dark box and bypass the consent flow — hide them at checkout. */
body.woocommerce-checkout .wc-stripe-payment-request-wrapper,
body.woocommerce-checkout .woopayments-express-checkout-wrapper,
body.woocommerce-checkout #wc-stripe-payment-request-button,
body.woocommerce-checkout .wcpay-payment-request-wrapper { display: none !important; }
/* PPCP "Bezahlen Sie 30 Tage später…" Pay-Later banner — clutter above payment */
body.woocommerce-checkout .ppcp-messages,
body.woocommerce-checkout .ppcp-pay-later-messaging-bar,
body.woocommerce-checkout [data-pp-message] { display: none !important; }

/* Coupon band — demote the loud terracotta gradient to a quiet inline link */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  background: transparent !important;
  color: #5b5c5b !important;
  border: 1px dashed #d8d6d3 !important;
  box-shadow: none !important;
  border-radius: 0.5rem !important;
  padding: 0.6rem 0.9rem !important;
  font-size: 0.85rem !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { color: #5b5c5b !important; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a { color: #993f28 !important; }

/* DHL/Deutsche Post consent — same yellow band as the AGB checkbox, but
   compact and collapsible. Germanized wraps it as p[data-checkbox="amilian_dhl_consent"]. */
body.woocommerce-checkout p[data-checkbox="amilian_dhl_consent"] {
  background: #fff3bf !important;
  border: 1.5px solid #f0c000 !important;
  border-radius: 0.6rem !important;
  padding: 0.85rem 1rem !important;
  margin-bottom: 1rem !important;
  font-size: 0.8rem !important;
  line-height: 1.5 !important;
}
body.woocommerce-checkout p[data-checkbox="amilian_dhl_consent"] label,
body.woocommerce-checkout p[data-checkbox="amilian_dhl_consent"] label a { color: #2e2f2f !important; }
/* collapsed: clamp the consent text to 2 lines until "mehr anzeigen" */
body.woocommerce-checkout p[data-checkbox="amilian_dhl_consent"].aw-dhl-collapsed span[class*="checkbox-text"] {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
body.woocommerce-checkout p[data-checkbox="amilian_dhl_consent"].aw-dhl-open span[class*="checkbox-text"] {
  -webkit-line-clamp: unset; overflow: visible;
}
.aw-dhl-toggle {
  display: inline-block; margin-top: 0.35rem; padding: 0;
  background: none; border: 0; cursor: pointer;
  color: #993f28; font-weight: 600; font-size: 0.78rem; text-decoration: underline;
}

/* Legal accordion renders inside the left column (after order notes), so it
   fills the void without disturbing the order column. Full width of that column. */
body.woocommerce-checkout form.checkout .aw-co-legal { clear: none; width: auto; margin-top: 1.75rem; }

/* Tighten the order-summary totals rows — they were tall and sparse */
body.woocommerce-checkout #order_review table.shop_table tfoot th,
body.woocommerce-checkout #order_review table.shop_table tfoot td {
  padding-top: 0.55rem !important;
  padding-bottom: 0.55rem !important;
  line-height: 1.35 !important;
}
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total th,
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td {
  padding-top: 0.7rem !important; padding-bottom: 0.7rem !important;
}

/* ============================================
   WARENKORB-SUMME / order totals — uniform rounded value boxes, centred
   labels, prominent Gesamtsumme, de-emphasised "inkl. MwSt." (2026-06-23)
   ============================================ */
/* Every value box (the white cell) is fully rounded and identical — not just
   the first row's right corners as the generic .shop_table rule produced. */
.woocommerce-cart .cart_totals table.shop_table td {
  border-radius: 0.75rem !important;
}
/* Label (left cell) sits in the vertical middle of its value box, not the top. */
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
  vertical-align: middle !important;
}

/* Gesamtsumme — the prominent final figure (cart + checkout review). */
.woocommerce-cart .cart_totals table.shop_table tr.order-total th {
  font-size: 0.78rem !important;
  color: var(--stitch-on-surface) !important;
}
.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: var(--stitch-on-surface) !important;
}
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td {
  font-size: 1.25rem !important; font-weight: 800 !important;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
  font-size: 1.25rem !important; font-weight: 800 !important;
}

/* "inkl. MwSt." — informational only, so smaller and quieter (cart + checkout). */
.woocommerce-cart .cart_totals table.shop_table tr.order-tax th,
.woocommerce-cart .cart_totals table.shop_table tr.order-tax td,
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-tax th,
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-tax td,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-tax th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-tax td {
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  color: var(--stitch-outline) !important;
}

/* ============================================================================
   ORDER-RECEIVED / THANK-YOU PAGE — Stitch confirmation layout (2026-06-23)
   Scoped to .woocommerce-order so it never touches cart/checkout/account lists.
   ============================================================================ */
.woocommerce-order { max-width: 880px; margin: 1rem auto 0; }

/* ---- 1. Confirmation hero: sage success badge + serif thank-you line ---- */
.woocommerce-order p.woocommerce-thankyou-order-received {
  text-align: center;
  font-family: 'Newsreader', serif !important;
  font-size: clamp(1.35rem, 3.2vw, 1.75rem) !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  color: var(--stitch-on-surface) !important;
  max-width: 34ch;
  margin: 0.5rem auto 2.75rem !important;
}
.woocommerce-order p.woocommerce-thankyou-order-received::before {
  content: "✓";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 68px;
  height: 68px;
  margin: 0 auto 1.25rem;
  background: var(--stitch-secondary-container);
  color: var(--stitch-on-secondary-container);
  border-radius: 50%;
  font-family: 'Manrope', sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 0 0 8px rgba(207, 233, 208, 0.35);
}

/* ---- 2. Order meta strip: Bestellnummer · Datum · E-Mail · Gesamt · Zahlungsart ---- */
.woocommerce-order ul.woocommerce-order-overview {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 2.5rem !important;
  padding: 0 !important;
  background: var(--stitch-surface-container-lowest);
  border: 1px solid var(--stitch-surface-container);
  border-radius: 0.9rem;
  overflow: hidden;
}
.woocommerce-order ul.woocommerce-order-overview li {
  flex: 1 1 0;
  min-width: 150px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: none !important;
  border-right: 1px solid var(--stitch-surface-container) !important;
  margin: 0 !important;
  padding: 1.15rem 1rem !important;
  text-align: center;
  font-family: 'Manrope', sans-serif;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--stitch-outline);
  line-height: 1.4;
}
.woocommerce-order ul.woocommerce-order-overview li:last-child { border-right: none !important; }
.woocommerce-order ul.woocommerce-order-overview li strong {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--stitch-on-surface);
  overflow-wrap: anywhere;
}
/* The e-mail is the longest value — give it its own full-width row beneath the
   other four so it never wraps mid-address. */
.woocommerce-order ul.woocommerce-order-overview li.email {
  flex: 1 1 100%;
  order: 1;
  border-right: none !important;
  border-top: 1px solid var(--stitch-surface-container) !important;
}

/* ---- 3. BACS bank details: a warm, scannable action card (the IBAN matters) ---- */
.woocommerce-order .woocommerce-bacs-bank-details {
  background: #fcf3ee;
  border: 1px solid #f0d9cd;
  border-radius: 0.9rem;
  padding: 1.5rem 1.75rem;
  margin: 0 0 2.75rem;
}
.woocommerce-order .wc-bacs-bank-details-heading {
  font-family: 'Newsreader', serif !important;
  font-size: 1.2rem !important;
  margin: 0 0 0.35rem !important;
  color: var(--stitch-primary) !important;
}
.woocommerce-order .wc-bacs-bank-details-account-name {
  font-family: 'Manrope', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  margin: 0.4rem 0 1.1rem !important;
  padding-bottom: 1rem;
  border-bottom: 1px solid #f0d9cd;
  color: var(--stitch-on-surface) !important;
}
/* Each detail is its own label → value row (fixed label column, so BANK and IBAN
   line up and the values share a clean left edge). Stacking vertically avoids the
   empty-cell stagger a 2-col grid produced. */
.woocommerce-order ul.wc-bacs-bank-details {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-order ul.wc-bacs-bank-details li {
  display: grid;
  grid-template-columns: 10.5rem 1fr;
  align-items: baseline;
  column-gap: 1.25rem;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--stitch-outline);
}
.woocommerce-order ul.wc-bacs-bank-details li strong {
  font-size: 1.02rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--stitch-on-surface);
  font-variant-numeric: tabular-nums;
  word-break: break-word;
}

/* ---- 4. Section headings + the BACS intro paragraph: breathing room ---- */
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-column__title {
  font-size: 1.45rem !important;
  margin: 0 0 1.1rem !important;
}
.woocommerce-order .woocommerce-order-details { margin-top: 0.5rem; }
.woocommerce-order > p:not(.woocommerce-thankyou-order-received) {
  color: var(--stitch-on-surface-variant) !important;
  line-height: 1.6;
  max-width: 70ch;
  margin: 0 auto 1.75rem;
}

/* ---- 5. Order details table: uniform rounded value boxes, centred labels,
         prominent Gesamt (tagged via span → tr:has), quiet inkl. MwSt. ---- */
/* 3:1 split — give the product its room, keep amounts in a tidy right column. */
.woocommerce-order table.order_details {
  table-layout: fixed;
  width: 100% !important;
}
.woocommerce-order table.order_details th:first-child,
.woocommerce-order table.order_details td:first-child { width: 75%; }
.woocommerce-order table.order_details th:last-child,
.woocommerce-order table.order_details td:last-child { width: 25%; }
.woocommerce-order table.order_details td {
  border-radius: 0.75rem !important;
  vertical-align: middle !important;
  word-break: break-word;
}
.woocommerce-order table.order_details th { vertical-align: middle !important; }
.woocommerce-order table.order_details tfoot tr:has(.aw-or-total-val) th {
  font-size: 0.8rem !important;
  color: var(--stitch-on-surface) !important;
}
.woocommerce-order table.order_details tfoot tr:has(.aw-or-total-val) td {
  font-size: 1.45rem !important;
  font-weight: 800 !important;
  color: var(--stitch-on-surface) !important;
}
.woocommerce-order table.order_details tfoot tr:has(.aw-or-tax-val) th,
.woocommerce-order table.order_details tfoot tr:has(.aw-or-tax-val) td {
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  color: var(--stitch-outline) !important;
}

/* ---- 6. Address cards: rounded Stitch surfaces, centred under the summary table.
         WooCommerce floats .col-1 left / .col-2 right at 48% — override with a centred
         flex row so the pair sits in the middle, not pushed to one side. ---- */
.woocommerce-order .woocommerce-customer-details { margin-top: 2.75rem; }
.woocommerce-order .woocommerce-customer-details .col2-set,
.woocommerce-order .woocommerce-columns--addresses {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  width: 100%;
  float: none !important;
}
.woocommerce-order .woocommerce-customer-details .woocommerce-column,
.woocommerce-order .woocommerce-customer-details .col-1,
.woocommerce-order .woocommerce-customer-details .col-2 {
  flex: 1 1 300px;
  max-width: 440px;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-order .woocommerce-customer-details address {
  background: var(--stitch-surface-container-lowest);
  border: 1px solid var(--stitch-surface-container) !important;
  border-radius: 0.9rem !important;
  padding: 1.4rem 1.5rem !important;
  font-style: normal;
  font-size: 0.92rem;
  line-height: 1.7;
  color: var(--stitch-on-surface);
}
.woocommerce-order .woocommerce-customer-details--email,
.woocommerce-order .woocommerce-customer-details--phone {
  margin: 0.5rem 0 0 !important;
  color: var(--stitch-on-surface-variant);
  font-size: 0.85rem;
}

@media (max-width: 600px) {
  .woocommerce-order .woocommerce-columns--addresses { grid-template-columns: 1fr; }
}

/* ============================================
   FOOTER TRUST BOX — center the whole block across the page (2026-06-18)
   ============================================ */
.site-footer .footer-html-inner:has(.aw-trust-badges),
.site-footer .footer-html:has(.aw-trust-badges) {
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.aw-trust-badges, .aw-pay-icons, .aw-copyright { margin-left: auto !important; margin-right: auto !important; }
/* The footer BOTTOM row is a 2-column layout: the trust box sits in column 1 and
   column 2 is empty, so the box was centred within the left half (left-of-centre).
   Make column 1 span the full width and drop the empty column 2. */
.site-bottom-footer-inner-wrap.site-footer-row-columns-2,
.site-bottom-footer-inner-wrap {
  grid-template-columns: 1fr !important; /* collapse the 2-col grid to one full-width track */
}
.site-bottom-footer-inner-wrap .site-footer-bottom-section-1 {
  width: 100% !important;
  flex: 1 1 100% !important;
  max-width: 100% !important;
  grid-column: 1 / -1 !important;
}
.site-bottom-footer-inner-wrap .site-footer-bottom-section-2 { display: none !important; }

/* ============================================
   EXPECTED DELIVERY DATE under the Lieferzeit (amilian-delivery-date.php, 2026-06-18)
   ============================================ */
.aw-delivery-eta {
  font-size: 0.85rem;
  color: #5b5c5b;
  margin: 0.3rem 0 0.7rem;
  line-height: 1.4;
}
.aw-delivery-eta strong { color: #993f28; font-weight: 600; }
/* Cart / checkout — the whole-order ETA as a small tinted box */
.aw-delivery-eta--order {
  margin: 1rem 0;
  padding: 0.8rem 1rem;
  background: #faf0ec;
  border: 1px solid #f0d9cf;
  border-radius: 0.6rem;
  text-align: center;
  font-size: 0.9rem;
}

/* Cart — prominent "30 Tage Widerrufsrecht" frame, mirroring the delivery ETA box
   in a warm yellow tint. Contrast-checked: text 6.2:1, icon 4.6:1 (WCAG AA). */
.aw-widerruf-box {
  margin: 0.75rem 0 0;
  padding: 0.8rem 1rem;
  background: #fdf6e3;
  border: 1px solid #f2e2b8;
  border-radius: 0.6rem;
  text-align: center;
  font-family: 'Manrope', sans-serif;
}
.aw-widerruf-box .aw-wb-head {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: #2e2f2f;
  font-weight: 700;
  font-size: 0.95rem;
}
.aw-widerruf-box .aw-wb-head svg { width: 1.2rem; height: 1.2rem; color: #8a6d00; flex: none; }
.aw-widerruf-box .aw-wb-sub {
  display: block;
  margin-top: 0.2rem;
  color: #5b5c5b;
  font-size: 0.82rem;
}

/* ============================================
   PRINT / SAVE-AS-PDF BUTTON on legal doc pages (amilian-print-button.php, 2026-06-18)
   ============================================ */
.aw-print-btn-wrap { margin: 0 0 2rem; }
.aw-print-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-family: 'Manrope', sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  color: #993f28;
  background: #fff;
  border: 1.5px solid #993f28;
  border-radius: 999px;
  padding: 0.6rem 1.25rem;
  cursor: pointer;
  text-decoration: none;
  line-height: 1.2;
  transition: background 0.18s ease, color 0.18s ease;
}
.aw-print-btn svg { width: 1.15rem; height: 1.15rem; }
.aw-print-btn, .aw-print-btn:hover { text-decoration: none; }
.aw-print-btn:hover { background: #993f28; color: #fff; }

/* Table-based print layout (amilian-print-button.php builds .aw-print-table at
   print time). Hidden on screen; only @media print + the body.aw-printing class
   reveal it. */
.aw-print-table { display: none; }

/* All page margins live in the table cells below, so @page must add nothing — and
   crucially @page margin:0 prints identically whether the dialog's "Margins" is
   "Default" or "None" (None zeroes @page anyway and can't be overridden). Kept at
   the top level: @page only applies to paged media, and nesting it in @media print
   is ignored by Safari and some Chrome versions. */
@page { margin: 0; }

@media print {
  /* When the print table is active, hide the live page entirely and show only the
     table — this also drops the header/menu/footer/cookie banner/toast in one go. */
  body.aw-printing > *:not(.aw-print-table) { display: none !important; }

  /* Fallback (if beforeprint never fires, e.g. some old browsers): still strip the
     site chrome so the raw page at least prints clean. */
  body.aw-printable-doc .site-header,
  body.aw-printable-doc #masthead,
  body.aw-printable-doc .site-top-header-wrap,
  body.aw-printable-doc .site-footer,
  body.aw-printable-doc #colophon,
  body.aw-printable-doc #wpadminbar,
  body.aw-printable-doc .kadence-scroll-to-top,
  body.aw-printable-doc .aw-print-btn-wrap,
  body.aw-printable-doc .aw-toast,
  body.aw-printable-doc [id*="cookie"],
  body.aw-printable-doc [class*="cookie"],
  body.aw-printable-doc [class*="cmplz"],
  body.aw-printable-doc [class*="consent"],
  body.aw-printable-doc [class*="borlabs"] { display: none !important; }

  /* ---- The print table ---- */
  body.aw-printing .aw-print-table {
    display: table !important;
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
  }
  .aw-print-table td { vertical-align: top; padding: 0; }

  /* <thead> repeats at the top of every page; its top padding is the top page
     margin, so there is whitespace above the running header on every sheet. */
  .aw-print-table thead td { padding: 1.4cm 1.5cm 0.35cm; }
  /* <tfoot> repeats at the bottom of every page; its bottom padding is the bottom
     page margin. Browsers reserve thead/tfoot height, so body text never overlaps. */
  .aw-print-table tfoot td { padding: 0.35cm 1.5cm 1.4cm; }

  .aw-print-rmeta {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    font-family: 'Manrope', sans-serif;
    font-size: 8pt;
    color: #555 !important;
  }
  .aw-print-rmeta * { color: #555 !important; }
  .aw-print-rmeta-h { border-bottom: 1px solid #ddd; padding-bottom: 4px; }
  .aw-print-rmeta-f { border-top: 1px solid #ddd; padding-top: 4px; }
  .aw-print-table .aw-print-brand { font-weight: 700; letter-spacing: 0.04em; }
  .aw-print-table .aw-print-url { word-break: break-all; text-align: right; }

  /* Body content cell: side page margins; the document itself, black on white. */
  .aw-print-table .aw-print-cell { padding: 0.3cm 1.5cm 0; }
  .aw-print-table .aw-print-cell,
  .aw-print-table .aw-print-cell * {
    background: transparent !important;
    box-shadow: none !important;
    color: #000 !important;
    /* GSAP scroll-reveal leaves inline opacity:0/transform on un-scrolled content;
       force everything visible so the printout is a complete 1:1 copy. */
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    animation: none !important;
    filter: none !important;
    max-width: none !important;
  }
  .aw-print-table .aw-print-cell a { color: #000 !important; text-decoration: underline; }
  .aw-print-table .aw-print-cell .entry-title { text-align: center; margin: 0 0 0.6cm; }
  .aw-print-table .aw-print-cell img { max-width: 100% !important; height: auto !important; }

  /* The screen "paper sheet" chrome (border, radius, shadow, padding) must not
     print — the table cell already supplies the page margins. Keep the section
     rules, drop the terracotta tab (prints muddy). */
  .aw-print-table .aw-print-cell .entry-content {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    max-width: none !important;
    font-size: 11pt;
  }
  .aw-print-table .aw-print-cell h2 { border-top: 1px solid #ccc !important; padding-top: 0.35cm; }
  .aw-print-table .aw-print-cell h2::before { display: none !important; }
}

/* ============================================
   WIDERRUFSBUTTON — "Vertrag widerrufen" (legal, from 19.06.2026)
   ============================================ */

/* Footer bottom bar: centered, clearly visible on every page */
.aw-widerruf-footer {
  text-align: center;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(173, 173, 172, 0.18);
}

/* Button at the top of the Widerruf page + on the account dashboard */
.aw-widerruf-top,
.aw-widerruf-account {
  margin: 0 0 1.5rem;
}

/* The button itself inherits the terracotta .button.alt style; keep it inline.
   Force white text everywhere (the footer's link colour was greying it out). */
.aw-widerruf-button,
.aw-widerruf-button:link,
.aw-widerruf-button:visited,
.aw-widerruf-button:hover,
.aw-widerruf-button:focus,
.site-footer .aw-widerruf-button,
.aw-widerruf-footer .aw-widerruf-button,
/* footer-scoped hover/focus must out-specify `.site-footer a:hover` (0,2,1), which
   otherwise repaints the label dark terracotta on the terracotta button. */
.site-footer .aw-widerruf-button:hover,
.site-footer .aw-widerruf-button:focus,
.aw-widerruf-footer .aw-widerruf-button:hover,
.aw-widerruf-footer .aw-widerruf-button:focus {
  display: inline-block;
  color: #fff !important;
}

/* Step-2 form section on the Widerruf page */
.aw-widerruf-form {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(173, 173, 172, 0.18);
  scroll-margin-top: 6rem; /* so the #vertrag-widerrufen anchor clears the sticky header */
}
.aw-widerruf-form h2 {
  margin-bottom: 0.5rem;
}

/* All text in the form section black for readability (heading, hints, labels,
   inputs, required asterisks) — but keep the terracotta submit button's white label. */
.aw-widerruf-form,
.aw-widerruf-form *:not(.button):not(.button *) {
  color: #000 !important;
}
.aw-widerruf-form .button {
  color: #fff !important;
}

/* Roomy text boxes so it's obvious where to type. The first box (the Widerruf
   declaration, #content) is the largest; the optional comments box a bit smaller. */
.aw-widerruf-form textarea {
  min-height: 130px;
  line-height: 1.5;
}
.aw-widerruf-form textarea#content {
  min-height: 220px;
}

/* ============================================
   SINGLE PRODUCT — gallery arrows, zoom & lightbox  (amilian-product-gallery.php)
   The gallery is rtWPVG (Swiper). We add in-place prev/next arrows on the main
   image, our own working magnifier, and a self-contained full-screen slider.
   ============================================ */
.rtwpvg-slider { position: relative; }

/* shared pill look for the on-image controls */
.rtwpvg-slider .aw-gal-nav,
.rtwpvg-slider .aw-gal-zoom {
  position: absolute;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  cursor: pointer;
  color: #2e2f2f;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 3px 12px rgba(46, 47, 47, 0.16);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  transition: opacity 0.2s ease, background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
/* prev / next arrows — appear on hover (always visible on touch) */
.rtwpvg-slider .aw-gal-nav {
  top: 50%;
  width: 46px;
  height: 46px;
  margin-top: -23px;
  border-radius: 50%;
  opacity: 0;
}
.rtwpvg-slider .aw-gal-nav svg { width: 22px; height: 22px; }
.rtwpvg-slider .aw-gal-prev { left: 14px; }
.rtwpvg-slider .aw-gal-next { right: 14px; }
.rtwpvg-slider.aw-gal-multi:hover .aw-gal-nav,
.rtwpvg-slider.aw-gal-multi:focus-within .aw-gal-nav { opacity: 1; }
.rtwpvg-slider .aw-gal-nav:hover { background: #4a614d; color: #fff; }
.rtwpvg-slider:not(.aw-gal-multi) .aw-gal-nav { display: none !important; }
/* magnifier — top right */
.rtwpvg-slider .aw-gal-zoom {
  top: 14px;
  right: 14px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
}
.rtwpvg-slider .aw-gal-zoom svg { width: 20px; height: 20px; color: #4a614d; }
.rtwpvg-slider .aw-gal-zoom:hover { background: #4a614d; }
.rtwpvg-slider .aw-gal-zoom:hover svg { color: #fff; }
.rtwpvg-slider .rtwpvg-gallery-image { cursor: zoom-in; }
@media (max-width: 768px) {
  .rtwpvg-slider .aw-gal-nav { opacity: 1; width: 40px; height: 40px; margin-top: -20px; }
  .rtwpvg-slider .aw-gal-prev { left: 8px; }
  .rtwpvg-slider .aw-gal-next { right: 8px; }
}
/* kill any stock/dead magnifier so only ours (.aw-gal-zoom) shows */
.woocommerce-product-gallery__trigger,
.rtwpvg-images .rtwpvg-trigger,
.rtwpvg-images .kt-gallery-icon,
.rtwpvg-wrapper .kt-gallery-icon { display: none !important; }

/* Uniform thumbnail preview boxes — every thumbnail is the SAME square regardless of
   the source image's aspect ratio (cover-crop, centred). Pairs with the 5-column
   thumbnail setting so more previews fit per row. */
.rtwpvg-thumbnail-image .rtwpvg-thumbnail-image-inner {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 0.5rem;
  border: 1px solid var(--stitch-surface-container);
}
.rtwpvg-thumbnail-image .rtwpvg-thumbnail-image-inner img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
  border-radius: 0.5rem;
}
/* The active thumbnail gets a terracotta ring instead of relying on opacity alone. */
.rtwpvg-thumbnail-image.current-thumbnail .rtwpvg-thumbnail-image-inner,
.rtwpvg-thumbnail-image.slick-current .rtwpvg-thumbnail-image-inner {
  border-color: var(--stitch-primary);
  box-shadow: 0 0 0 1px var(--stitch-primary);
}

/* --- full-screen lightbox --- */
html.aw-lb-lock { overflow: hidden; }
.aw-lb { position: fixed; inset: 0; z-index: 100000; display: none; }
.aw-lb.is-open { display: block; }
.aw-lb-backdrop { position: absolute; inset: 0; background: rgba(24, 23, 22, 0.95); }
.aw-lb-swiper { position: absolute; inset: 0; }
.aw-lb .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 5vh 7vw;
}
.aw-lb .swiper-slide img {
  max-width: 100%;
  max-height: 90vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 12px 50px rgba(0, 0, 0, 0.45);
}
.aw-lb-close {
  position: absolute;
  top: 18px;
  right: 20px;
  z-index: 4;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  transition: background 0.2s ease;
}
.aw-lb-close:hover { background: rgba(255, 255, 255, 0.25); }
.aw-lb-close::before {
  content: "\00d7"; /* × */
  display: block;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 30px;
  line-height: 1;
  font-weight: 400;
}
.aw-lb-counter {
  position: absolute;
  top: 26px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  color: rgba(255, 255, 255, 0.85);
  font-family: 'Manrope', sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.aw-lb-nav {
  position: absolute;
  top: 50%;
  margin-top: -26px;
  z-index: 4;
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  transition: background 0.2s ease;
}
.aw-lb-nav:hover { background: rgba(255, 255, 255, 0.28); }
/* chevrons as bold Unicode glyphs — no SVG, no collapsible borders */
.aw-lb-nav::before {
  display: block;
  color: #fff;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: 28px;
  line-height: 1;
  font-weight: 400;
}
.aw-lb-prev { left: 18px; }
.aw-lb-prev::before { content: "\276E"; margin-right: 3px; }
.aw-lb-next { right: 18px; }
.aw-lb-next::before { content: "\276F"; margin-left: 3px; }
.aw-lb.aw-lb-single .aw-lb-nav,
.aw-lb.aw-lb-single .aw-lb-counter { display: none; }
@media (max-width: 768px) {
  .aw-lb-nav { width: 42px; height: 42px; margin-top: -21px; }
  .aw-lb-prev { left: 6px; }
  .aw-lb-next { right: 6px; }
  .aw-lb .swiper-slide { padding: 8vh 4vw; }
}

/* ============================================
   CART SLIDE-OUT DRAWER — light & informative redesign  (2026-06-21)
   The Kadence #cart-drawer shipped dark (low-contrast white-on-grey). Repaint it
   on-brand: light surfaces, readable dark text, sage accents, plus a free-shipping
   progress bar driven by amilian-cart.php.
   ============================================ */
#cart-drawer .drawer-inner { background: #ffffff !important; color: #2e2f2f !important; }
#cart-drawer .drawer-header {
  background: #f7f6f5 !important;
  border-bottom: 1px solid #e8e8e7 !important;
}
#cart-drawer .side-cart-header {
  color: #2e2f2f !important;
  font-family: 'Newsreader', serif !important;
  font-weight: 500 !important;
}
#cart-drawer .cart-toggle-close,
#cart-drawer .cart-toggle-close svg,
#cart-drawer .cart-toggle-close .kadence-svg-iconset { color: #2e2f2f !important; }
#cart-drawer .cart-toggle-close:hover svg { color: #4a614d !important; }

/* generic text → readable dark, links → sage */
#cart-drawer .drawer-content,
#cart-drawer .widget_shopping_cart,
#cart-drawer .widget_shopping_cart_content,
#cart-drawer .woocommerce-mini-cart,
#cart-drawer .woocommerce-mini-cart__total,
#cart-drawer .woocommerce-mini-cart__buttons,
#cart-drawer li,
#cart-drawer p,
#cart-drawer dl,
#cart-drawer dt,
#cart-drawer dd,
#cart-drawer .quantity { color: #2e2f2f !important; background-color: transparent !important; }
#cart-drawer a:not(.button) { color: #4a614d !important; }
#cart-drawer .woocommerce-mini-cart__total a,
#cart-drawer .product-name a {
  color: #2e2f2f !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
#cart-drawer .product-name a:hover { color: #4a614d !important; }
#cart-drawer .amount,
#cart-drawer .woocommerce-Price-amount { color: #2e2f2f !important; }

/* item rows: light separators */
#cart-drawer .woocommerce-mini-cart li.mini_cart_item,
#cart-drawer .cart_list li {
  border-bottom: 1px solid #efeeec !important;
  padding: 0.85rem 0 !important;
}
#cart-drawer .woocommerce-mini-cart__total {
  border-top: 1px solid #e8e8e7 !important;
  margin-top: 0.5rem !important;
  padding-top: 0.85rem !important;
  font-size: 1.02rem !important;
}
/* remove (×) link readable */
#cart-drawer .mini_cart_item a.remove,
#cart-drawer a.remove { color: #993f28 !important; border: 0 !important; }

/* free-shipping progress bar */
#cart-drawer .aw-free-ship {
  margin: 0 0 1rem;
  padding: 0.8rem 0.95rem;
  background: #f2f6f2;
  border: 1px solid #dde7dd;
  border-radius: 0.75rem;
  font-family: 'Manrope', sans-serif;
}
#cart-drawer .aw-free-ship__msg {
  font-size: 0.8rem;
  line-height: 1.35;
  color: #3a4a3c !important;
  margin-bottom: 0.55rem;
}
#cart-drawer .aw-free-ship__msg b { color: #4a614d; font-weight: 700; }
#cart-drawer .aw-free-ship__bar {
  height: 7px;
  border-radius: 99px;
  background: #e2e9e2;
  overflow: hidden;
}
#cart-drawer .aw-free-ship__fill {
  height: 100%;
  width: 0;
  border-radius: 99px;
  background: linear-gradient(90deg, #6a8a6d, #4a614d);
  transition: width 0.45s ease;
}
#cart-drawer .aw-free-ship.is-complete { background: #edf5ed; border-color: #cfe2cf; }
#cart-drawer .aw-free-ship.is-complete .aw-free-ship__msg { color: #2f5a32 !important; font-weight: 600; }

/* ============================================
   MOBILE STICKY ADD-TO-CART BAR — never overlap page content (2026-06-21)
   Kadence Pro's sticky bar (.kadence-sticky-add-to-cart-footer) is position:fixed at the
   bottom and, when shown (.item-is-fixed), was covering the foot of the page — incl. the
   footer legal / returns links. Reserve matching space on the footer ONLY while the bar
   is actually visible, so nothing is ever hidden behind it.
   ============================================ */
body:has(.kadence-sticky-add-to-cart-footer.item-is-fixed) .site-footer {
  padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)) !important;
}

/* ============================================
   MOBILE AUDIT — Tier 1 quick wins (readability + tap targets)
   ============================================ */

/* Product meta (categories, SKU) rendered ~8.4px — force a readable size. */
.single-product .product_meta,
.single-product .product_meta a,
.single-product .product_meta span {
  font-size: 0.78rem !important; /* ~12.5px, was ~8.4px */
}

/* Top announcement bar: text ran edge-to-edge on phones. Give it side padding. */
@media (max-width: 768px) {
  .site-top-header-inner-wrap {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* Tap targets — meet the ~44px comfortable-tap guideline without changing the
   visual icon size (expand the hit area via min dimensions + centering). */
.woocommerce-cart-form a.remove,
.woocommerce-cart a.remove {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
}
button#mobile-toggle,
.header-cart-wrap .header-cart-button,
.drawer-toggle.header-cart-button {
  min-height: 44px;
  min-width: 44px;
}

/* Archive cards (Tier 2, Option A): on phones the 2-column cards are too cramped for
   the full swatch grid + size pills, so hide them and show a concise count hint
   instead ("12 Farben · 3 Größen wählbar"). Colours/sizes remain on the product page.
   Tablet/desktop keep the full interactive swatch grid. */
.aw-mob-hint { display: none; }
@media (max-width: 600px) {
  .woocommerce ul.products li.product .aw-variant-table { display: none !important; }
  .woocommerce ul.products li.product .aw-mob-hint {
    display: block;
    margin-top: 0.5rem;
    font-family: 'Manrope', sans-serif;
    font-size: 0.8rem;
    letter-spacing: 0.01em;
    color: var(--stitch-outline);
  }
}

/* ============================================
   MOBILE PRODUCT GRID REDESIGN (≤600px) — minimal Zalando/Amazon-style tiles.
   Image leads, tap it to open; no button, no per-tile tax/shipping text (one page-
   level notice instead), smaller keyword-first title, prominent price, tight gutters.
   Desktop/tablet keep the richer card unchanged.
   ============================================ */

/* Page-level PAngV price notice: mobile only (desktop keeps per-tile notes). */
.aw-price-note { display: none; }

@media (max-width: 600px) {
  /* Tight outer gutters (~5px from the screen edge) — archives only. */
  .post-type-archive-product .content-container,
  .tax-product_cat .content-container,
  .post-type-archive-product .entry-content-wrap,
  .tax-product_cat .entry-content-wrap {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  /* Tighter grid + flat tiles (drop the card chrome so the image leads). */
  /* NB: Kadence sets the gap via `.woocommerce ul.products.grid-cols { gap:1.25rem }`
     (=20px) which out-specifies a plain `ul.products` rule — must match .grid-cols
     (+ body) to win. This is the real "space between products" the grid shows. */
  body .woocommerce ul.products.grid-cols {
    gap: 6px !important;
    grid-column-gap: 6px !important;
    grid-row-gap: 6px !important;
    margin: 0 !important;
    align-items: start !important;
  }
  .woocommerce ul.products li.product { margin: 0 !important; padding: 0 !important; }
  .woocommerce ul.products li.product.content-bg,
  .woocommerce ul.products li.product .content-bg,
  .woocommerce ul.products li.product .product-details {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-image-link img,
  .woocommerce ul.products li.product img { border-radius: 8px !important; }

  /* Keyword-first title (brand stripped server-side), 2-line clamp. Bigger now that
     the tile is decluttered; sits tight under the image. */
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Manrope', sans-serif !important;
    font-size: 0.92rem !important;
    line-height: 1.3 !important;
    -webkit-line-clamp: 2 !important;
    min-height: calc(1.3em * 2) !important;
    max-height: calc(1.3em * 2) !important;
    margin: 0.22rem 0 0.1rem !important;
    padding: 0 2px !important;
    letter-spacing: 0 !important;
  }

  /* Prominent price, no inkl.-MwSt suffix on the tile. */
  .woocommerce ul.products li.product .price { font-size: 0.95rem !important; font-weight: 700 !important; padding: 0 2px !important; }
  .woocommerce ul.products li.product .woocommerce-price-suffix { display: none !important; }

  /* Remove tile clutter: add-to-cart button + Germanized tax/shipping/delivery lines. */
  .woocommerce ul.products li.product .product-action-wrap,
  .woocommerce ul.products li.product .button.add_to_cart_button,
  .woocommerce ul.products li.product .wc-gzd-additional-info { display: none !important; }

  /* Colour hint: ONE line (uniform card height → tight, even rows), tight under price. */
  .woocommerce ul.products li.product .aw-mob-hint {
    padding: 0 2px !important;
    margin-top: 0.15rem !important;
    font-size: 0.72rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Show the single page-level price notice. */
  .aw-price-note {
    display: block;
    text-align: center;
    font-family: 'Manrope', sans-serif;
    font-size: 0.72rem;
    color: #8a857d;
    margin: 0 6px 10px;
  }
  .aw-price-note a { color: inherit; text-decoration: underline; }

  /* Archive header: shrink everything (breadcrumb, category heading, description,
     hero padding), drop the result count and the sorting bar — all visual noise that
     pushes products below the fold on a small screen. */
  .kadence-breadcrumbs { font-size: 0.6rem !important; letter-spacing: 0.04em !important; }
  .entry-header.product-archive-title { padding-top: 0.6rem !important; padding-bottom: 0.6rem !important; }
  .woocommerce-products-header .page-title.archive-title,
  .product-archive-title .page-title.archive-title {
    font-size: 1.25rem !important;
    line-height: 1.12 !important;
    margin-bottom: 0.2rem !important;
  }
  .archive-description,
  .product-archive-title .archive-description,
  .product-archive-title .archive-description p {
    font-size: 0.82rem !important;
    line-height: 1.35 !important;
    margin: 0 !important;
  }
  .woocommerce-result-count { display: none !important; }
  .woocommerce-ordering { display: none !important; }
  .woocommerce-products-header { margin-bottom: 0.4rem !important; }

  /* Price notice: one thin line, no vertical padding/margin. */
  .aw-price-note { margin: 0 6px 4px !important; line-height: 1.2 !important; padding: 0 !important; font-size: 0.7rem !important; }
}

/* ============================================
   TOP ANNOUNCEMENT BAR — center each message on its own line on mobile.
   ============================================ */
@media (max-width: 768px) {
  .site-top-header-inner-wrap { text-align: center !important; }
  .aw-ann-i { display: block; }
  .aw-ann-sep { display: none; }
}
