/*
 * 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) !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 — pitch black + matched size for readability.
   (Was: account icon grey, cart icon terracotta, and the two rendered at different sizes.) */
.header-cart-wrap .header-cart-button,
.header-account-wrap .header-account-button {
  color: #000 !important;
}
.site-header .kadence-account-svg,
.site-header .kadence-shopping-cart-svg {
  fill: #000 !important;
  width: 20px !important;
  height: 20px !important;
}
.site-header .kadence-arrow-down-svg { fill: #000 !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;
}

/* Hover lift on MOUSE devices only (2026-07-17). On iOS the first touch applies :hover,
   so the card started its 0.4s translateY animation mid-gesture and Safari abandoned the
   pan — that's why the first swipe on a tile gallery "activated" the card instead of
   swiping. @media (hover:hover) keeps touch devices out entirely. */
@media (hover: hover) and (pointer: fine) {
  .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;
  }
}
/* Touch devices: no card transition at all, so a touch can never start a repaint
   animation during gesture recognition (theme hovers included). */
@media (hover: none) {
  .woocommerce ul.products li.product,
  .products .product {
    transition: none !important;
  }
  .woocommerce ul.products li.product:hover,
  .woocommerce ul.products li.product:active {
    transform: none !important;
    box-shadow: none !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 came off this list on 2026-08-01: it now carries a working
   MailPoet form (see below) instead of the decorative markup it shipped with. */
.aw-categories,
.aw-story,
.aw-journal {
  display: none !important;
}

/* ============================================
   NEWSLETTER SIGNUP — real MailPoet form (2026-08-01)
   The section used to hold a <div> dressed as a form: no <form>, a
   type="button" submit, no JS. It captured nothing, so the advertised 10 %
   was a promise the site could not keep. The markup is now
   [mailpoet_form id="1"], which posts to MailPoet and triggers the
   double-opt-in mail.
   MailPoet writes inline styles on its own input and submit, so the
   overrides below need !important to win.
   ============================================ */

.aw-newsletter .mailpoet_form_shortcode {
  max-width: 440px;
  margin: 0 auto;
}
.aw-newsletter form.mailpoet_form {
  padding: 0 !important;
  background: none !important;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.75rem;
}

/* The section already states the offer and the pitch — don't say it twice.
   The Datenschutz line (the only paragraph with a link) has to stay: it is
   what makes the signup DSGVO-clean. */
.aw-newsletter .mailpoet-heading,
.aw-newsletter p.mailpoet_form_paragraph:not(:has(a)) {
  display: none !important;
}

.aw-newsletter .mailpoet_paragraph {
  margin: 0 !important;
}
/* Field and button share one line, echoing the underlined field this section
   was designed around. Without :has support they simply stack — still usable. */
.aw-newsletter .mailpoet_paragraph:has(.mailpoet_text) {
  flex: 1 1 220px;
}
.aw-newsletter .mailpoet_paragraph:has(.mailpoet_submit) {
  flex: 0 0 auto;
}

.aw-newsletter input.mailpoet_text {
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgb(153 63 40 / 0.3) !important;
  border-radius: 0 !important;
  padding: 0 0 0.5rem !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 0.875rem !important;
  color: #2e2f2f !important;
}
.aw-newsletter input.mailpoet_text::placeholder {
  color: rgb(46 47 47 / 0.4);
}
.aw-newsletter input.mailpoet_text:focus {
  outline: none !important;
  border-bottom-color: #993f28 !important;
}

.aw-newsletter input.mailpoet_submit {
  width: auto !important;
  background: #993f28 !important;
  border: 1px solid #993f28 !important;
  border-radius: 2px !important;
  padding: 0.6rem 1.1rem !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  cursor: pointer;
}
.aw-newsletter input.mailpoet_submit:hover {
  background: #7d3320 !important;
  border-color: #7d3320 !important;
}

/* Datenschutz note and the success/error message sit on their own row. */
.aw-newsletter p.mailpoet_form_paragraph:has(a),
.aw-newsletter .mailpoet_message {
  flex: 1 1 100%;
  margin: 0 !important;
  font-size: 0.75rem !important;
  color: #5b5c5b !important;
}
.aw-newsletter .mailpoet_validate_success {
  color: #0f766e !important;
  font-weight: 600;
}
.aw-newsletter .mailpoet_validate_error {
  color: #c1121f !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;
}

/* Tables in the document sheet (e.g. the Entsorgung disposal table): a table's
   minimum width is its content, so on phones it overflowed the sheet and the last
   column was cut off. Let cells hyphenate/wrap so the table can shrink, and if it
   still can't fit, scroll it inside the sheet instead of clipping. */
.amilian-doc .entry-content table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}
.amilian-doc .entry-content table th,
.amilian-doc .entry-content table td {
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}

/* 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)
   ============================================ */
/* Trust badges: one tidy centred row, every badge the SAME visual footprint so the mix of
   rectangle / round / hexagon seals reads as an organised set instead of noise. Each badge gets
   an equal-size box; the logo is contained inside it and vertically centred. */
.aw-trust-badges { display: flex; justify-content: center; align-items: center; gap: 2.25rem; flex-wrap: wrap; margin-bottom: 1.1rem; }
.aw-trust-badges > img,
.aw-trust-badges > a { height: 50px; width: 96px; display: inline-flex; align-items: center; justify-content: center; }
.aw-trust-badges img { height: 50px; max-height: 50px; width: auto; max-width: 96px; object-fit: contain; display: block; }
.aw-trust-badges a img { height: 46px; max-height: 46px; }
.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; }
/* Payment methods: individual icons (PayPal, Visa, Mastercard, Vorkasse) in an even row, each
   linking to the Zahlungsarten page. Uniform height keeps the mixed logos tidy. */
