.elementor-kit-32{--e-global-color-primary:#1A1A1A;--e-global-color-secondary:#555555;--e-global-color-text:#1A1A1A;--e-global-color-accent:#4A7C59;--e-global-color-0efbcd6:#4A7C59;--e-global-color-8cddc80:#C9A84C;--e-global-color-c98519a:#B94040;--e-global-color-a2f7153:#E0DED9;--e-global-color-b612728:#F5F4F0;--e-global-color-70c4a4a:#FFFFFF;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-size:48px;--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Playfair";--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:600;}.elementor-kit-32 button,.elementor-kit-32 input[type="button"],.elementor-kit-32 input[type="submit"],.elementor-kit-32 .elementor-button{background-color:#1A1A1A;font-family:"Inter", Sans-serif;font-size:14px;color:#FFFFFF;border-style:solid;border-radius:6px 6px 6px 6px;}.elementor-kit-32 button:hover,.elementor-kit-32 button:focus,.elementor-kit-32 input[type="button"]:hover,.elementor-kit-32 input[type="button"]:focus,.elementor-kit-32 input[type="submit"]:hover,.elementor-kit-32 input[type="submit"]:focus,.elementor-kit-32 .elementor-button:hover,.elementor-kit-32 .elementor-button:focus{background-color:#333333;color:#FFFFFF;}.elementor-kit-32 e-page-transition{background-color:#FFBC7D;}.elementor-kit-32 a{color:#1A1A1A;}.elementor-kit-32 a:hover{color:#4A7C59;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ABBL Shop-Design (übernommen aus Astra › Zusätzliches CSS, 2026-10-21). Hier pflegen: Elementor › Website-Einstellungen › Benutzerdefiniertes CSS */
/* =========================================================
   ABBL Compliance Cockpit — Shop Styleguide (überarbeitet)
   Schriften: Playfair Display (Überschriften) + Inter (Text)
   Einfügen: Customizer → Zusätzliches CSS
   ========================================================= */

/* ---------- Schriften ----------
   KEIN @import von fonts.googleapis.com (DSGVO, LG München I, 2022).
   Playfair Display + Inter stattdessen in Astra/Elementor auswählen
   und dort die Option "Google Fonts lokal laden" aktivieren. */


/* ---------- Farbvariablen ---------- */
:root {
  --abbl-bg:          #F5F4F0; /* warmes Off-White, Seitenhintergrund */
  --abbl-card:        #FFFFFF; /* Kartenhintergrund */
  --abbl-text:        #1A1A1A; /* Haupttext, Überschriften */
  --abbl-text-muted:  #555555; /* Sekundärtext, Beschreibungen */
  --abbl-border:      #E0DED9; /* Rahmen, Trennlinien */
  --abbl-success:     #4A7C59; /* Häkchen, Erfolg */
  --abbl-warning:     #C9A84C; /* Prüfbedarf */
  --abbl-danger:      #B94040; /* Kritisch */
  --abbl-button-hover:#333333; /* Hover-Zustand schwarzer Buttons */
}


/* ---------- Grundschriften ----------
   Größe nur am body — p, li usw. erben sie.
   (span entfernt: sonst würden Preise, Badges, Warenkorb-Zähler
   und Icons alle auf 16px gezwungen) */
body {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: var(--abbl-text);
}

input,
textarea,
select {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 16px;
  color: var(--abbl-text);
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  color: var(--abbl-text);
  line-height: 1.2;
}

h1, .h1 { font-size: 48px; }
h2, .h2 { font-size: 36px; }
h3, .h3 { font-size: 24px; }

.abbl-subtitle,
.elementor-widget-text-editor p {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 16px;
  color: var(--abbl-text-muted);
}


/* ---------- Seiten- und Kartenhintergrund ---------- */
body,
.site,
.ast-separate-container {
  background-color: var(--abbl-bg);
}

.abbl-card,
.woocommerce ul.products li.product,
.elementor-widget-woocommerce-products .product {
  background-color: var(--abbl-card);
  border: 1px solid var(--abbl-border);
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
  padding: 40px;
}


/* ---------- Buttons ----------
   Kein nacktes "button"-Selektor mehr: der würde auch Menü-Toggle,
   Suche, Mengen-Plus/Minus und Warenkorb-Icon schwarz färben.
   Auch .elementor-button NICHT hier: sonst wird Text von "Mein Konto"
   und Warenkorb-Button im Header weiß auf hellem Grund (unsichtbar).
   Elementor-Buttons werden direkt in Elementor gestaltet. */
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce input[type="submit"],
.wc-block-components-button,
.wp-block-button__link,
.ast-button {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  background-color: var(--abbl-text);
  color: #FFFFFF !important;
  border: none;
  border-radius: 6px;
  padding: 14px 24px;
  transition: background-color 0.2s ease;
  cursor: pointer;
}

.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce input[type="submit"]:hover,
.wc-block-components-button:hover,
.wp-block-button__link:hover,
.ast-button:hover {
  background-color: var(--abbl-button-hover);
  color: #FFFFFF !important;
}

.abbl-button-outline {
  background-color: transparent;
  color: var(--abbl-text) !important;
  border: 1px solid var(--abbl-border);
}

.abbl-button-outline:hover {
  background-color: var(--abbl-bg);
  color: var(--abbl-text) !important;
}


/* ---------- Preis-Darstellung auf Karten ---------- */
.abbl-price {
  font-family: 'Inter', Arial, sans-serif;
  font-weight: 700;
  font-size: 48px;
  color: var(--abbl-text);
}

.abbl-price-period {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 13px;
  color: var(--abbl-text-muted);
}


/* ---------- Trennlinien ---------- */
hr,
.abbl-divider {
  border: none;
  border-top: 1px solid var(--abbl-border);
  margin: 16px 0;
}


/* ---------- Häkchen-Liste (Icon List) ---------- */
.abbl-feature-list .elementor-icon-list-icon i,
.abbl-feature-list .elementor-icon-list-icon svg {
  color: var(--abbl-success);
  fill: var(--abbl-success);
}

.abbl-feature-list .elementor-icon-list-text {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 15px;
  color: var(--abbl-text);
}


/* ---------- "Am beliebtesten"-Badge ---------- */
.abbl-badge-popular {
  display: inline-block;
  background-color: var(--abbl-text);
  color: #FFFFFF;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
}


/* ---------- Warenkorb & Kasse (Block-Version) ----------
   Produktbeschreibung unter dem Produktnamen ausblenden,
   Bild, Name, Preis und Menge bleiben sichtbar. */
.wc-block-cart .wc-block-components-product-metadata__description,
.wc-block-checkout .wc-block-components-product-metadata__description,
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description {
  display: none;
}


/* ---------- Footer ---------- */
.abbl-footer,
footer.site-footer {
  background-color: var(--abbl-bg);
  border-top: 1px solid var(--abbl-border);
}

.abbl-footer a,
footer.site-footer a {
  color: var(--abbl-text);
  font-family: 'Inter', Arial, sans-serif;
  font-size: 14px;
}

.abbl-footer a:hover,
footer.site-footer a:hover {
  color: var(--abbl-text-muted);
}

.abbl-footer .abbl-copyright {
  color: var(--abbl-text-muted);
  font-size: 14px;
}


/* ---------- Kasse / Buchung abschließen (Block-Checkout) ----------
   Gleiche Inhaltsbreite wie Header und Produktseite (1100 px). */
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-order-received .entry-header,
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-received .wc-block-order-confirmation-status,
body.woocommerce-order-received .entry-content > * {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.woocommerce-checkout .entry-title {
  font-size: 40px;
  margin-bottom: 8px;
}

/* Eingabefelder: Beschriftung überlappt sonst den Text */
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select {
  line-height: 1.25 !important;
  background-color: var(--abbl-card);
  border-color: var(--abbl-border) !important;
  border-radius: 6px !important;
}

.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
  border-color: var(--abbl-text) !important;
  box-shadow: 0 0 0 1px var(--abbl-text) !important;
}

/* Abschnittsüberschriften im Formular */
.wc-block-components-checkout-step__title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px !important;
  font-weight: 700;
}

/* Bestellübersicht rechts als Karte */
.wp-block-woocommerce-checkout-order-summary-block {
  background-color: var(--abbl-card) !important;
  border: 1px solid var(--abbl-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  overflow: hidden;
}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper {
  padding-left: 16px !important;
  padding-right: 16px !important;
}
@media (max-width: 767px) {
  body.woocommerce-checkout .entry-header { margin-top: 24px; }
  body.woocommerce-checkout .entry-title { font-size: 32px; }
}

.wc-block-components-order-summary-item__quantity {
  display: none !important; /* immer genau ein Paket */
}

/* Bestellhinweis ausblenden (nicht benötigt) */
.wc-block-checkout__order-notes,
.wc-block-checkout__add-note {
  display: none !important;
}

/* Link "Paket ändern" unter der Bestellübersicht */
.abbl-change-plan {
  margin: 12px 0 0;
  font-size: 14px;
  color: var(--abbl-text-muted);
}
.abbl-change-plan a {
  color: var(--abbl-text);
  text-decoration: underline;
}

/* Bestell-Button */
.wc-block-components-checkout-place-order-button {
  min-height: 52px;
  font-size: 16px !important;
}

/* Rechtliche Checkbox (Germanized) etwas luftiger */
.wc-gzd-checkbox-placeholder,
.wc-block-checkout__terms {
  font-size: 14px;
  line-height: 1.5;
}


/* ---------- Danke-Seite (Bestellbestätigung) ---------- */
.woocommerce-order .woocommerce-thankyou-order-received,
.wc-block-order-confirmation-status {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 28px;
  font-weight: 700;
  color: var(--abbl-text);
  margin: 8px 0 24px;
}

.abbl-next-steps {
  background-color: var(--abbl-card);
  border: 1px solid var(--abbl-border);
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  padding: 32px;
  margin: 0 0 40px;
}
.abbl-next-steps h2 {
  font-size: 24px;
  margin: 0 0 20px;
}
.abbl-next-steps ol {
  list-style: none;
  counter-reset: abbl-step;
  margin: 0;
  padding: 0;
}
.abbl-next-steps li {
  counter-increment: abbl-step;
  position: relative;
  padding: 0 0 18px 48px;
}
.abbl-next-steps li::before {
  content: counter(abbl-step);
  position: absolute;
  left: 0;
  top: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: var(--abbl-text);
  color: #FFFFFF;
  font-weight: 600;
  font-size: 15px;
  line-height: 32px;
  text-align: center;
}
.abbl-next-steps li strong {
  display: block;
  color: var(--abbl-text);
  margin-bottom: 2px;
}
.abbl-next-steps li span {
  color: var(--abbl-text-muted);
  font-size: 15px;
}
.abbl-next-steps__links {
  border-top: 1px solid var(--abbl-border);
  padding-top: 16px;
  margin: 4px 0 0;
  font-size: 14px;
  color: var(--abbl-text-muted);
}
.abbl-next-steps__links a {
  color: var(--abbl-text);
  text-decoration: underline;
}

/* Bestellübersicht (Nummer, Datum, Summe) als ruhige Leiste */
.woocommerce-order ul.woocommerce-order-overview {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 32px;
  list-style: none;
  margin: 0 0 32px;
  padding: 20px 24px;
  background-color: var(--abbl-card);
  border: 1px solid var(--abbl-border);
  border-radius: 12px;
}
.woocommerce-order ul.woocommerce-order-overview li {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--abbl-text-muted);
}
.woocommerce-order ul.woocommerce-order-overview li strong {
  display: block;
  font-size: 16px;
  text-transform: none;
  letter-spacing: 0;
  color: var(--abbl-text);
}