.aw-pay-icons { display: flex; justify-content: center; align-items: center; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 0.85rem; }
.aw-pay-icons a { display: inline-flex; align-items: center; line-height: 0; }
.aw-pay-icons img { height: 24px; width: auto; display: block; }
.aw-pay-icons a:hover { opacity: 0.75; }
.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). WooCommerce puts `.woocommerce` ON <body>, so a `body .woocommerce` prefix
     matches nothing — out-specify with the ul's own extra class (.product-archive). */
  .woocommerce ul.products.product-archive.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,
  .woocommerce ul.products li.product .brief-shipping-details { 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 — contract HARD so products appear high on the screen: tiny
     breadcrumb, small heading, minimal hero padding, drop the result count + sorting,
     hide the (usually empty) Kadence active-filters bar, and squeeze the surrounding
     gaps so the grid sits right under the header. */
  .kadence-breadcrumbs { font-size: 0.6rem !important; letter-spacing: 0.04em !important; }
  .kadence-breadcrumb-container { padding-top: 0 !important; padding-bottom: 0 !important; }
  .entry-header.product-archive-title,
  .entry-hero-container-inner .entry-header.product-archive-title { padding-top: 0.3rem !important; padding-bottom: 0.3rem !important; }
  .entry-hero-container-inner { padding-top: 0 !important; padding-bottom: 0 !important; min-height: 0 !important; }
  .woocommerce-products-header .page-title.archive-title,
  .product-archive-title .page-title.archive-title {
    font-size: 1.1rem !important;
    line-height: 1.1 !important;
    margin-bottom: 0.05rem !important;
  }
  .archive-description,
  .product-archive-title .archive-description,
  .product-archive-title .archive-description p {
    font-size: 0.8rem !important;
    line-height: 1.3 !important;
    margin: 0 !important;
  }
  .woocommerce-result-count { display: none !important; }
  .woocommerce-products-header { margin-bottom: 0 !important; }
  .kadence-shop-active-filters { display: none !important; }
  /* Mobile sort control (2026-07-17): the ordering dropdown used to be hidden here to
     compact the header, but shoppers need "price: lowest first" on the phone. Show it
     as one slim full-width pill under the header; the result count stays hidden.
     font-size 16px is deliberate — below that iOS Safari auto-zooms into the select. */
  .kadence-shop-top-row { display: block !important; margin: 0 0 6px !important; padding: 0 !important; }
  .woocommerce-ordering { display: block !important; width: 100%; margin: 0.35rem 0 0.25rem !important; }
  .woocommerce-ordering select {
    display: block;
    width: 100%;
    font-size: 16px !important;
    padding: 0.6rem 2.4rem 0.6rem 1rem !important;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23993f28' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.9rem center !important;
  }
  /* Pull the content area up tight under the hero (.content-area carries a 32px theme
     margin-top; .content-container a top padding). */
  .post-type-archive-product .content-area,
  .tax-product_cat .content-area { margin-top: 0 !important; }
  .post-type-archive-product .content-container,
  .tax-product_cat .content-container { padding-top: 4px !important; margin-top: 0 !important; }

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

  /* --- Single product page (mobile) --- */
  /* Smaller title (was 1.8rem). */
  .woocommerce div.product .product_title { font-size: 1.2rem !important; line-height: 1.25 !important; }

  /* Hide the thumbnail gallery on phones — the main image has arrows + swipe to browse
     every photo, so the strip is redundant (and the swiper mis-renders once moved). */
  .rtwpvg-thumbnail-wrapper { display: none !important; }

  /* Give the moved colour-picker form a little breathing room under the main image. */
  body.aw-mobile-pdp-reordered .variations_form { margin: 0.7rem 0 0.2rem !important; }

  /* Prominent price, moved right under the add-to-cart button (was getting lost below
     the title). Big brand-coloured amount, quiet tax/shipping suffix. */
  body.aw-mobile-pdp-reordered .aw-pdp-price {
    display: block !important;
    text-align: center;
    margin: 1rem 0 0 !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    color: var(--stitch-primary) !important;
  }
  body.aw-mobile-pdp-reordered .aw-pdp-price .woocommerce-price-suffix,
  body.aw-mobile-pdp-reordered .aw-pdp-price small,
  body.aw-mobile-pdp-reordered .aw-pdp-price .brief-shipping-details {
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    color: var(--stitch-outline) !important;
  }
}