@media (max-width: 767px) {
  .abbl-next-steps { padding: 24px 20px; }
}


/* ---------- Kasse – Feinschliff (Karten-Layout wie Produktseite) ---------- */
/* Formular links als weiße Karte */
.wc-block-checkout__main .wc-block-checkout__form {
  background-color: var(--abbl-card);
  border: 1px solid var(--abbl-border);
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  padding: 32px 32px 24px;
}

/* Abschnitte im Formular: ruhiger, mit Trennlinie */
.wc-block-checkout__form .wc-block-components-checkout-step {
  margin-bottom: 28px !important;
}
.wc-block-checkout__form .wc-block-components-checkout-step + .wc-block-components-checkout-step {
  border-top: 1px solid var(--abbl-border);
  padding-top: 24px !important;
}
.wc-block-components-checkout-step__title {
  font-size: 20px !important;
  margin-bottom: 4px !important;
}
.wc-block-components-checkout-step__heading {
  margin-bottom: 12px !important;
}

/* Eingabefelder etwas höher, ruhiger Rahmen */
.wc-block-checkout__form .wc-block-components-text-input input,
.wc-block-checkout__form .wc-blocks-components-select .wc-blocks-components-select__select {
  min-height: 52px;
}

/* Rechte Spalte: mitlaufend, Elemente in fester Reihenfolge */
@media (min-width: 768px) {
  .wc-block-checkout__sidebar {
    position: sticky !important;
    top: 24px;
  }
}
.wc-block-checkout__sidebar {
  display: flex;
  flex-direction: column;
}
.wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block {
  margin-bottom: 16px !important;
}
.wc-block-checkout__sidebar .abbl-change-plan {
  order: 10;
  margin: 14px 0 0;
  text-align: center;
}

/* Kopf der Bestellübersicht */
.wc-block-components-checkout-order-summary__title {
  padding: 16px 16px 12px !important;
  border-bottom: 1px solid var(--abbl-border);
  margin: 0 !important;
}
.wc-block-components-checkout-order-summary__title-text {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 20px !important;
  font-weight: 700 !important;
}

/* Paketname in der Übersicht */
.wc-block-components-order-summary-item__description .wc-block-components-product-name {
  font-weight: 600;
  color: var(--abbl-text);
}