/* Remove the "Zurücksetzen" (reset variation selection) link — not needed. */
.woocommerce div.product form.cart .reset_variations { display: none !important; }

/* ============================================
   CART / CHECKOUT / ORDER-RECEIVED (mobile) — side margins + drop the snackbar toast
   ============================================ */
@media (max-width: 768px) {
  /* Content sat flush at x=0 — give cart, checkout, thank-you and Mein-Konto pages
     breathing room off the screen edges so the forms/cards aren't edge-to-edge.
     (woocommerce-account added 2026-08-21: login/register headings touched the edge.) */
  body.woocommerce-cart .entry-content-wrap,
  body.woocommerce-checkout .entry-content-wrap,
  body.woocommerce-order-received .entry-content-wrap,
  body.woocommerce-account .entry-content-wrap {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Drop the Kadence "added to cart" snackbar — it's position:fixed and floats over the
     cart drawer on phones (the drawer already confirms the add). */
  .kwsb-snackbar-notice { display: none !important; }

  /* #1/#5 — Order details + checkout-review tables: constrain to the viewport, smaller
     cell padding, and stop the char-by-char wrapping ("Über weisu ng"). */
  .woocommerce table.shop_table,
  body.woocommerce-checkout table.woocommerce-checkout-review-order-table {
    width: 100% !important;
    table-layout: fixed;
  }
  .woocommerce table.shop_table th,
  .woocommerce table.shop_table td,
  body.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
  body.woocommerce-checkout table.woocommerce-checkout-review-order-table td {
    padding: 0.55rem 0.7rem !important;
    overflow-wrap: break-word;
    word-break: normal !important;
    hyphens: none !important;
  }
  /* Product/label column wider, value column right-aligned. */
  .woocommerce table.shop_table th:first-child,
  .woocommerce table.shop_table td:first-child,
  .woocommerce-checkout-review-order-table th:first-child,
  .woocommerce-checkout-review-order-table td:first-child { width: 58%; }
  .woocommerce table.shop_table td:last-child,
  .woocommerce table.shop_table th:last-child,
  .woocommerce-checkout-review-order-table td:last-child,
  .woocommerce-checkout-review-order-table th:last-child { text-align: right; }

  /* #4 — Cart action buttons: stack the coupon input + buttons full-width (were
     overlapping / text cut off). */
  body.woocommerce-cart .woocommerce-cart-form .actions .coupon { flex-direction: column; }
  body.woocommerce-cart .woocommerce-cart-form .actions .coupon .input-text,
  body.woocommerce-cart .woocommerce-cart-form .actions .coupon button[name="apply_coupon"],
  body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* #7 — Order-received address cards: full width so Rechnungs-/Lieferadresse line up. */
  .woocommerce-order .woocommerce-customer-details .woocommerce-column,
  .woocommerce-order .woocommerce-customer-details .col-1,
  .woocommerce-order .woocommerce-customer-details .col-2 {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }

  /* #6 — Drop the checkout intro line on the thank-you page (only belongs on checkout). */
  body.woocommerce-order-received .aw-co-intro { display: none !important; }

  /* Totals fonts were too big and wrapped ("Gesamtsumme: 59,9 8 €", "GESAMTSUMM E").
     Shrink the totals rows + column headers on mobile so each stays on one line. */
  .woocommerce-cart .cart_totals table.shop_table th,
  .woocommerce-cart .cart_totals table.shop_table td { font-size: 0.9rem !important; }
  .woocommerce-cart .cart_totals table.shop_table tr.order-total td { font-size: 1.1rem !important; }
  .woocommerce-cart .cart_totals table.shop_table tr.order-total th { font-size: 0.85rem !important; }
  body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td,
  body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td,
  body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total th,
  body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total th { font-size: 0.95rem !important; }
  /* Column headers (PRODUKT / ZWISCHENSUMME …): smaller + tighter so they fit one line. */
  .woocommerce table.shop_table th,
  body.woocommerce-checkout table.woocommerce-checkout-review-order-table th { font-size: 0.62rem !important; letter-spacing: 0.02em !important; }

  /* #1 — Cart remove "×": was a detached white box at the top. Pin it to the item's
     top-right corner, transparent, no box. */
  body.woocommerce-cart .woocommerce-cart-form .cart_item { position: relative; }
  body.woocommerce-cart .woocommerce-cart-form .cart_item td.product-remove {
    position: absolute !important;
    top: 6px; right: 6px;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    z-index: 3;
  }
  body.woocommerce-cart .woocommerce-cart-form .cart_item td.product-remove::before { display: none !important; }

  /* #2 — "Warenkorb aktualisieren" text overflowed the button; let it wrap to two lines. */
  body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"],
  body.woocommerce-cart .woocommerce-cart-form .actions button[name="apply_coupon"] {
    white-space: normal !important;
    line-height: 1.2 !important;
    height: auto !important;
  }

  /* Order-received order table: the value column was pinned to 25% + a 1.45rem total,
     so "Überweisung" and "268,92 €" wrapped. Widen the value column and shrink the
     total so each value stays on one line; tighter cells. */
  .woocommerce-order table.order_details th:first-child,
  .woocommerce-order table.order_details td:first-child { width: 58% !important; }
  .woocommerce-order table.order_details th:last-child,
  .woocommerce-order table.order_details td:last-child { width: 42% !important; }
  .woocommerce-order table.order_details th,
  .woocommerce-order table.order_details td {
    padding: 0.6rem 0.75rem !important;
    word-break: normal !important;
    overflow-wrap: break-word;
  }
  .woocommerce-order table.order_details tfoot tr:has(.aw-or-total-val) td { font-size: 1.1rem !important; }

  /* Bank details: stack each label above its value (full width) so the IBAN + bank
     name aren't squeezed into a narrow column and wrapped character-by-character. */
  .woocommerce-order ul.wc-bacs-bank-details li {
    grid-template-columns: 1fr !important;
    row-gap: 0.12rem;
  }
  .woocommerce-order ul.wc-bacs-bank-details li strong {
    font-size: 0.95rem;
    overflow-wrap: break-word;
  }
}

/* ============================================
   TOP ANNOUNCEMENT BAR — sentence case (not ALL CAPS), a tick before each message,
   and one message centered per line on mobile.
   ============================================ */
.site-top-header-inner-wrap,
.site-top-header-inner-wrap span { text-transform: none !important; }
.aw-ann-i::before {
  content: "✓";
  color: #4a614d;
  font-weight: 700;
  margin-right: 0.4em;
}
@media (max-width: 768px) {
  .site-top-header-inner-wrap { text-align: center !important; }
  .aw-ann-i { display: block; }
  .aw-ann-sep { display: none; }
}

/* ===== Top announcement bar — full page width (2026-06-29) =====
   The top row's content sits in a .site-container, which the customizer caps at
   --global-content-width (1290px). Unbox it for the top bar only so the bar spans
   the full page edge-to-edge (background already full width on the standard row). */
.site-header .site-top-header-wrap .site-container {
  max-width: 100% !important;
  padding-left: 1.75rem !important;
  padding-right: 1.75rem !important;
}
/* The Kadence Customizer sets the top row's inner container to dark #32302c; it showed through
   the side padding as dark margins. Force it to the same light surface as the rest of the bar
   so the whole announcement bar is one uniform colour, edge to edge. */
.site-header .site-top-header-wrap .site-header-row-container-inner {
  background: var(--stitch-surface-container) !important;
}

/* ===== Main header row — match content width (2026-07-17) =====
   Page sections (.entry-content > *) are capped at 1400px, but the customizer
   caps the header row's .site-container at --global-content-width (1290px), so
   the logo/nav/cart sat ~55px inside the section edges on each side. Widen the
   row to 1400px + its own 2×1.5rem edge padding so the header CONTENT spans
   exactly 1400px, flush with the hero and section edges below. */
.site-header .site-main-header-wrap .site-container,
.site-header .site-bottom-header-wrap .site-container {
  max-width: calc(1400px + 3rem) !important;
}

/* =========================================================================
   26. SINGLE BLOG POST / RATGEBER — editorial reading layout (2026-07-04)
   The blog single template was never styled for Stitch, so Kadence's dark
   grey `content-bg` (var(--global-palette9)) painted an unreadable box.
   This rebuilds it as a warm, serif-led editorial article. Scoped to
   .single-post so products / shop / pages are untouched.
   Palette: cream #f7f6f5 · terracotta #993f28 · Newsreader serif / Manrope.
   ========================================================================= */

/* --- Kill the dark grey content-bg box; canvas = warm cream --- */
.single-post .content-bg,
.single-post .entry-content-wrap,
.single-post .content-container .content-bg:not(.loop-entry) {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
.single-post .content-container,
.single-post #primary,
.single-post .site-main {
  background: var(--stitch-surface) !important;
}

/* --- Centered reading column (~font optimum ≈ 46rem) --- */
.single-post .entry-header,
.single-post .entry-content,
.single-post .entry-hero-container-inner,
.single-post .comment-respond,
.single-post #comments {
  max-width: 46rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* --- Featured-image hero: contained, rounded, soft depth (no harsh crop) --- */
.single-post .entry-hero .hero-section-overlay,
.single-post .entry-hero-container {
  background: transparent !important;
}
.single-post .post-thumbnail,
.single-post .entry-hero figure,
.single-post .article-post-thumbnail {
  max-width: 52rem !important;
  margin: 1.75rem auto 0 !important;
}
.single-post .post-thumbnail img,
.single-post .entry-hero img,
.single-post .article-post-thumbnail img {
  border-radius: 1rem !important;
  box-shadow: 0 24px 60px rgba(46, 47, 47, 0.12) !important;
  max-height: 30rem;
  width: 100%;
  object-fit: cover;
}

/* --- Title block + "Ratgeber" eyebrow (the signature) --- */
.single-post .entry-header {
  padding: 2.75rem 1.25rem 0.5rem !important;
  text-align: left !important;
  border: 0 !important;
}
/* The category link above the title IS the eyebrow — style the real Kadence
   .entry-taxonomies link (a working link to the category archive) instead of
   injecting a duplicate pseudo-element. */
.single-post .entry-taxonomies {
  margin: 0 0 0.9rem !important;
  line-height: 1 !important;
}
.single-post .entry-taxonomies,
.single-post .entry-taxonomies .term-links,
.single-post .entry-taxonomies .term-links a,
.single-post .entry-taxonomies a {
  font-family: 'Manrope', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--stitch-primary) !important;
  text-decoration: none !important;
}
.single-post .entry-taxonomies a:hover {
  color: var(--stitch-primary-dim) !important;
  text-decoration: underline !important;
}
.single-post .entry-title {
  font-family: 'Newsreader', serif !important;
  font-size: clamp(2.1rem, 4.6vw, 3.15rem) !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;
  letter-spacing: -0.018em !important;
  color: var(--stitch-on-surface) !important;
  margin: 0 !important;
}

/* --- Body typography --- */
.single-post .entry-content {
  font-family: 'Manrope', sans-serif !important;
  font-size: 1.15rem !important;
  line-height: 1.8 !important;
  color: var(--stitch-on-surface) !important;
  padding: 1.5rem 1.25rem 2.5rem !important;
}
.single-post .entry-content p {
  margin: 0 0 1.45rem !important;
}
/* Lead paragraph = larger, quieter — sets an editorial tone */
.single-post .entry-content > p:first-of-type {
  font-size: 1.34rem;
  line-height: 1.62;
  color: var(--stitch-on-surface-variant);
}

/* --- Section headings --- */
.single-post .entry-content h2 {
  font-family: 'Newsreader', serif !important;
  font-size: clamp(1.65rem, 3vw, 2.15rem) !important;
  line-height: 1.18 !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  color: var(--stitch-on-surface) !important;
  margin: 2.9rem 0 1rem !important;
}
.single-post .entry-content h2::before {   /* terracotta accent rule */
  content: "";
  display: block;
  width: 2.5rem;
  height: 3px;
  background: var(--stitch-primary);
  border-radius: 2px;
  margin-bottom: 1.15rem;
}
.single-post .entry-content h3 {
  font-family: 'Newsreader', serif !important;
  font-size: 1.42rem !important;
  font-weight: 400 !important;
  color: var(--stitch-primary) !important;
  margin: 2.1rem 0 0.55rem !important;
}

/* --- Links --- */
.single-post .entry-content a {
  color: var(--stitch-primary) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(153, 63, 40, 0.4) !important;
  transition: text-decoration-color 0.2s ease;
}
.single-post .entry-content a:hover {
  text-decoration-color: var(--stitch-primary) !important;
}

/* --- Lists with terracotta dot markers --- */
.single-post .entry-content ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 0 1.6rem !important;
}
.single-post .entry-content ul li {
  position: relative;
  padding-left: 1.65rem;
  margin-bottom: 0.7rem;
  line-height: 1.62;
}
.single-post .entry-content ul li::before {
  content: "";
  position: absolute;
  left: 0.15rem;
  top: 0.7em;
  width: 0.46rem;
  height: 0.46rem;
  background: var(--stitch-primary);
  border-radius: 50%;
}