/* Gesamtsumme + Button als eine Karte (Germanized-Bereich) */
.wc-gzd-checkout-submit {
  background-color: var(--abbl-card);
  border: 1px solid var(--abbl-border);
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  padding: 4px 16px 16px;
}
.wc-gzd-checkout-submit .wp-block-woocommerce-checkout-order-summary-block {
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.wc-gzd-checkout-submit .wc-block-components-checkout-order-summary__title {
  display: none !important;
}
.wc-gzd-checkout-submit .wc-block-components-totals-wrapper {
  border-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 20px !important;
  font-weight: 700 !important;
}
.wc-gzd-checkout-submit .wc-block-checkout__actions_row,
.wc-gzd-checkout-submit .wc-block-components-checkout-place-order-button {
  width: 100%;
}

/* Hinweiszeile unter dem Button */
.abbl-trust {
  margin: 10px 0 0;
  font-size: 13px;
  color: var(--abbl-text-muted);
  text-align: center;
}

@media (max-width: 767px) {
  .wc-block-checkout__main .wc-block-checkout__form {
    padding: 24px 16px 16px;
  }
}

.wc-gzd-checkout-submit .wc-block-checkout__actions {
  padding: 12px 0 0 !important;
  margin: 0 !important;
}


/* ---------- Header mobil: Logo mittig, Menü rechts ---------- */
@media (max-width: 767px) {
  .elementor-location-header .e-con-inner {
    position: relative;
    min-height: 76px;
    align-items: center !important;
    justify-content: flex-end !important;
  }
  .elementor-location-header .elementor-widget-theme-site-logo {
    position: absolute !important;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 78px !important;
    max-width: 78px !important;
    margin: 0 !important;
    z-index: 2;
  }
  .elementor-location-header .elementor-widget-theme-site-logo img {
    width: 78px !important;
    height: auto !important;
  }
}

/* Produktseite mobil: Astra-Rand entfernen, Abstand regelt Elementor (20 px wie Header) */
@media (max-width: 767px) {
  body.single-product .site-content > .ast-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


/* ---------- Mein Konto ---------- */
/* Navigation links als eine ruhige Karte */
.elementor-widget-woocommerce-my-account .woocommerce-MyAccount-navigation ul {
  background-color: var(--abbl-card) !important;
  border: 1px solid var(--abbl-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  padding: 8px !important;
  margin: 0 !important;
}
.elementor-widget-woocommerce-my-account .woocommerce-MyAccount-navigation li {
  margin: 0 0 2px !important;
}
.elementor-widget-woocommerce-my-account .woocommerce-MyAccount-navigation li a {
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: 11px 14px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--abbl-text) !important;
  line-height: 1.35 !important;
}
.elementor-widget-woocommerce-my-account .woocommerce-MyAccount-navigation li a:hover {
  background-color: var(--abbl-bg) !important;
}
.elementor-widget-woocommerce-my-account .woocommerce-MyAccount-navigation li.is-active a {
  background-color: var(--abbl-text) !important;
  color: #FFFFFF !important;
}
.elementor-widget-woocommerce-my-account .woocommerce-MyAccount-navigation-link--customer-logout {
  border-top: 1px solid var(--abbl-border);
  margin-top: 6px !important;
  padding-top: 6px;
}
.elementor-widget-woocommerce-my-account .woocommerce-MyAccount-navigation-link--customer-logout a {
  color: var(--abbl-text-muted) !important;
}

/* Links im Inhalt: dunkel statt grün */
.woocommerce-MyAccount-content a:not(.button):not(.abbl-dash__tile):not(.woocommerce-button) {
  color: var(--abbl-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Übersicht: eigener Inhalt statt Standardtext */
.woocommerce-MyAccount-content-wrapper:has(.abbl-dash) > p {
  display: none !important;
}
.abbl-dash__title {
  font-size: 28px;
  margin: 0 0 6px;
}
.abbl-dash__lead {
  color: var(--abbl-text-muted);
  margin: 0 0 24px;
}
.abbl-dash__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: 24px;
}
.abbl-dash__tile {
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 16px;
  row-gap: 2px;
  padding: 16px 20px;
  background-color: var(--abbl-bg);
  border: 1px solid var(--abbl-border);
  border-radius: 10px;
  color: var(--abbl-text) !important;
  text-decoration: none !important;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.abbl-dash__tile:hover {
  border-color: var(--abbl-text);
  background-color: var(--abbl-card);
}
.abbl-dash__tile strong {
  font-size: 16px;
}
.abbl-dash__tile span {
  font-size: 14px;
  color: var(--abbl-text-muted);
  line-height: 1.45;
}
.abbl-dash__tile em {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  font-style: normal;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}
.abbl-dash__note {
  font-size: 14px;
  color: var(--abbl-text-muted);
  border-top: 1px solid var(--abbl-border);
  padding-top: 16px;
  margin: 0;
}

@media (max-width: 767px) {
  body.woocommerce-account .site-content > .ast-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .woocommerce-MyAccount-content { padding-left: 0 !important; }
  .abbl-dash__title { font-size: 24px; }
}
.abbl-dash .abbl-dash__title {
  margin: 0 0 6px !important;
}
@media (max-width: 767px) {
  .elementor-widget-woocommerce-my-account .woocommerce-MyAccount-content-wrapper {
    padding: 20px !important;
  }
}


/* ---------- Rechtliche Seiten (Impressum, AGB, Datenschutz, Kündigung) ---------- */
body.abbl-legal .entry-header,
body.abbl-legal .entry-content {
  max-width: 1100px;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.abbl-legal .entry-header {
  margin-top: 24px;
  margin-bottom: 24px !important;
}
body.abbl-legal .entry-header::before {
  content: "Rechtliches";
  display: block;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--abbl-success);
  margin-bottom: 10px;
}
body.abbl-legal .entry-title {
  font-size: 44px !important;
  line-height: 1.15;
  margin: 0;
}

/* Inhalt als weiße Karte mit angenehmer Zeilenlänge */
body.abbl-legal .entry-content {
  background-color: var(--abbl-card);
  border: 1px solid var(--abbl-border);
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  padding: 48px 56px;
  margin-bottom: 80px !important;
}
body.abbl-legal .entry-content > * {
  max-width: 720px;
}
body.abbl-legal .entry-content h2 {
  font-size: 22px !important;
  line-height: 1.3;
  margin: 36px 0 12px !important;
  padding-top: 28px;
  border-top: 1px solid var(--abbl-border);
}
body.abbl-legal .entry-content > h2:first-child {
  margin-top: 0 !important;
  padding-top: 0;
  border-top: 0;
}
body.abbl-legal .entry-content h3 {
  font-size: 18px !important;
  margin: 24px 0 8px !important;
}
body.abbl-legal .entry-content p,
body.abbl-legal .entry-content li {
  font-size: 16px;
  line-height: 1.7;
  color: #333333;
}
body.abbl-legal .entry-content p {
  margin: 0 0 14px;
}
body.abbl-legal .entry-content a {
  color: var(--abbl-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.abbl-legal .entry-content strong {
  color: var(--abbl-text);
}

/* Hinweis "wird vorbereitet" */
body.abbl-legal .abbl-legal-note {
  background-color: var(--abbl-bg);
  border-left: 3px solid var(--abbl-warning);
  border-radius: 6px;
  padding: 16px 20px;
  margin: 0 !important;
}

@media (max-width: 767px) {
  body.abbl-legal .site-content > .ast-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  body.abbl-legal .entry-title { font-size: 32px !important; }
  body.abbl-legal .entry-content {
    padding: 24px 20px;
    margin-bottom: 48px !important;
  }
  body.abbl-legal .entry-content h2 { font-size: 20px !important; }
}


/* ---------- Footer (Elementor Fußzeile #135) ---------- */
.abbl-foot-text p {
  font-size: 14px !important;
  line-height: 1.6;
  color: var(--abbl-text-muted) !important;
  max-width: 360px;
  margin: 0;
}
.abbl-foot-title .elementor-heading-title {
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--abbl-text) !important;
}
.abbl-foot-links ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.abbl-foot-links li {
  margin: 0 0 10px;
}
.abbl-foot-links a {
  font-size: 14px;
  color: var(--abbl-text-muted) !important;
  text-decoration: none;
}
.abbl-foot-links a:hover {
  color: var(--abbl-text) !important;
  text-decoration: underline;
}
.abbl-foot-small p {
  font-size: 13px !important;
  color: var(--abbl-text-muted) !important;
  margin: 0;
}


/* ---------- Demnächst-verfügbar-Seite (WooCommerce Coming Soon) ---------- */
.abbl-coming-soon .abbl-cs-card {
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  width: 100%;
  max-width: 640px;
}
.abbl-coming-soon .abbl-cs-eyebrow {
  font-size: 13px !important;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--abbl-success) !important;
  margin: 0 !important;
}
.abbl-coming-soon h1 {
  font-size: 40px !important;
  line-height: 1.15 !important;
  margin: 8px 0 0 !important;
}
.abbl-coming-soon .abbl-cs-lead {
  font-size: 16px !important;
  line-height: 1.65;
  color: var(--abbl-text-muted) !important;
}
.abbl-coming-soon .wp-block-button__link {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  border-radius: 6px !important;
  padding: 14px 24px !important;
}
.abbl-coming-soon .abbl-cs-primary .wp-block-button__link {
  background-color: var(--abbl-text) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--abbl-text) !important;
}
.abbl-coming-soon .abbl-cs-secondary .wp-block-button__link {
  background-color: transparent !important;
  color: var(--abbl-text) !important;
  border: 1px solid var(--abbl-border) !important;
}
.abbl-coming-soon .abbl-cs-legal,
.abbl-coming-soon .abbl-cs-legal a {
  font-size: 13px !important;
  color: var(--abbl-text-muted) !important;
}
@media (max-width: 767px) {
  .abbl-coming-soon h1 { font-size: 30px !important; }
  .abbl-coming-soon .abbl-cs-card {
    padding: 32px 20px !important;
  }
}


/* ---------- 404-Seite ---------- */
.abbl-404 {
  max-width: 640px;
  margin: 56px auto 96px;
  padding: 48px 40px;
  text-align: center;
  background-color: var(--abbl-card);
  border: 1px solid var(--abbl-border);
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
}
.abbl-404__code {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--abbl-success);
  margin: 0 0 8px;
}
.abbl-404__title {
  font-size: 40px !important;
  margin: 0 0 12px !important;
}
.abbl-404__text {
  color: var(--abbl-text-muted);
  margin: 0 0 28px;
}
.abbl-404__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-bottom: 20px;
}
.abbl-404__btn {
  display: inline-block;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 24px;
  border-radius: 6px;
  border: 1px solid var(--abbl-border);
  color: var(--abbl-text) !important;
  text-decoration: none !important;
}
.abbl-404__btn--primary {
  background-color: var(--abbl-text);
  border-color: var(--abbl-text);
  color: #FFFFFF !important;
}
.abbl-404__small {
  font-size: 14px;
  color: var(--abbl-text-muted);
  margin: 0;
}
.abbl-404__small a {
  color: var(--abbl-text);
  text-decoration: underline;
}
@media (max-width: 767px) {
  .abbl-404 { margin: 32px 20px 56px; padding: 32px 20px; }
  .abbl-404__title { font-size: 30px !important; }
}


/* ---------- Mein Konto – Anmeldung (abgemeldet) ---------- */
/* "Ihr Abonnement" ist ohne Anmeldung leer → ausblenden */
body.woocommerce-account:not(.logged-in) .elementor-element-90014ef {
  display: none !important;
}

/* Login als eine Karte */
.elementor-widget-woocommerce-my-account .woocommerce:has(form.woocommerce-form-login),
.elementor-widget-woocommerce-my-account .woocommerce:has(form.woocommerce-ResetPassword) {
  background-color: var(--abbl-card);
  border: 1px solid var(--abbl-border);
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  padding: 32px;
}
.elementor-widget-woocommerce-my-account .woocommerce:has(form.woocommerce-form-login) > h2 {
  font-size: 24px !important;
  margin: 0 0 8px !important;
}
.elementor-widget-woocommerce-my-account form.woocommerce-form-login,
.elementor-widget-woocommerce-my-account form.woocommerce-ResetPassword {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

/* Hinweis: Shop-Konto ≠ Cockpit-Zugang */
.abbl-login-hint {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background-color: var(--abbl-bg);
  border: 1px solid var(--abbl-border);
  border-radius: 8px;
  padding: 14px 16px;
  margin: 0 0 24px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--abbl-text-muted);
}
.abbl-login-hint strong {
  color: var(--abbl-text);
  font-size: 15px;
}
.abbl-login-hint a {
  color: var(--abbl-text) !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Felder */
.elementor-widget-woocommerce-my-account form.woocommerce-form-login .form-row,
.elementor-widget-woocommerce-my-account form.woocommerce-ResetPassword .form-row {
  padding: 0 !important;
  margin: 0 0 18px !important;
}
.elementor-widget-woocommerce-my-account form.woocommerce-form-login label,
.elementor-widget-woocommerce-my-account form.woocommerce-ResetPassword label {
  display: block;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--abbl-text) !important;
  margin-bottom: 6px !important;
}
.elementor-widget-woocommerce-my-account form.woocommerce-form-login .required {
  color: var(--abbl-text-muted) !important;
}
.elementor-widget-woocommerce-my-account form.woocommerce-form-login input.input-text,
.elementor-widget-woocommerce-my-account form.woocommerce-ResetPassword input.input-text {
  width: 100%;
  min-height: 52px;
  padding: 12px 14px !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  color: var(--abbl-text) !important;
  background-color: var(--abbl-card) !important;
  border: 1px solid var(--abbl-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
.elementor-widget-woocommerce-my-account form.woocommerce-form-login input.input-text:focus,
.elementor-widget-woocommerce-my-account form.woocommerce-ResetPassword input.input-text:focus {
  border-color: var(--abbl-text) !important;
  outline: 2px solid rgba(26, 26, 26, 0.12);
  outline-offset: 0;
}
.elementor-widget-woocommerce-my-account form.woocommerce-form-login .password-input {
  display: block;
  position: relative;
}
.elementor-widget-woocommerce-my-account form.woocommerce-form-login .show-password-input {
  top: 50% !important;
  transform: translateY(-50%);
  right: 12px !important;
}

/* Zeile: Angemeldet bleiben + Button */
.elementor-widget-woocommerce-my-account form.woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 8px !important;
}
.elementor-widget-woocommerce-my-account form.woocommerce-form-login .form-row:has(.woocommerce-form-login__submit)::before,
.elementor-widget-woocommerce-my-account form.woocommerce-form-login .form-row:has(.woocommerce-form-login__submit)::after {
  display: none !important;
  content: none !important;
}
.elementor-widget-woocommerce-my-account .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  font-weight: 400 !important;
  color: var(--abbl-text-muted) !important;
}
.elementor-widget-woocommerce-my-account .woocommerce-form-login__rememberme input {
  width: 18px;
  height: 18px;
  accent-color: var(--abbl-text);
  margin: 0 !important;
}

/* Button wie auf der Website */
.elementor-widget-woocommerce-my-account form.woocommerce-form-login .woocommerce-form-login__submit,
.elementor-widget-woocommerce-my-account form.woocommerce-ResetPassword button[type="submit"] {
  background-color: var(--abbl-text) !important;
  color: #FFFFFF !important;
  border: 0 !important;
  border-radius: 6px !important;
  padding: 14px 28px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  min-width: 160px;
  margin: 0 !important;
  transition: background-color 0.2s ease;
}
.elementor-widget-woocommerce-my-account form.woocommerce-form-login .woocommerce-form-login__submit:hover,
.elementor-widget-woocommerce-my-account form.woocommerce-ResetPassword button[type="submit"]:hover {
  background-color: #333333 !important;
}

/* Passwort vergessen */
.elementor-widget-woocommerce-my-account .woocommerce-LostPassword {
  border-top: 1px solid var(--abbl-border);
  padding-top: 16px !important;
  margin: 8px 0 0 !important;
  font-size: 14px;
}
.elementor-widget-woocommerce-my-account .woocommerce-LostPassword a {
  color: var(--abbl-text) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Unter der Karte: neu hier */
.abbl-login-after {
  margin: 16px 0 0;
  font-size: 14px;
  color: var(--abbl-text-muted);
}
.abbl-login-after a {
  color: var(--abbl-text) !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Passwort vergessen: Einleitung */
.elementor-widget-woocommerce-my-account form.woocommerce-ResetPassword > p:first-child {
  color: var(--abbl-text-muted);
  margin-bottom: 20px !important;
}

@media (max-width: 767px) {
  .elementor-widget-woocommerce-my-account .woocommerce:has(form.woocommerce-form-login),
  .elementor-widget-woocommerce-my-account .woocommerce:has(form.woocommerce-ResetPassword) {
    padding: 24px 20px;
  }
  .elementor-widget-woocommerce-my-account form.woocommerce-form-login .woocommerce-form-login__submit {
    width: 100%;
  }
}


/* ---------- Kündigungsformular (Seite 339) ---------- */
body.page-id-339 .elementor-form .elementor-field-group {
  margin-bottom: 18px !important;
}
body.page-id-339 .elementor-form .elementor-field-label {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--abbl-text) !important;
  margin-bottom: 6px !important;
}
body.page-id-339 .elementor-form .elementor-mark-required .elementor-field-label::after {
  color: var(--abbl-text-muted) !important;
}
body.page-id-339 .elementor-form .elementor-field-textual,
body.page-id-339 .elementor-form select.elementor-field {
  min-height: 48px;
  padding: 10px 14px !important;
  font-size: 16px !important;
  color: var(--abbl-text) !important;
  background-color: var(--abbl-card) !important;
  border: 1px solid var(--abbl-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
body.page-id-339 .elementor-form textarea.elementor-field-textual {
  min-height: 110px;
}
body.page-id-339 .elementor-form .elementor-field-textual:focus,
body.page-id-339 .elementor-form select.elementor-field:focus {
  border-color: var(--abbl-text) !important;
  outline: 2px solid rgba(26, 26, 26, 0.12);
  outline-offset: 0;
}
body.page-id-339 .elementor-form .elementor-select-wrapper::before {
  right: 14px;
}

/* Auswahlfelder (Art, Zeitpunkt) als ruhige Optionen */
body.page-id-339 .elementor-form .elementor-field-subgroup {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.page-id-339 .elementor-form .elementor-field-subgroup .elementor-field-option {
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin: 0 !important;
  padding: 12px 14px;
  background-color: var(--abbl-card);
  border: 1px solid var(--abbl-border);
  border-radius: 8px;
  cursor: pointer;
}
body.page-id-339 .elementor-form .elementor-field-subgroup .elementor-field-option:has(input:checked) {
  border-color: var(--abbl-text);
  background-color: var(--abbl-bg);
}
body.page-id-339 .elementor-form .elementor-field-subgroup input {
  width: 18px;
  height: 18px;
  margin: 0 !important;
  accent-color: var(--abbl-text);
}
body.page-id-339 .elementor-form .elementor-field-subgroup label {
  font-size: 15px;
  color: var(--abbl-text);
  cursor: pointer;
}

/* Button */
body.page-id-339 .elementor-form .elementor-button[type="submit"] {
  min-height: 52px;
  background-color: var(--abbl-text) !important;
  color: #FFFFFF !important;
  border-radius: 6px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin-top: 8px;
}
body.page-id-339 .elementor-form .elementor-button[type="submit"]:hover {
  background-color: #333333 !important;
}

/* Erfolgs- und Fehlermeldungen */
body.page-id-339 .elementor-message {
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 8px;
  font-size: 15px;
}
body.page-id-339 .elementor-message.elementor-message-success {
  background-color: var(--abbl-bg);
  border: 1px solid var(--abbl-border);
  color: var(--abbl-text);
}

/* ---------- Anpassung an Hello Elementor (Theme-Wechsel, 21.10.2026) ----------
   Hello setzt eigene Standardfarben (pinke Links/Buttons). Hier auf ABBL-Stil zurücksetzen. */
a { color: var(--abbl-text); }
a:hover, a:focus { color: var(--abbl-success); }

/* Alle Shop-Buttons: schwarz, weiße Schrift, 6px Radius */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.elementor-widget-woocommerce-product-add-to-cart .button,
.woocommerce-form-login__submit,
.woocommerce-ResetPassword button[type="submit"],
.woocommerce-Button,
.wc-block-components-button:not(.is-link),
.wc-block-components-checkout-place-order-button {
  background-color: var(--abbl-text) !important;
  color: #FFFFFF !important;
  border: 0 !important;
  border-radius: 6px !important;
  font-family: 'Inter', Arial, sans-serif !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.elementor-widget-woocommerce-product-add-to-cart .button:hover,
.woocommerce-form-login__submit:hover,
.woocommerce-Button:hover,
.wc-block-components-button:not(.is-link):hover,
.wc-block-components-checkout-place-order-button:hover {
  background-color: var(--abbl-button-hover) !important;
  color: #FFFFFF !important;
}
.wc-block-components-button:not(.is-link) .wc-block-components-button__text,
.wc-block-components-checkout-place-order-button .wc-block-components-button__text { color: #FFFFFF !important; }

/* Textlinks im Shop: dunkel, unterstrichen (statt Pink) */
.abbl-change-plan a,
.woocommerce-LostPassword a,
.woocommerce-privacy-policy-text a,
.wc-block-components-checkbox a,
.wc-gzd-checkbox-placeholder a,
.elementor-widget-text-editor a {
  color: var(--abbl-text) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Seitentitel von Seiten ohne Elementor (z. B. Kasse) im Stil der Überschriften */
.page-header .entry-title,
.site-main > .page-header h1 {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  color: var(--abbl-text);
}
.site-main { max-width: 1140px; margin-left: auto; margin-right: auto; padding-left: 20px; padding-right: 20px; }

/* ---------- Rechtliche Seiten & 404 unter Hello Elementor ---------- */
body.abbl-legal .site-main { max-width: 820px; padding-top: 56px; padding-bottom: 96px; }
body.abbl-legal .page-header .entry-title { font-size: 44px; line-height: 1.15; margin: 0 0 32px; }
body.abbl-legal .page-content h2 { font-size: 26px; line-height: 1.3; margin: 44px 0 12px; }
body.abbl-legal .page-content h3 { font-size: 20px; line-height: 1.35; margin: 28px 0 8px; }
body.abbl-legal .page-content h4 { font-family: 'Inter', Arial, sans-serif; font-size: 16px; margin: 20px 0 6px; }
body.abbl-legal .page-content p,
body.abbl-legal .page-content li { font-size: 16px; line-height: 1.7; color: var(--abbl-text-muted); }
body.abbl-legal .page-content strong { color: var(--abbl-text); }
@media (max-width: 767px) {
  body.abbl-legal .site-main { padding-top: 32px; padding-bottom: 64px; }
  body.abbl-legal .page-header .entry-title { font-size: 32px; }
  body.abbl-legal .page-content h2 { font-size: 22px; }
}
.abbl-404-wrap { padding-top: 80px; padding-bottom: 120px; }

/* ---------- Feinschliff 2026-10: Schrift, Logo, Paketkarten ---------- */
/* Schärfere, ruhigere Typografie */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" 1, "liga" 1;
}
h1, h2, h3, .elementor-heading-title {
  letter-spacing: -0.01em;
  font-optical-sizing: auto;
}
:root { --abbl-text-muted: #4D4D4D; }

/* Logo im Header: transparent, scharf, ohne Kasten */
.abbl-logo img {
  background: transparent !important;
  image-rendering: -webkit-optimize-contrast;
  height: auto;
}
.elementor-location-header { border-bottom: 1px solid var(--abbl-border); }

/* Paketkarten: gleiche Höhe, Button unten bündig, Badge auf der Kante */
.abbl-plan-row { align-items: stretch !important; }
.abbl-plan-card {
  position: relative;
  transition: transform .2s ease, box-shadow .2s ease;
}
.abbl-plan-card:hover { transform: translateY(-2px); }
.abbl-plan-card > .elementor-widget-button {
  margin-top: auto !important;
  padding-top: 20px;
}
.abbl-plan-card .elementor-icon-list-items { margin-top: 8px; }
.abbl-plan-badge {
  position: absolute !important;
  top: -13px;
  left: 40px;
  width: auto !important;
  margin: 0 !important;
  z-index: 2;
}
.abbl-plan-badge .elementor-heading-title {
  display: inline-block;
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
  text-shadow: none !important;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .abbl-plan-badge { left: 24px; }
  .abbl-plan-card--featured { margin-top: 12px; }
}

/* Paket-Einleitung zentriert, wie im Cockpit */
.abbl-plans-intro { align-items: center !important; justify-content: center !important; }
.abbl-plans-intro, .abbl-plans-intro * { text-align: center !important; }
.abbl-plans-section .elementor-element-952eaea { margin-bottom: 4px; }
.abbl-plans-intro { margin-bottom: 40px !important; }
.abbl-plans-section > p.e-paragraph-base { text-align: center !important; margin: 0 0 40px !important; color: var(--abbl-text-muted); font-size: 17px; }

/* Paketkarten: weiche, mehrstufige Schatten */
.abbl-plan-card {
  box-shadow:
    0 1px 2px rgba(26, 26, 26, 0.04),
    0 4px 12px rgba(26, 26, 26, 0.05),
    0 16px 36px rgba(26, 26, 26, 0.07) !important;
}
.abbl-plan-card--featured {
  box-shadow:
    0 1px 2px rgba(26, 26, 26, 0.06),
    0 8px 20px rgba(26, 26, 26, 0.08),
    0 28px 56px rgba(26, 26, 26, 0.12) !important;
}
.abbl-plan-card:hover {
  box-shadow:
    0 2px 4px rgba(26, 26, 26, 0.05),
    0 8px 20px rgba(26, 26, 26, 0.07),
    0 24px 48px rgba(26, 26, 26, 0.10) !important;
}
.abbl-plan-card--featured:hover {
  box-shadow:
    0 2px 4px rgba(26, 26, 26, 0.07),
    0 12px 28px rgba(26, 26, 26, 0.10),
    0 36px 64px rgba(26, 26, 26, 0.14) !important;
}

/* Header-Logo als Wortmarke (Schild + Live-Text, gestochen scharf) */
.abbl-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none !important;
  color: var(--abbl-text) !important;
}
.abbl-brand__mark {
  display: block;
  width: 30px;
  height: auto;
}
.abbl-brand__text {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.abbl-brand__name {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--abbl-text);
}
.abbl-brand__sub {
  white-space: nowrap;
  margin-top: 5px;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--abbl-text-muted);
}
.abbl-brand:hover .abbl-brand__name { color: var(--abbl-text); }
@media (max-width: 767px) {
  .abbl-brand { gap: 10px; }
  .abbl-brand__mark { width: 26px; }
  .abbl-brand__name { font-size: 21px; }
  .abbl-brand__sub { font-size: 9.5px; letter-spacing: 0.14em; }
}

.abbl-brand-widget { flex-shrink: 0 !important; min-width: max-content; }

/* Kasse: Vorschau-Hinweis statt roter Fehlermeldung, solange kein Zahlungsanbieter verbunden ist.
   Verschwindet automatisch, sobald Zahlungsarten aktiv sind. */
.wc-block-checkout__no-payment-methods-notice {
  background: var(--abbl-bg) !important;
  border: 1px solid var(--abbl-border) !important;
  border-radius: 8px !important;
  color: var(--abbl-text) !important;
  padding: 16px 18px !important;
}
.wc-block-checkout__no-payment-methods-notice > svg,
.wc-block-checkout__no-payment-methods-notice .wc-block-components-notice-banner__content { display: none !important; }
.wc-block-checkout__no-payment-methods-notice::after {
  content: "Vorschau: Die Zahlungsarten werden zum Start des Shops freigeschaltet.";
  font-size: 15px;
  line-height: 1.5;
  color: var(--abbl-text-muted);
}/* End custom CSS */