/* --- Inline images + captions (always centred in the reading column) --- */
.single-post .entry-content figure,
.single-post .entry-content .wp-block-image,
.single-post .entry-content .aligncenter,
.single-post .entry-content .alignleft,
.single-post .entry-content .alignright {
  margin: 2.35rem auto !important;
  text-align: center !important;
  float: none !important;
}
.single-post .entry-content figure img,
.single-post .entry-content .wp-block-image img,
.single-post .entry-content img {
  border-radius: 0.9rem !important;
  box-shadow: 0 16px 40px rgba(46, 47, 47, 0.09) !important;
  display: inline-block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.single-post .entry-content figcaption {
  font-family: 'Newsreader', serif !important;
  font-style: italic;
  font-size: 0.96rem !important;
  text-align: center;
  color: var(--stitch-on-surface-variant) !important;
  margin-top: 0.75rem !important;
}

/* --- Comment section: quiet, contained, on-brand --- */
.single-post #comments,
.single-post .comment-respond {
  padding: 2rem 1.25rem !important;
  border-top: 1px solid var(--stitch-surface-container) !important;
  margin-top: 2.5rem !important;
}
.single-post .comment-reply-title {
  font-family: 'Newsreader', serif !important;
  font-weight: 400 !important;
  color: var(--stitch-on-surface) !important;
}
.single-post .comment-form textarea,
.single-post .comment-form input[type="text"],
.single-post .comment-form input[type="email"] {
  border-radius: 0.6rem !important;
  border: 1px solid var(--stitch-outline-variant) !important;
  background: var(--stitch-surface-container-lowest) !important;
}

/* =========================================================================
   27. BLOG / CATEGORY ARCHIVE (Ratgeber index) — editorial cards (2026-07-04)
   The archive shared the same unstyled Kadence dark-grey `content-bg`: a dark
   empty hero box + dark card overlays with unreadable text. Rebuild as clean
   cream hero + white editorial cards. Scoped to .archive / .blog.
   ========================================================================= */

/* --- Archive hero: kill the dark box, show title + description on cream --- */
.archive .post-archive-hero-section,
.blog .post-archive-hero-section,
.archive .post-archive-hero-section .hero-section-overlay,
.blog .post-archive-hero-section .hero-section-overlay {
  background: var(--stitch-surface) !important;
  background-image: none !important;
}
.archive .post-archive-hero-section .entry-hero-container-inner,
.blog .post-archive-hero-section .entry-hero-container-inner {
  min-height: 0 !important;
  padding-top: 2.75rem !important;
  padding-bottom: 1.25rem !important;
}
.archive .page-title.archive-title,
.archive .archive-title,
.blog .archive-title {
  font-family: 'Newsreader', serif !important;
  font-weight: 400 !important;
  letter-spacing: -0.015em !important;
  color: var(--stitch-on-surface) !important;
  font-size: clamp(2.1rem, 4.5vw, 3rem) !important;
}
.archive .archive-title + *,
.archive .taxonomy-description,
.archive .archive-description,
.archive .post-archive-hero-section p {
  color: var(--stitch-on-surface-variant) !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 1.05rem !important;
}

/* --- Post cards: white, rounded, readable (kills dark grey content-bg) --- */
.archive .entry.content-bg.loop-entry,
.blog .entry.content-bg.loop-entry {
  background: var(--stitch-surface-container-lowest) !important;
  border-radius: 0.9rem !important;
  overflow: hidden !important;
  box-shadow: 0 14px 44px rgba(46, 47, 47, 0.07) !important;
  border: 1px solid var(--stitch-surface-container) !important;
}
.archive .loop-entry .entry-content-wrap,
.blog .loop-entry .entry-content-wrap {
  background: transparent !important;
  padding: 1.2rem 1.35rem 1.5rem !important;
}
/* card category eyebrow (terracotta) */
.archive .loop-entry .entry-taxonomies,
.archive .loop-entry .entry-taxonomies a,
.blog .loop-entry .entry-taxonomies,
.blog .loop-entry .entry-taxonomies a {
  font-family: 'Manrope', sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--stitch-primary) !important;
  text-decoration: none !important;
}
/* card title */
.archive .loop-entry .entry-title,
.blog .loop-entry .entry-title {
  margin: 0.45rem 0 0.5rem !important;
}
.archive .loop-entry .entry-title a,
.blog .loop-entry .entry-title a {
  font-family: 'Newsreader', serif !important;
  font-weight: 400 !important;
  color: var(--stitch-on-surface) !important;
  font-size: 1.3rem !important;
  line-height: 1.24 !important;
}
.archive .loop-entry .entry-title a:hover,
.blog .loop-entry .entry-title a:hover {
  color: var(--stitch-primary) !important;
}
/* card meta + excerpt readable */
.archive .loop-entry .entry-meta,
.archive .loop-entry .entry-meta a,
.blog .loop-entry .entry-meta,
.blog .loop-entry .entry-meta a {
  color: var(--stitch-on-surface-variant) !important;
}
.archive .loop-entry .entry-summary,
.archive .loop-entry .entry-summary p,
.archive .loop-entry .entry-content,
.blog .loop-entry .entry-summary {
  color: var(--stitch-on-surface-variant) !important;
}
/* Read more link */
.archive .loop-entry .more-link,
.blog .loop-entry .more-link {
  color: var(--stitch-primary) !important;
  font-weight: 600 !important;
}
/* card image: square top corners (card rounds the whole thing) */
.archive .loop-entry .post-thumbnail img,
.blog .loop-entry .post-thumbnail img {
  border-radius: 0 !important;
  box-shadow: none !important;
}
