/*
Theme Name:     Freiluft Child
Template:       freiluft
Version:        1.0.0
*/

/* ========================================
   Globale Farben
   ======================================== */

/* Globale Schriftfarbe - NICHT auf Startseite anwenden */
body:not(.home),
body:not(.home) *:not(.elementor-button):not(.button):not(a.button):not(button.button) {
  color: #121212 !important;
}

/* Startseite - Schriftfarbe #efeeee (außer Header/Navbar) - NUR auf Home */
/* Buttons explizit ausschließen, damit Hover-Farbe funktioniert */
body.home:not(.page):not(.single):not(.archive) *:not(.elementor-button):not(.button):not(a.button):not(button.button):not(.woocommerce *):not(#site-header *):not(header *):not(.site-header *):not(.site-navigation *):not(nav *):not(button):not(.daten-grid-button):not(.nextcloud-popup-link):not(.wc-block-components-button):not(.wp-element-button):not(.wp-block-button__link):not(.add_to_cart_button):not(.ajax_add_to_cart):not(.add-post-btn):not(.edit):not(a.edit) {
  color: #efeeee !important;
}

/* Extra Sicherstellung für Elementor Widgets auf Startseite - NUR auf Home */
body.home:not(.page):not(.single):not(.archive) h1:not(#site-header h1):not(header h1),
body.home:not(.page):not(.single):not(.archive) h2:not(#site-header h2):not(header h2),
body.home:not(.page):not(.single):not(.archive) h3:not(#site-header h3):not(header h3),
body.home:not(.page):not(.single):not(.archive) h4:not(#site-header h4):not(header h4),
body.home:not(.page):not(.single):not(.archive) h5:not(#site-header h5):not(header h5),
body.home:not(.page):not(.single):not(.archive) h6:not(#site-header h6):not(header h6),
body.home:not(.page):not(.single):not(.archive) p:not(#site-header p):not(header p),
body.home:not(.page):not(.single):not(.archive) span:not(.elementor-button-text):not(#site-header span):not(header span),
body.home:not(.page):not(.single):not(.archive) a:not(.elementor-button):not(.button):not(#site-header a):not(header a):not(.site-navigation a):not(nav a),
body.home:not(.page):not(.single):not(.archive) li:not(#site-header li):not(header li):not(nav li),
body.home:not(.page):not(.single):not(.archive) div:not(#site-header div):not(header div):not(nav div),
body.home:not(.page):not(.single):not(.archive) .elementor-heading-title:not(#site-header .elementor-heading-title),
body.home:not(.page):not(.single):not(.archive) .elementor-widget-heading *:not(#site-header *):not(header *),
body.home:not(.page):not(.single):not(.archive) .elementor-text-editor:not(#site-header .elementor-text-editor),
body.home:not(.page):not(.single):not(.archive) .elementor-widget-container:not(#site-header .elementor-widget-container),
body.home:not(.page):not(.single):not(.archive) .elementor-element:not(#site-header .elementor-element) {
  color: #efeeee !important;
}

/* Navbar auf Startseite bleibt #121212 */
body.home #site-header,
body.home #site-header *,
body.home header.site-header,
body.home header.site-header *,
body.home .site-navigation,
body.home .site-navigation *,
body.home nav:not(footer nav),
body.home nav:not(footer nav) * {
  color: #121212 !important;
}

/* Footer auf Startseite in #efeeee - NUR auf Home */
body.home:not(.page):not(.single):not(.archive) #site-footer,
body.home:not(.page):not(.single):not(.archive) #site-footer *,
body.home:not(.page):not(.single):not(.archive) footer,
body.home:not(.page):not(.single):not(.archive) footer *,
body.home:not(.page):not(.single):not(.archive) .site-footer,
body.home:not(.page):not(.single):not(.archive) .site-footer * {
  color: #efeeee !important;
}

/* Alle Links - Globales Hover-Styling */
a,
.site-header a,
.site-navigation a,
nav a,
.menu a,
.menu-item a,
.elementor-nav-menu a,
.elementor-widget-nav-menu a,
.elementor-nav-menu--main a,
.elementor-item {
  color: #121212 !important;
  transition: color 0.3s ease !important;
  text-decoration: none !important;
}

a:hover,
a:focus,
.site-header a:hover,
.site-navigation a:hover,
nav a:hover,
.menu a:hover,
.menu-item a:hover,
.elementor-nav-menu a:hover,
.elementor-widget-nav-menu a:hover,
.elementor-nav-menu--main a:hover,
.elementor-item:hover,
.elementor-nav-menu--layout-horizontal .elementor-item:hover,
.elementor-nav-menu--layout-vertical .elementor-item:hover,
h1 a:hover,
h2 a:hover,
h3 a:hover,
p a:hover,
header a:hover,
#site-header a:hover,
.woocommerce ul.products li.product .woocommerce-loop-product__title:hover,
.custom-post-item h2 a:hover,
.custom-post-item .post-title a:hover,
.elementor-post__title a:hover,
.entry-title a:hover {
  color: #ee705f !important;
  text-decoration: none !important;
  opacity: 1 !important;
}

/* ========================================
   HEADER FIX FÜR SHOP & UNTERSEITEN
   ======================================== */

/* Header auf Shop & normalen Seiten: Weißer Hintergrund & Relative Position */
body:not(.home) #page-header,
body.woocommerce #page-header,
body.woocommerce-page #page-header,
body:not(.home) header#portal-header,
body.woocommerce header#portal-header {
    position: relative !important;
    background-color: #fff !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    top: 0 !important;
}

/* Wenn Header fixed sein soll (optional), dann Padding für Body */
/*
body:not(.home) #page-header {
    position: fixed !important;
}
body:not(.home) {
    padding-top: 120px !important;
}
*/

/* Verhindern, dass Inhalt unter Header rutscht */
body:not(.home) .site-main,
body:not(.home) #content,
body.woocommerce .site-main,
body.woocommerce #content {
    margin-top: 0 !important; /* Da Header relative ist */
    padding-top: 40px !important;
}

/* Ausnahme: Registrierung & Passwort - kein Padding oben */
body:has(.wpum-registration-form) .site-main,
body:has(.wpum-password-recovery-form) .site-main,
body.page-slug-registrieren .site-main,
body.page-slug-registration .site-main,
body.page-slug-passwort-vergessen .site-main,
body:has(.wpum-registration-form) #content,
body:has(.wpum-password-recovery-form) #content,
body.page-slug-registrieren #content,
body.page-slug-registration #content,
body.page-slug-passwort-vergessen #content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Logo Größe im Header anpassen */
#page-header .logo img,
#portal-header .portal-logo img {
    max-height: 90px; /* Vergrößert von 60px */
    width: auto;
    display: block;
    margin: 0 auto;
}

/* Logo Größe im Footer anpassen */
#page-footer .logo img,
footer .logo img {
    max-height: 100px;
    width: auto;
    display: block;
    margin: 0 auto;
}

/* ========================================
   Typografie-System - 4 Schriftgrößen
   ======================================== */

/* Überschrift H1 - 28px */
h1,
.h1-style,
.woocommerce .product .summary h1,
.freiluft-customer-dashboard h1,
.freiluft-registration-dashboard h1,
.elementor-heading-title.elementor-size-default {
  font-size: 28px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  color: #121212 !important;
  margin-bottom: 20px;
}

/* Subheader H2/H3 - 22px */
h2, h3,
.h2-style, .h3-style,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce .checkout h3,
.woocommerce .cart-collaterals h2,
.woocommerce .woocommerce-MyAccount-navigation,
.custom-post-item h2,
.faq-title,
.widget-title,
.elementor-heading-title.elementor-size-small,
.elementor-heading-title.elementor-size-medium {
  font-size: 22px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  color: #121212 !important;
  margin-bottom: 15px;
}

/* Standard Text / Body - 16px */
body,
p,
.text-standard,
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce table.shop_table,
.woocommerce .product .summary .woocommerce-product-details__short-description,
.custom-post-item .post-excerpt,
.faq-answer,
/* Labels - Überschrieben durch spezifischere Form-Row Styles weiter unten */
label:not(.woocommerce form .form-row label),
.form-row label:not(.woocommerce form .form-row label) {
  font-size: 16px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  color: #333 !important;
}

/* Inputs allgemein - Überschrieben durch spezifischere Form-Row Styles weiter unten */
input:not(.woocommerce form .form-row input):not(.woocommerce form .form-row select):not(.woocommerce form .form-row textarea),
select:not(.woocommerce form .form-row select),
textarea:not(.woocommerce form .form-row textarea),
.woocommerce input:not(.woocommerce form .form-row input),
.woocommerce select:not(.woocommerce form .form-row select),
.woocommerce textarea:not(.woocommerce form .form-row textarea) {
  font-size: 16px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  color: #333 !important;
}

/* Preis / Highlight - 20px */
.price-highlight,
.woocommerce ul.products li.product .price,
.woocommerce .product .summary .price,
.woocommerce .cart-collaterals .cart_totals .amount,
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal,
strong,
.woocommerce strong {
  font-size: 20px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  color: #121212 !important;
}

/* ========================================
   Burger Menu für Konfigurator (Zurück zur Startseite)
   ======================================== */

/* Container - 1/3 von links, mit Admin-Bar-Abstand */
body.admin-bar .freiluft-burger-container {
  top: calc(32px + 28px); /* Admin bar + padding */
}

.freiluft-burger-container {
  position: fixed;
  top: 28px;
  left: 30%;
  transform: translateX(-50%);
  z-index: 999999;
  display: flex;
  align-items: center;
  gap: 0;
}

/* Burger Button - 1/3 Position */
.freiluft-burger-button {
  width: 50px;
  height: 50px;
  background-color: #efeeee;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 12px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  position: relative;
  z-index: 2;
}

.freiluft-burger-button span {
  display: block;
  width: 26px;
  height: 3px;
  background-color: #121212;
  transition: all 0.3s ease;
}

/* Burger Button Active (X) - Symmetrisch */
.freiluft-burger-container.active .freiluft-burger-button span:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px);
}

.freiluft-burger-container.active .freiluft-burger-button span:nth-child(2) {
  opacity: 0;
}

.freiluft-burger-container.active .freiluft-burger-button span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}

.freiluft-burger-button:hover {
  background-color: #efeeee;
  opacity: 0.8;
}

/* Back Button - fährt aus dem Burger aus */
.freiluft-back-button {
  position: absolute;
  left: 0;
  top: 0;
  height: 50px;
  background-color: #efeeee !important;
  color: #121212 !important;
  padding: 0 20px 0 70px !important;
  display: flex !important;
  align-items: center;
  white-space: nowrap;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: none !important;
  transition: all 0.3s ease !important;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.freiluft-burger-container.active .freiluft-back-button {
  opacity: 1;
  pointer-events: auto;
  left: 50px;
}

.freiluft-back-button:hover {
  background-color: #efeeee !important;
  color: #121212 !important;
  opacity: 0.8;
}

/* ========================================
   Allgemeines Button Styling für gesamte Seite
   ======================================== */

/* Standard Button Styling - Transparent mit Border */
.elementor-button,
.elementor-button-link,
a.elementor-button,
button.elementor-button,
.wp-block-button__link,
a.wp-block-button__link {
  display: inline-block !important;
  text-align: center !important;
  vertical-align: middle !important;
  -webkit-user-select: none !important;
  user-select: none !important;
  background-color: transparent !important;
  font-size: 1rem !important;
  position: relative !important;
  padding: 10px 30px !important;
  color: #121212 !important;
  line-height: 1 !important;
  transition: all .3s ease !important;
  border: solid 1px #121212 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
}

.elementor-button:hover,
.elementor-button-link:hover,
a.elementor-button:hover,
button.elementor-button:hover,
.wp-block-button__link:hover,
a.wp-block-button__link:hover {
  background-color: #121212 !important;
  color: #fff !important;
  border-color: #121212 !important;
}

/* Beitrag-Box Layout - 2 Spalten Grid */
.custom-post-list,
.elementor-posts-container,
.elementor-posts-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.custom-post-item {
  border: 1px solid #e0e0e0;
  padding: 20px;
  border-radius: 6px;
  background-color: #fff;
  transition: box-shadow 0.3s ease;
  position: relative;
}

.custom-post-item:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* Thumbnail Container für alle Varianten */
.post-thumbnail,
.elementor-post__thumbnail,
.elementor-post-thumbnail {
  position: relative;
  margin-bottom: 15px;
  overflow: hidden;
  height: 250px;
}

/* Thumbnail Bilder - Konsistente Höhe */
.post-thumbnail img,
.elementor-post__thumbnail img,
.elementor-post-thumbnail img,
.custom-post-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 4px;
}

/* Überschreibe alle möglichen WordPress-Thumbnail-Styles */
.post-thumbnail img.wp-post-image,
.custom-post-item .wp-post-image,
.post-thumbnail .attachment-medium {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Autor Avatar - Rund, unten rechts am Titelbild */
.post-meta-author {
  position: absolute;
  bottom: 20px;
  right: 20px;
  z-index: 10;
}

.author-avatar,
.post-meta-author .author-avatar,
.custom-post-item .author-avatar {
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 3px solid #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
  display: block;
}

/* Journal-Seite (/journal/) - Spezifisches Styling */
/* Page Heading auf Journal-Seite entfernen (genau die Page-ID nutzen) */
.page-id-1243 .page-header,
.page-id-1243 h1.entry-title {
  display: none !important;
}

/* Journal Beiträge - Bilder gehen bis zum Außenrand der Karten */
.page-id-1243 .custom-post-item {
  padding: 0 !important;
  border: none !important;
  overflow: hidden;
}

.page-id-1243 .post-thumbnail,
.page-id-1243 .elementor-post__thumbnail {
  margin: 0 !important;
  border-radius: 0 !important;
  height: 250px;
}

.page-id-1243 .post-thumbnail img,
.page-id-1243 .elementor-post__thumbnail img {
  border-radius: 0 !important;
}

/* Text unter Bild wieder mit Padding */
.page-id-1243 .custom-post-item h2,
.page-id-1243 .custom-post-item .post-excerpt,
.page-id-1243 .elementor-post__text {
  padding: 20px !important;
}

/* FAQ Design */
.faq-section {
  margin-top: 40px;
}
.faq-title {
  margin-bottom: 20px;
}
.faq-item {
  margin-bottom: 20px;
  padding: 20px;
  background-color: #f9f9f9;
  border-radius: 6px;
}
.faq-question {
  color: #ee705f;
  font-weight: bold;
  margin-bottom: 10px;
  cursor: pointer;
}
.faq-answer a {
  color: #ee705f !important;
  text-decoration: underline;
}

/* Freiluft Garantie System - Background für Registrierung & Dashboards */
body.page-id-1245,
body.page-id-1246,
body.home, /* Startseite dazu */
body[class*="partner-portal"],
body[class*="employee-portal"] {
  background-image: url("http://freiluft-cloud-2026.local:8888/wp-content/uploads/2025/02/Freiluft-05-06-1.jpg") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-attachment: fixed !important;
}

/* Startseite: Nicht scrollbar, Footer weg, alles auf einen Blick */
body.home {
    height: 100vh !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

body.home #site-footer,
body.home footer,
body.home .site-footer {
    display: none !important;
}

body.home .site-main,
body.home #content {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important; /* Vertikal zentrieren */
    justify-content: center !important;
    padding-top: 0 !important; /* Padding vom Header-Fix entfernen */
    height: 100% !important;
}

/* Elementor Section Wrapper auf volle Breite begrenzen */
body.home .elementor-section-wrap {
    width: 100% !important;
    max-width: 1600px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
}

/* Styling für Portal-Seite mit Hintergrundbild */
body.home #page-header,
body.home .site-header {
    background: transparent !important;
    box-shadow: none !important;
    position: absolute !important;
    width: 100%;
    z-index: 1000;
}

/* Weiße Schrift auf dem Hintergrundbild */
body.home h1, 
body.home h2, 
body.home h3, 
body.home p, 
body.home span,
body.home .elementor-heading-title {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3); /* Lesbarkeit verbessern */
}

/* QR Code Container Styling - Weißer Hintergrund für die Codes */
.elementor-widget-image-box .elementor-image-box-wrapper {
    background: #ffffff;
    padding: 30px 20px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    text-align: center;
    transition: transform 0.3s ease;
    height: 100%; /* Gleiche Höhe */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.elementor-widget-image-box .elementor-image-box-wrapper:hover {
    transform: translateY(-10px);
}

/* Startseite: Grid nebeneinander erzwingen */
body.home .elementor-section .elementor-container {
    display: flex !important;
    flex-direction: row !important; /* Wichtig: Reihe */
    flex-wrap: nowrap !important; /* Nicht umbrechen */
    align-items: flex-end !important; /* Unten ausrichten */
    justify-content: center !important;
    gap: 30px !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-bottom: 80px !important; /* Abstand von unten */
}

body.home .elementor-column,
body.home .elementor-col-33 {
    width: 33.33% !important;
    max-width: 33.33% !important;
    flex: 0 0 33.33% !important;
}

/* QR Code Box Styling Update */
.elementor-widget-image-box .elementor-image-box-wrapper {
    background: rgba(255, 255, 255, 0.95);
    padding: 20px; /* Etwas kompakter */
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    text-align: center;
    transition: transform 0.3s ease;
    height: auto !important; /* Automatische Höhe */
    min-height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Schriftfarben auf Startseite BRUTAL überschreiben */
body.home h1, 
body.home h2, 
body.home .elementor-heading-title {
    color: #ffffff !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

/* Texte IN den weißen Boxen müssen dunkel sein */
body.home .elementor-image-box-wrapper h1,
body.home .elementor-image-box-wrapper h2,
body.home .elementor-image-box-wrapper h3,
body.home .elementor-image-box-wrapper p,
body.home .elementor-image-box-wrapper .elementor-image-box-title,
body.home .elementor-image-box-wrapper .elementor-image-box-description {
    color: #121212 !important;
    text-shadow: none !important;
}

/* Footer komplett killen */
body.home #site-footer,
body.home footer,
body.home .site-footer,
body.home .elementor-location-footer {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
}

/* Texte IN den weißen QR Code Boxen wieder dunkel machen */
.elementor-widget-image-box .elementor-image-box-wrapper h3,
.elementor-widget-image-box .elementor-image-box-wrapper p,
.elementor-widget-image-box .elementor-image-box-wrapper span,
.elementor-widget-image-box .elementor-image-box-wrapper .elementor-image-box-title {
    color: #121212 !important;
    text-shadow: none !important;
    margin-top: 15px;
    font-weight: 600;
}

/* Logo im Header weiß oder dunkel? */
/* Wenn Hintergrundbild aktiv, Logo anpassen falls nötig - hier Standard lassen */

/* Customer Dashboard Container */
.freiluft-customer-dashboard .dashboard-container {
  max-width: 1400px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  overflow: hidden;
}

.freiluft-customer-dashboard h1 {
  margin: 0 !important;
  padding: 24px 30px !important;
  background: #fafafa !important;
  color: #121212 !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  text-align: left !important;
  border-bottom: 1px solid #e8e8e8 !important;
  letter-spacing: -0.02em !important;
}

/* Dashboard Sections - Integriert wie WooCommerce My Account */
.freiluft-customer-dashboard {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}

.freiluft-customer-dashboard .dashboard-container {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 0;
}

.freiluft-customer-dashboard .dashboard-section {
  padding: 30px 40px;
  border-bottom: 1px solid #e0e0e0;
  background: none !important;
}

.freiluft-customer-dashboard .dashboard-section:last-child {
  border-bottom: none;
}

.freiluft-customer-dashboard .dashboard-section h2 {
  margin: 0 0 20px 0;
  font-size: 18px;
  font-weight: 600;
  color: #121212;
  letter-spacing: -0.01em;
  border-bottom: none;
  padding-bottom: 0;
}

/* Welcome Section - Wie WooCommerce Dashboard */
.freiluft-customer-dashboard .welcome-section {
  background: #fff;
  padding: 30px 40px;
  border-bottom: 1px solid #e0e0e0;
}

.freiluft-customer-dashboard .dashboard-title {
  margin: 0 0 12px 0;
  font-size: 24px;
  font-weight: 600;
  color: #121212;
}

.freiluft-customer-dashboard .welcome-text {
  margin: 0 0 8px 0;
  font-size: 16px;
  color: #121212;
  line-height: 1.6;
}

.freiluft-customer-dashboard .welcome-description {
  margin: 0;
  font-size: 15px;
  color: #666;
  line-height: 1.6;
}

/* Info Table - Wie WooCommerce My Account */
.freiluft-customer-dashboard .info-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}

.freiluft-customer-dashboard .info-table tr {
  border-bottom: 1px solid #e0e0e0;
}

.freiluft-customer-dashboard .info-table tr:last-child {
  border-bottom: none;
}

.freiluft-customer-dashboard .info-table td {
  padding: 12px 0;
  font-size: 15px;
  vertical-align: top;
}

.freiluft-customer-dashboard .info-label {
  width: 200px;
  color: #666;
  font-weight: 500;
}

.freiluft-customer-dashboard .info-value {
  color: #121212;
}

.freiluft-customer-dashboard .info-value strong {
  font-weight: 600;
  color: #121212;
}

/* Status Badges - Integriert wie WooCommerce */
.freiluft-customer-dashboard .guarantee-active,
.freiluft-customer-dashboard .guarantee-pending,
.freiluft-customer-dashboard .guarantee-rejected,
.freiluft-customer-dashboard .guarantee-none {
  margin-bottom: 16px;
}

.freiluft-customer-dashboard .status-badge {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 18px;
  background: #fafafa;
  border: 1px solid;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 12px;
}

.freiluft-customer-dashboard .status-text {
  margin: 12px 0 0 0;
  font-size: 15px;
  color: #666;
  line-height: 1.6;
}

.freiluft-customer-dashboard .status-meta {
  margin: 12px 0 0 0;
  font-size: 15px;
  color: #666;
}

/* Document Items - Integriert wie WooCommerce */
.freiluft-customer-dashboard .document-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.freiluft-customer-dashboard .document-item {
  padding: 16px 20px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background: #fff;
  transition: all 0.2s ease;
}

.freiluft-customer-dashboard .document-item:hover {
  background: #fafafa;
  border-color: #ee705f;
}

.freiluft-customer-dashboard .document-item-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.freiluft-customer-dashboard .document-item-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}

.freiluft-customer-dashboard .document-label {
  font-size: 14px;
  font-weight: 500;
  color: #666;
}

.freiluft-customer-dashboard .document-name {
  font-size: 15px;
  color: #121212;
}

.freiluft-customer-dashboard .document-open-btn {
  padding: 12px 24px;
  background-color: transparent !important;
  color: #121212 !important;
  text-decoration: none;
  border: 1px solid #121212 !important;
  border-radius: 0 !important;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  white-space: nowrap;
  transition: all 0.3s ease !important;
  cursor: pointer;
}

.freiluft-customer-dashboard .document-open-btn:hover {
  background-color: #121212 !important;
  color: #efeeee !important;
  border-color: #121212 !important;
  transform: translateY(-2px);
}

/* Primary Button - Standard Design */
.freiluft-customer-dashboard .primary-button,
.primary-button {
  display: inline-block;
  padding: 12px 24px;
  background-color: transparent !important;
  color: #121212 !important;
  border: 1px solid #121212 !important;
  border-radius: 0 !important;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  cursor: pointer;
  transition: all 0.3s ease !important;
  text-decoration: none;
}

.freiluft-customer-dashboard .primary-button:hover,
.primary-button:hover {
  background-color: #121212 !important;
  color: #efeeee !important;
  border-color: #121212 !important;
  transform: translateY(-2px);
}

/* Empty State */
.freiluft-customer-dashboard .empty-state {
  margin: 0;
  font-size: 15px;
  color: #999;
  font-style: italic;
}

/* Status Badge mit pulsierendem Icon */
.guarantee-active,
.guarantee-pending,
.guarantee-rejected,
.guarantee-none {
  display: flex;
  align-items: center;
  gap: 16px;
}

.status-badge-active,
.status-badge-pending,
.status-badge-rejected,
.status-badge-none {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  background: #fafafa;
  border: 1px solid;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 500;
  position: relative;
}

.status-badge-active {
  border-color: #4CAF50;
  color: #4CAF50;
}

.status-badge-pending {
  border-color: #FFC107;
  color: #856404;
}

.status-badge-rejected {
  border-color: #dc3545;
  color: #dc3545;
}

.status-badge-none {
  border-color: #999;
  color: #666;
}

/* Pulsierendes Status-Icon */
.status-icon {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  position: relative;
  flex-shrink: 0;
  z-index: 1;
}

.status-badge-active span:not(.status-icon),
.status-badge-pending span:not(.status-icon),
.status-badge-rejected span:not(.status-icon),
.status-badge-none span:not(.status-icon) {
  position: relative;
  z-index: 2;
}

.status-icon-green {
  background: #4CAF50;
  animation: pulse-green 2s infinite;
}

.status-icon-yellow {
  background: #FFC107;
  animation: pulse-yellow 2s infinite;
}

.status-icon-red {
  background: #dc3545;
  animation: pulse-red 2s infinite;
}

.status-icon-gray {
  background: #999;
  animation: pulse-gray 2s infinite;
}

@keyframes pulse-green {
  0% {
    box-shadow: 0 0 0 0 rgba(76, 175, 80, 0.7);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(76, 175, 80, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(76, 175, 80, 0);
  }
}

@keyframes pulse-yellow {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.7);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(255, 193, 7, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 193, 7, 0);
  }
}

@keyframes pulse-red {
  0% {
    box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.7);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(220, 53, 69, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(220, 53, 69, 0);
  }
}

@keyframes pulse-gray {
  0% {
    box-shadow: 0 0 0 0 rgba(153, 153, 153, 0.5);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(153, 153, 153, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(153, 153, 153, 0);
  }
}

.register-link {
  color: #ee705f;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}

.register-link:hover {
  color: #121212;
  text-decoration: underline;
}


.document-list {
  display: grid;
  gap: 16px;
}

.document-row {
  padding: 16px;
  background: #fafafa;
  border-radius: 4px;
  border: 1px solid #e8e8e8;
}

.document-row strong {
  display: block;
  margin-bottom: 8px;
  color: #121212;
  font-size: 13px;
  font-weight: 600;
}

.pdf-link-small {
  color: #ee705f;
  text-decoration: none;
  font-size: 14px;
}

.pdf-link-small:hover {
  text-decoration: underline;
}

body .freiluft-registration-dashboard,
body .freiluft-customer-dashboard {
  background: transparent !important;
}

/* Hide page titles for registration and dashboard pages */
body.postid-1245 .entry-header,
body.postid-1246 .entry-header {
  display: none !important;
}

/* Fix navbar (don't scroll) for registration and dashboard pages */
body.page-id-1245 #site-header,
body.page-id-1246 #site-header,
body.page-id-1245 #page-header,
body.page-id-1246 #page-header,
body[class*="partner-portal"] #site-header,
body[class*="employee-portal"] #site-header,
body[class*="partner-portal"] #page-header,
body[class*="employee-portal"] #page-header,
body.page-id-1245 header.site-header,
body.page-id-1246 header.site-header,
body[class*="partner-portal"] header.site-header,
body[class*="employee-portal"] header.site-header,
body.page-id-1245 .dynamic-header,
body.page-id-1246 .dynamic-header,
body[class*="partner-portal"] .dynamic-header,
body[class*="employee-portal"] .dynamic-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  background: #ffffff !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;
}

/* Globaler Abstand von Navbar zum Content für alle Seiten */
body .site-main,
body #content,
body main.site-main {
  padding-top: 100px !important;
}

/* Add padding to body to compensate for fixed navbar */
body.page-id-1245 .freiluft-registration-dashboard,
body.page-id-1246 .freiluft-customer-dashboard,
body[class*="partner-portal"] .freiluft-partner-dashboard,
body[class*="employee-portal"] .freiluft-employee-dashboard {
  padding-top: 140px !important;
}

body.page-id-1245 .site-main,
body.page-id-1246 .site-main,
body[class*="partner-portal"] .site-main,
body[class*="employee-portal"] .site-main {
  padding-top: 140px !important;
}

/* Hide footer for registration and dashboard pages */
body.page-id-1245 #site-footer,
body.page-id-1246 #site-footer,
body[class*="partner-portal"] #site-footer,
body[class*="employee-portal"] #site-footer,
body.page-id-1245 footer.site-footer,
body.page-id-1246 footer.site-footer,
body[class*="partner-portal"] footer.site-footer,
body[class*="employee-portal"] footer.site-footer {
  display: none !important;
}

/* ========================================
   WooCommerce Shop Styling
   ======================================== */

/* WooCommerce Shop Container */
.woocommerce-page #primary.content-area,
.woocommerce #primary.content-area {
  max-width: 1400px;
  margin: 0 auto;
  padding-top: 60px;
}

/* Shop Header Area (Titel, Breadcrumb, Sortierung) */
.woocommerce-products-header {
    margin-bottom: 40px;
    text-align: center;
}

.woocommerce-products-header__title.page-title {
    font-size: 36px !important;
    font-weight: 300 !important;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

/* Result Count & Ordering - Eine Zeile */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
    float: none !important;
    display: inline-block !important;
    vertical-align: middle;
    margin: 0 15px !important;
}

.woocommerce .woocommerce-result-count {
    font-size: 13px !important;
    color: #999 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.woocommerce .woocommerce-ordering select {
    border: none !important;
    border-bottom: 1px solid #e0e0e0 !important;
    padding: 5px 25px 5px 5px !important;
    font-size: 13px !important;
    color: #121212 !important;
    font-weight: 600;
    cursor: pointer;
    outline: none;
}

/* Kategorie-Filter Leiste (wenn vorhanden) */
.freiluft-category-filter {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 50px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}

.freiluft-category-filter a {
    color: #999;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 1.5px;
    font-weight: 600;
    position: relative;
    padding-bottom: 5px;
}

.freiluft-category-filter a.active,
.freiluft-category-filter a:hover {
    color: #121212;
}

.freiluft-category-filter a.active:after {
    content: '';
    position: absolute;
    bottom: -21px; /* Auf die Border-Linie setzen */
    left: 0;
    width: 100%;
    height: 2px;
    background: #121212;
}

/* Grid Layout - 3 Spalten */
.woocommerce .products,
.woocommerce-page .products,
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 60px 40px !important;
  margin-top: 20px !important;
}

/* Product Card Styling */
.woocommerce ul.products li.product {
  border: none !important;
  background-color: #ffffff !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-5px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

/* Image Wrapper */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: block !important;
  position: relative;
  margin-bottom: 0 !important;
  overflow: hidden;
  background: #f9f9f9;
  aspect-ratio: 1 / 1;
}

.woocommerce ul.products li.product img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: transform 0.5s ease !important;
  display: block !important;
}

.woocommerce ul.products li.product:hover img {
  transform: scale(1.05);
}

/* Product Info Container */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price {
  padding: 0 20px;
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #121212 !important;
  margin: 20px 0 8px 0 !important;
  padding: 0 20px !important;
  font-family: inherit;
  line-height: 1.4;
}

/* Price */
.woocommerce ul.products li.product .price {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #121212 !important;
  margin: 0 0 20px 0 !important;
  padding: 0 20px !important;
  display: block !important;
}

/* Add to Cart Button - Premium Black */
.woocommerce ul.products li.product .button {
  display: block !important;
  width: calc(100% - 40px) !important;
  margin: 0 20px 20px 20px !important;
  padding: 15px 30px !important;
  background-color: transparent !important;
  color: #121212 !important;
  border: 1px solid #121212 !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
  border-radius: 0 !important;
  text-align: center !important;
}

.woocommerce ul.products li.product .button:hover {
  background-color: #121212 !important;
  color: #efeeee !important;
  border-color: #121212 !important;
  transform: translateY(-2px);
}

/* Loading Spinner bei Ajax */
.woocommerce ul.products li.product .button.loading {
    opacity: 0.5;
    padding-right: 40px !important;
}

/* Responsive */
@media (max-width: 1024px) {
  .woocommerce .products,
  .woocommerce-page .products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 40px 20px !important;
  }
}

@media (max-width: 600px) {
  .woocommerce .products,
  .woocommerce-page .products {
    grid-template-columns: 1fr !important;
  }
  
  .freiluft-category-filter {
      flex-wrap: wrap;
      gap: 15px;
  }
}

/* ========================================
   End WooCommerce Styling
   ======================================== */

/* ========================================
   Partner Dashboard Styling
   ======================================== */

/* Partner PDF-Link - Override global link styles */
.partner-garantie-item .pdf-link,
.freiluft-partner-dashboard .pdf-link,
.garantie-section a.pdf-link {
  display: inline-block !important;
  padding: 10px 20px !important;
  background: transparent !important;
  color: #121212 !important;
  border: 1px solid #121212 !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  font-weight: 400 !important;
}

.partner-garantie-item .pdf-link:hover,
.freiluft-partner-dashboard .pdf-link:hover,
.garantie-section a.pdf-link:hover {
  background: #121212 !important;
  color: #ffffff !important;
  border-color: #121212 !important;
  text-decoration: none !important;
}

/* ========================================
   Mobile Optimierung
   ======================================== */

/* Mobile - Registrierungsformular */
@media (max-width: 768px) {
  .registration-container .form-row {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  
  .freiluft-registration-dashboard h1 {
    font-size: 24px !important;
    padding: 20px 15px !important;
  }
  
  .registration-container .form-group {
    padding: 0 20px !important;
  }
  
  .registration-container .form-row {
    padding: 0 20px !important;
  }
}

/* Mobile - Customer Dashboard */
@media (max-width: 768px) {
  .freiluft-customer-dashboard h1 {
    font-size: 24px !important;
    padding: 20px 15px !important;
  }
  
  .dashboard-section {
    padding: 20px !important;
  }
}

/* Already Logged In Notice - Styling */
.notice.notice-info,
.wpum-already-logged-in,
.wpum-message.info,
div.notice.notice-info {
    background-color: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    border-left: 3px solid #121212 !important;
    border-radius: 0 !important;
    padding: 20px 30px !important;
    margin: 20px 0 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    color: #121212 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

.notice.notice-info p,
.wpum-already-logged-in p,
.wpum-message.info p {
    margin: 0 0 10px 0 !important;
    color: #121212 !important;
}

.notice.notice-info a,
.wpum-already-logged-in a,
.wpum-message.info a {
    color: #121212 !important;
    text-decoration: underline !important;
    font-weight: 500 !important;
    transition: color 0.3s ease !important;
}

.notice.notice-info a:hover,
.wpum-already-logged-in a:hover,
.wpum-message.info a:hover {
    color: #ee705f !important;
}

.notice.notice-info .button,
.wpum-already-logged-in .button,
.wpum-message.info .button {
    display: inline-block;
    padding: 10px 20px;
    background-color: transparent !important;
    color: #121212 !important;
    border: 1px solid #121212 !important;
    border-radius: 0 !important;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    margin: 5px 10px 5px 0 !important;
    transition: all 0.3s ease !important;
}

.notice.notice-info .button:hover,
.wpum-already-logged-in .button:hover,
.wpum-message.info .button:hover {
    background-color: #121212 !important;
    color: #efeeee !important;
    border-color: #121212 !important;
    transform: translateY(-2px);
}

/* Mobile - Burger Menu */
@media (max-width: 768px) {
  .freiluft-burger-container {
    left: 20px !important;
    transform: none !important;
  }
  
  .freiluft-back-button {
    font-size: 14px !important;
    padding: 0 15px 0 65px !important;
  }
}

/* Mobile - Navbar Spacing */
@media (max-width: 768px) {
  body .site-main,
  body #content,
  body main.site-main {
    padding-top: 80px !important;
  }
}

/* Mobile - Typography */
@media (max-width: 768px) {
  h1,
  .h1-style,
  .entry-title {
    font-size: 24px !important;
  }
  
  h2, h3 {
    font-size: 20px !important;
  }
  
  body, p {
    font-size: 15px !important;
  }
}

/* Mobile - Touch-Optimierung */
@media (max-width: 768px) {
  /* Größere Touch-Targets für Buttons */
  .elementor-button,
  .woocommerce .button,
  .category-filter-button {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  /* Größere Checkboxen */
  input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    margin-right: 10px !important;
  }
}

/* ========================================
   End WooCommerce Styling
   ======================================== */

/* ========================================
   Single Post Template Styling
   ======================================== */

.freiluft-single-post {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
  background: #efeeee;
}

.single-post-content {
  background: #efeeee;
}

/* Breadcrumb / Zurück Button */
.post-breadcrumb {
  margin-bottom: 40px;
  padding-bottom: 0;
  border-bottom: none;
}

.back-to-blog {
  display: inline-block;
  font-size: 14px;
  color: #666;
  text-decoration: none;
  transition: color 0.2s ease;
}

.back-to-blog:hover {
  color: #ee705f;
}

/* Featured Image oben, volle Breite mit Avatar */
.post-featured-image {
  width: 100%;
  margin-bottom: 40px;
  position: relative;
  overflow: visible;
}

.post-featured-image > img {
  width: 100%;
  height: auto;
  display: block;
}

/* Author Avatar rechts unten am Bild */
.post-author-avatar {
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  border: 3px solid #fff;
  z-index: 10;
}

.author-avatar-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}

/* Post Header: Nur Titel */
.post-header-wrapper {
  margin-bottom: 40px;
}

.post-title-custom {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #121212 !important;
  margin: 0 0 16px 0 !important;
  line-height: 1.2 !important;
}

.post-meta {
  font-size: 14px;
  color: #666;
  margin-bottom: 0;
}

.post-date {
  display: inline-block;
}

/* Post Content */
.post-content-wrapper {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}

.post-content-wrapper p {
  margin-bottom: 20px;
}

.post-content-wrapper img {
  max-width: 100%;
  height: auto;
  margin: 30px 0;
}

.post-content-wrapper h2,
.post-content-wrapper h3 {
  margin-top: 40px;
  margin-bottom: 20px;
  color: #121212;
}

/* Mobile Optimierung */
@media (max-width: 768px) {
  .post-author-avatar {
    width: 50px;
    height: 50px;
    bottom: 15px;
    right: 15px;
    border-width: 2px;
  }
  
  .post-title-custom {
    font-size: 24px !important;
  }
}

/* ========================================
   FAQ Enhancements
   ======================================== */
.elementor-widget-toggle .elementor-toggle,
.elementor-widget-accordion .elementor-accordion,
.elementor-toggle,
.elementor-accordion {
  margin-bottom: 12px !important;
}

.elementor-toggle .elementor-tab-title,
.elementor-accordion .elementor-tab-title {
  background: #fff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 4px !important;
  padding: 20px 24px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  position: relative !important;
  font-weight: 600 !important;
  color: #121212 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.elementor-toggle .elementor-tab-title:hover,
.elementor-accordion .elementor-tab-title:hover {
  border-color: #ee705f !important;
  box-shadow: 0 2px 8px rgba(238, 112, 95, 0.1) !important;
  transform: translateX(4px) !important;
}

.elementor-toggle .elementor-tab-title.elementor-active,
.elementor-accordion .elementor-tab-title.elementor-active {
  background: #fff !important;
  border-color: #ee705f !important;
  color: #ee705f !important;
}

/* FAQ Icons */
.elementor-toggle .elementor-tab-title:before,
.elementor-accordion .elementor-tab-title:before {
  content: '+';
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: #f5f5f5;
  border-radius: 50%;
  font-size: 20px;
  font-weight: 400;
  color: #121212;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.elementor-toggle .elementor-tab-title.elementor-active:before,
.elementor-accordion .elementor-tab-title.elementor-active:before {
  content: '−';
  background: #ee705f;
  color: #fff;
  transform: rotate(180deg);
}

/* FAQ Content */
.elementor-toggle .elementor-tab-content,
.elementor-accordion .elementor-tab-content {
  padding: 24px;
  background: #fafafa;
  border: 1px solid #e0e0e0;
  border-top: none;
  border-radius: 0 0 4px 4px;
  margin-top: -4px;
  animation: faqSlideDown 0.3s ease;
}

@keyframes faqSlideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* FAQ Feedback Section */
.faq-feedback {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #e0e0e0;
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 14px;
}

.faq-feedback-question {
  color: #666;
  font-weight: 500;
}

.faq-feedback-buttons {
  display: flex;
  gap: 8px;
}

.faq-feedback-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 13px;
  color: #666;
}

.faq-feedback-btn:hover {
  border-color: #ee705f;
  color: #ee705f;
  transform: translateY(-2px);
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.faq-feedback-btn.active-helpful {
  background: #4CAF50;
  border-color: #4CAF50;
  color: #fff;
}

.faq-feedback-btn.active-not-helpful {
  background: #f44336;
  border-color: #f44336;
  color: #fff;
}

.faq-feedback-btn svg {
  width: 16px;
  height: 16px;
}

.faq-feedback-count {
  font-weight: 600;
  font-size: 12px;
}

/* Related Questions */
.faq-related {
  margin-top: 20px;
  padding: 16px;
  background: #f9f9f9;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
}

.faq-related-title {
  font-size: 13px;
  font-weight: 600;
  color: #666;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.faq-related-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.faq-related-link {
  color: #121212;
  text-decoration: none;
  font-size: 14px;
  padding: 8px 12px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 3px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}

.faq-related-link:before {
  content: '→';
  color: #ee705f;
  font-weight: 600;
}

.faq-related-link:hover {
  border-color: #ee705f;
  transform: translateX(4px);
  color: #ee705f;
}

/* FAQ Bot Trigger */
.faq-bot-trigger {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 60px;
  height: 60px;
  background: #fff;
  border: 2px solid #e0e0e0;
  border-radius: 50%;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  z-index: 9999;
}

.faq-bot-trigger:hover {
  transform: scale(1.1);
  border-color: #ee705f;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.15);
}

.faq-bot-trigger:hover svg {
  color: #ee705f;
}

.faq-bot-trigger svg {
  width: 28px;
  height: 28px;
  color: #121212;
  transition: color 0.3s ease;
}

.faq-bot-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #ee705f;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 10px;
  border: 2px solid #fff;
}

/* FAQ Bot Chat Window */
.faq-bot-chat {
  position: fixed;
  bottom: 100px;
  right: 24px;
  width: 380px;
  max-height: 600px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.2);
  display: none;
  flex-direction: column;
  z-index: 9998;
  overflow: hidden;
}

.faq-bot-chat.active {
  display: flex;
  animation: chatSlideUp 0.3s ease;
}

@keyframes chatSlideUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.faq-bot-header {
  background: #fff;
  color: #121212;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid #e0e0e0;
}

.faq-bot-header h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.faq-bot-close {
  background: none;
  border: none;
  color: #666;
  font-size: 24px;
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.2s ease;
}

.faq-bot-close:hover {
  background: #f5f5f5;
  color: #ee705f;
}

.faq-bot-messages {
  flex: 1;
  padding: 20px;
  overflow-y: auto;
  max-height: 400px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.faq-bot-message {
  max-width: 85%;
  padding: 16px 20px;
  border-radius: 12px;
  font-size: 15px;
  line-height: 1.7;
  animation: messageSlide 0.3s ease;
  font-family: inherit;
}

.faq-bot-message strong {
  font-weight: 600;
  font-size: 17px;
  display: block;
  margin-bottom: 12px;
  letter-spacing: 0.3px;
  padding-left: 0px;
  background: none;
}

.faq-bot-message ul,
.faq-bot-message ol {
  margin: 12px 0;
  padding-left: 20px;
}

.faq-bot-message li {
  margin-bottom: 8px;
  line-height: 1.6;
}

.faq-bot-message br + • {
  display: inline-block;
  margin-left: 0;
}

@keyframes messageSlide {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.faq-bot-message.bot {
  background: #f5f5f5;
  color: #121212;
  align-self: flex-start;
  border-bottom-left-radius: 4px;
}

.faq-bot-message.bot a {
  color: #ee705f;
  text-decoration: underline;
  font-weight: 500;
}

.faq-bot-message.bot a:hover {
  color: #d65a48;
}

.faq-bot-message.user {
  background: #ee705f;
  color: #fff;
  align-self: flex-end;
  border-bottom-right-radius: 4px;
  font-size: 15px;
}

.faq-bot-suggestions {
  padding: 12px 20px;
  border-top: 1px solid #e0e0e0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.faq-bot-suggestion {
  padding: 8px 14px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  color: #666;
  letter-spacing: 0.2px;
}

.faq-bot-suggestion:hover {
  background: #fff;
  border-color: #ee705f;
  color: #ee705f;
}

.faq-bot-input-wrapper {
  padding: 16px 20px;
  border-top: 1px solid #e0e0e0;
  display: flex;
  gap: 8px;
}

.faq-bot-input {
  flex: 1;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 24px;
  font-size: 14px;
  font-family: inherit;
  outline: none;
  transition: border-color 0.2s ease;
}

.faq-bot-input::placeholder {
  color: #999;
  font-weight: 400;
}

.faq-bot-input:focus {
  border-color: #ee705f;
}

.faq-bot-send {
  width: 44px;
  height: 44px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 50%;
  color: #666;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.faq-bot-send:hover {
  border-color: #ee705f;
  color: #ee705f;
  transform: scale(1.05);
}

.faq-bot-send svg {
  width: 20px;
  height: 20px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .faq-bot-chat {
    width: calc(100vw - 32px);
    right: 16px;
    bottom: 90px;
    max-height: 500px;
  }
  
  .faq-bot-trigger {
    bottom: 16px;
    right: 16px;
  }
  
  .faq-bot-message {
    max-width: 90%;
    padding: 14px 16px;
    font-size: 14px;
  }
  
  .faq-bot-message strong {
    font-size: 16px;
  }
  
  .elementor-toggle .elementor-tab-title,
  .elementor-accordion .elementor-tab-title {
    padding: 16px 18px;
    font-size: 15px;
  }
  
  .faq-feedback {
    flex-direction: column;
    align-items: flex-start;
  }
}
/* =========================================
   Global WooCommerce Styling (Cart, Checkout, etc.)
   ========================================= */

/* Buttons (Global Override) */
/* Überschrieben durch Unified Button Design weiter unten */

.woocommerce button.button:disabled,
.woocommerce button.button[disabled] {
    background-color: #ccc !important;
    border-color: #ccc !important;
    cursor: not-allowed;
}

/* Überschrieben durch Unified Button Design weiter unten */

/* Cart Table */
.woocommerce table.shop_table {
    border: none !important;
    border-collapse: collapse !important;
    border-radius: 0 !important;
    margin-bottom: 40px !important;
}

.woocommerce table.shop_table th {
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 12px !important;
    padding: 20px 0 !important;
    border-bottom: 2px solid #121212 !important;
    color: #121212 !important;
}

.woocommerce table.shop_table td {
    border-top: 1px solid #eee !important;
    border-bottom: none !important;
    padding: 30px 0 !important;
    vertical-align: middle !important;
}

.woocommerce table.shop_table td.product-name a {
    color: #121212 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    font-size: 16px !important;
}

/* Cart Totals */
.woocommerce .cart-collaterals .cart_totals {
    float: none !important;
    width: 100% !important;
    max-width: 500px !important;
    margin-left: auto !important;
    padding: 40px !important;
    background: #f9f9f9 !important;
    border-radius: 4px !important;
}

.woocommerce .cart-collaterals .cart_totals h2 {
    font-size: 20px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid #e0e0e0 !important;
    padding-bottom: 15px !important;
}

/* Messages (Alerts) */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background-color: #f9f9f9 !important;
    color: #121212 !important;
    border-top: 2px solid #121212 !important;
    padding: 15px 20px !important;
    margin-bottom: 30px !important;
    font-size: 14px !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    color: #121212 !important;
    background: transparent !important;
    background-color: transparent !important;
    display: none !important; /* Icon entfernen, da es das "Es" stört */
}

.woocommerce-error {
    border-top-color: #d32f2f !important;
}

.woocommerce-error::before {
    color: #d32f2f !important;
}

/* WooCommerce Form Layout - Verbessert für bessere Lesbarkeit */
.woocommerce form .form-row {
    margin-bottom: 25px !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

/* Select2 Dropdowns - Volle Breite sicherstellen */
.woocommerce form .form-row .select2-container {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

.woocommerce form .form-row .select2-container--default .select2-selection--single {
    height: auto !important;
    min-height: 48px !important;
    padding: 0 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
    background: #fff !important;
}

.woocommerce form .form-row .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 14px 18px !important;
    line-height: 1.5 !important;
    color: #121212 !important;
    font-size: 15px !important;
}

.woocommerce form .form-row .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    right: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.woocommerce form .form-row .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #121212 transparent transparent transparent !important;
    border-width: 6px 5px 0 5px !important;
    margin-top: -3px !important;
}

.woocommerce form .form-row .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #121212 transparent !important;
    border-width: 0 5px 6px 5px !important;
    margin-top: -3px !important;
}

.woocommerce form .form-row .select2-container--default .select2-selection--single:focus,
.woocommerce form .form-row .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #121212 !important;
    outline: none !important;
    box-shadow: 0 0 0 1px rgba(18, 18, 18, 0.1) !important;
}

/* Select2 Dropdown-Liste - Volle Breite */
.woocommerce form .form-row .select2-dropdown {
    width: 100% !important;
    min-width: 100% !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
}

.woocommerce form .form-row .select2-results__option {
    padding: 12px 18px !important;
    font-size: 15px !important;
    color: #121212 !important;
}

.woocommerce form .form-row .select2-results__option--highlighted[aria-selected] {
    background-color: #f5f5f5 !important;
    color: #121212 !important;
}

.woocommerce form .form-row .select2-results__option[aria-selected=true] {
    background-color: #121212 !important;
    color: #fff !important;
}

.woocommerce form .form-row label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #121212 !important;
    margin-bottom: 8px !important;
    display: block !important;
    line-height: 1.4 !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    padding: 14px 18px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    width: 100% !important;
    color: #121212 !important;
    transition: border-color 0.3s ease !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: #121212 !important;
    outline: none !important;
    box-shadow: 0 0 0 1px rgba(18, 18, 18, 0.1) !important;
}

/* Form-Row mit zwei Spalten (z.B. Vorname/Nachname) */
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
    width: 48% !important;
    display: inline-block !important;
    vertical-align: top !important;
}

.woocommerce form .form-row-first {
    margin-right: 4% !important;
}

.woocommerce form .form-row-last {
    margin-right: 0 !important;
}

/* Formular-Container */
.woocommerce form.woocommerce-EditAccountForm,
.woocommerce form.woocommerce-form-edit-address {
    max-width: 800px !important;
    padding: 40px !important;
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}

/* Responsive */
@media (max-width: 768px) {
    .woocommerce form .form-row-first,
    .woocommerce form .form-row-last {
        width: 100% !important;
        margin-right: 0 !important;
    display: block !important;
    }
    
    .woocommerce form.woocommerce-EditAccountForm,
    .woocommerce form.woocommerce-form-edit-address {
        padding: 30px 20px !important;
    }
}

/* WooCommerce Block Cart Submit Button */
/* Überschrieben durch Unified Button Design weiter unten */

/* Checkout Order Summary Block */
.wp-block-woocommerce-checkout-order-summary-block {
    border: 1px solid #ee705f !important;
}


/* Überschrieben durch Unified Button Design weiter unten */

/* =========================================
   Unified Navigation Menu Styles
   ======================================== */

/* Header Background Global */
#site-header,
header.site-header,
.elementor-location-header,
.dynamic-header,
#portal-header {
    background-color: #ffffff !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;
}

/* Ensure Header is sticky/fixed if desired, or at least visible */
body:not(.home) #site-header,
body:not(.home) header.site-header {
    position: relative !important;
    width: 100% !important;
    z-index: 999 !important;
}

/* Navigation Links - Base State */
.site-navigation ul li a,
.elementor-nav-menu ul li a,
#site-navigation ul li a,
.main-navigation ul li a,
.menu-item a {
    color: #121212 !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

/* Navigation Links - Hover State */
.site-navigation ul li a:hover,
.elementor-nav-menu ul li a:hover,
#site-navigation ul li a:hover,
.main-navigation ul li a:hover,
.menu-item a:hover,
.current-menu-item > a,
.current_page_item > a {
    color: #ee705f !important;
}

/* Active Item Underline (Optional, but classy) */
.site-navigation ul li.current-menu-item > a,
.site-navigation ul li.current_page_item > a {
    border-bottom: 2px solid #ee705f !important;
    padding-bottom: 5px !important;
}

/* Dropdown Menus Background */
.sub-menu,
.children,
.elementor-nav-menu--dropdown {
    background-color: #ffffff !important;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1) !important;
}

/* Burger Menu Icon (Mobile) */
.site-navigation-toggle i,
.elementor-menu-toggle i {
    color: #121212 !important;
}

.site-navigation-toggle:hover i,
.elementor-menu-toggle:hover i {
    color: #ee705f !important;
}

/* Fix Logo Vertical Alignment */
.site-branding, .site-logo {
    display: flex;
    align-items: center;
}

/* Ensure content is pushed down because of fixed/white header */
body {
    /* padding-top: 100px !important; -> Can cause issues if header is not fixed */
}


/* =========================================
   Header & Menu Standardization (Startseite, Shop, Cart)
   ========================================= */

/* Force White Header Everywhere */
body #site-header,
body header.site-header,
body.home #site-header,
body.home header.site-header,
body.woocommerce-page #site-header,
body.woocommerce-page header.site-header,
body.woocommerce-cart #site-header,
body.woocommerce-cart header.site-header {
    background-color: #ffffff !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;
    position: relative !important; /* Statisch, nicht überlagernd */
    width: 100% !important;
    top: 0 !important;
}

/* Force Black Text Everywhere */
body #site-header a,
body header.site-header a,
body.home #site-header a,
body.home header.site-header a,
body.woocommerce-page #site-header a,
body.woocommerce-page header.site-header a,
.site-navigation a,
.menu-item a {
    color: #121212 !important;
}

/* Hover Orange Everywhere */
body #site-header a:hover,
body header.site-header a:hover,
.site-navigation a:hover,
.menu-item a:hover,
.current-menu-item > a {
    color: #ee705f !important;
}

/* Logo Centering if needed (Flexbox trick) */
/* Assuming logo is in a container that can be centered */
.site-branding {
    justify-content: center;
}


/* =========================================
   Custom Login Page Styling (Page ID 191)
   ========================================= */

/* Hintergrundbild für die gesamte Seite */
body.page-id-191 {
    background-image: url("http://freiluft-cloud-2026.local:8888/wp-content/uploads/2025/02/Freiluft-05-06-1.jpg") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    min-height: 100vh !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative;
}

/* Elementor Wrapper transparent machen */
body.page-id-191 .elementor, 
body.page-id-191 .elementor-section-wrap,
body.page-id-191 .elementor-section {
    background: transparent !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}

/* Der innere Container (Login Box) - Glas Effekt */
body.page-id-191 .e-con.e-parent,
body.page-id-191 .elementor-column {
    background-color: rgba(255, 255, 255, 0.4) !important; /* Milchglas */
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    padding: 60px 40px !important;
    max-width: 480px !important;
    width: 90% !important;
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin: 0 auto !important;
}

/* Logo */
body.page-id-191 .elementor-widget-image {
    margin-bottom: 30px !important;
    text-align: center !important;
    width: 100% !important;
}

body.page-id-191 .elementor-widget-image img {
    max-width: 180px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    filter: brightness(0) !important; /* Schwarz */
}

/* Formular Container */
body.page-id-191 .elementor-widget-shortcode {
    width: 100% !important;
}

/* Labels */
body.page-id-191 .wpum-login-form label {
    color: #121212 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 8px !important;
    font-weight: 600 !important;
}

/* Inputs */
body.page-id-191 .wpum-login-form input[type="text"],
body.page-id-191 .wpum-login-form input[type="password"] {
    background: #ffffff !important;
    border: none !important;
    padding: 15px !important;
    font-size: 16px !important;
    color: #121212 !important;
    width: 100% !important;
    margin-bottom: 5px !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
}

body.page-id-191 .wpum-login-form input[type="text"]:focus,
body.page-id-191 .wpum-login-form input[type="password"]:focus {
    outline: 2px solid #121212 !important;
}

/* Fieldsets spacing */
body.page-id-191 .wpum-login-form fieldset {
    margin-bottom: 20px !important;
}

/* Checkbox */
body.page-id-191 .fieldset-remember {
    margin-top: 10px !important;
}
body.page-id-191 .fieldset-remember label {
    text-transform: none !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    display: flex !important;
    align-items: center !important;
}
body.page-id-191 .fieldset-remember input[type="checkbox"] {
    margin-right: 10px !important;
    accent-color: #121212 !important;
}

/* Submit Button */
body.page-id-191 .wpum-login-form input[type="submit"] {
    background-color: transparent !important;
    border: 1px solid #121212 !important;
    color: #121212 !important;
    padding: 12px 0 !important;
    width: 100% !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    margin-top: 20px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

body.page-id-191 .wpum-login-form input[type="submit"]:hover {
    background-color: #121212 !important;
    color: #ffffff !important;
}

/* Action Links (Register/Forgot PW) */
body.page-id-191 .wpum-action-links {
    margin-top: 20px !important;
    text-align: center !important;
    font-size: 13px !important;
    list-style: none !important;
    padding: 0 !important;
}

body.page-id-191 .wpum-action-links li {
    margin-bottom: 8px !important;
}

body.page-id-191 .wpum-action-links a {
    color: #121212 !important;
    text-decoration: none !important;
}

body.page-id-191 .wpum-action-links a:hover {
    text-decoration: underline !important;
    color: #ee705f !important;
}


/* =========================================
   Login Page (ID 191) - FINAL FIXES
   ========================================= */

/* 1. Header komplett ausblenden */
html body.page-id-191 #site-header,
html body.page-id-191 header,
html body.page-id-191 #portal-header,
html body.page-id-191 .elementor-location-header {
    display: none !important;
}

/* 2. Footer "ausdünnen" */
/* Footer Container positionieren */
html body.page-id-191 footer#page-footer,
html body.page-id-191 .site-footer {
    display: block !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    z-index: 50 !important;
}

/* Oberen Teil des Footers verstecken */
html body.page-id-191 footer#page-footer .container > .row:first-child {
    display: none !important;
}

/* Copyright-Leiste stylen */
html body.page-id-191 #footerbottom {
    background: rgba(0,0,0,0.3) !important; /* Leichter dunkler Hintergrund für Lesbarkeit */
    padding: 15px 0 !important;
    backdrop-filter: blur(5px);
}

html body.page-id-191 #footerbottom p,
html body.page-id-191 #footerbottom a,
html body.page-id-191 #footerbottom li,
html body.page-id-191 #footerbottom span {
    color: #ffffff !important;
    font-size: 12px !important;
}

/* 3. Login Box Layout erzwingen (falls vorheriges CSS nicht griff) */
html body.page-id-191 .elementor-element-0c56bad, /* Spezifische ID aus Dump */
html body.page-id-191 .e-con.e-parent {
    max-width: 480px !important;
    margin: 0 auto !important;
    background-color: rgba(255, 255, 255, 0.6) !important; /* Etwas milchiger */
    backdrop-filter: blur(20px) !important;
    border-radius: 8px !important;
    flex-direction: column !important;
    display: flex !important;
    justify-content: center !important;
}

/* 4. Logo Größe */
html body.page-id-191 .elementor-widget-image img {
    width: 180px !important;
    max-width: 180px !important;
    height: auto !important;
}


/* =========================================
   Login Page (ID 191) - ULTRA SPECIFIC FIXES
   ========================================= */

/* 1. Haupt-Container begrenzen (Box) */
html body.page-id-191 .elementor-element-0c56bad {
    max-width: 480px !important;
    width: 90% !important;
    margin: 0 auto !important;
    background-color: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(10px) !important;
    border-radius: 4px !important;
    padding: 40px !important;
    border: 1px solid rgba(255,255,255,0.5) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important;
    
    /* Flexbox Centering Fix */
    align-self: center !important; 
    justify-self: center !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 20 !important;
}

/* 2. Logo Widget begrenzen */
html body.page-id-191 .elementor-element-cd2b35a {
    width: 100% !important;
    margin-bottom: 20px !important;
    text-align: center !important;
}

html body.page-id-191 .elementor-element-cd2b35a img {
    max-width: 180px !important;
    height: auto !important;
    width: auto !important;
    display: inline-block !important;
}

/* 3. Formular Widget */
html body.page-id-191 .elementor-element-99e8443 {
    width: 100% !important;
}

/* 4. Footer Copyright Leiste */
html body.page-id-191 footer#page-footer {
    display: block !important; /* Footer Container an */
    background: transparent !important;
    position: fixed !important; /* Fixed, damit immer unten */
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 10 !important;
    pointer-events: none; /* Damit man durchklicken kann falls es groß ist */
}

html body.page-id-191 #footerbottom {
    pointer-events: auto; /* Links klickbar */
    background: rgba(0,0,0,0.6) !important; /* Dunkler Balken */
    padding: 10px 0 !important;
}

html body.page-id-191 #footerbottom * {
    color: #ffffff !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

/* Verstecke ALLES andere im Footer */
html body.page-id-191 footer#page-footer .container > .row:not(:has(#footerbottom)) {
    display: none !important;
}
/* Sicherer: */
html body.page-id-191 footer#page-footer .kontakt,
html body.page-id-191 footer#page-footer .social,
html body.page-id-191 footer#page-footer .logo,
html body.page-id-191 footer#page-footer .menu,
html body.page-id-191 footer#page-footer .col-md-4 {
    display: none !important;
}


/* =========================================
   Login Page (ID 191) - TEMPLATE FALLBACK FIX
   ========================================= */

/* Falls kein Elementor Canvas genutzt wird, sondern Standard-Content */
html body.page-id-191 .entry-content {
    background-color: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    padding: 40px !important;
    border-radius: 0 !important;
    max-width: 480px !important;
    margin: 15vh auto !important; /* Vertikal zentriert */
    border: 1px solid rgba(255,255,255,0.5) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important;
    text-align: center !important;
    position: relative !important;
    z-index: 20 !important;
}

/* Logo Größe begrenzen (Wunsch: 350px) */
html body.page-id-191 .entry-content img {
    max-width: 350px !important;
    width: 100% !important; /* Responsive */
    height: auto !important;
    display: block !important;
    margin: 0 auto 30px auto !important;
}

/* Formular Styling im Content */
html body.page-id-191 .entry-content .wpum-login-form {
    width: 100% !important;
}

/* Verstecke den Seitentitel falls vorhanden */
html body.page-id-191 .entry-title,
html body.page-id-191 .page-header {
    display: none !important;
}

/* Footer Copyright Leiste (wiederholen/verstärken) */
html body.page-id-191 footer#page-footer {
    background: transparent !important; 
}
html body.page-id-191 #footerbottom {
    background: rgba(0,0,0,0.8) !important; /* Dunkler Balken für Copyright */
    padding: 10px 0 !important;
}


/* =========================================
   Login Page (ID 191) - ONE SCREEN FIXES
   ========================================= */

/* Kein Scrollen auf der Hauptseite */
body.page-id-191 {
    height: 100vh !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Box Vertikal Zentrieren (Reset Margin) */
html body.page-id-191 .entry-content {
    margin: 0 auto !important;
    /* Flexbox Zentrierung vom Body greift hier */
    max-height: 85vh !important;
    overflow-y: auto !important;
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
    width: 100% !important; /* Wichtig für korrekte Größe */
    box-sizing: border-box !important; /* Padding inkludiert */
}
html body.page-id-191 .entry-content::-webkit-scrollbar {
    display: none;
}

/* Footer Balken Perfektionieren */
html body.page-id-191 #footerbottom {
    background: #121212 !important; /* Voll Schwarz */
    width: 100% !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    padding: 15px 40px !important;
    z-index: 100 !important;
}

html body.page-id-191 #footerbottom .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

html body.page-id-191 #footerbottom .row {
    display: flex !important;
    align-items: center !important; /* Vertikal mittig */
    justify-content: space-between !important; /* Links und Rechts außen */
    margin: 0 !important;
}

html body.page-id-191 #footerbottom .copyright {
    text-align: left !important;
    flex: 1 !important;
}

html body.page-id-191 #footerbottom .rechtliches {
    text-align: right !important;
    flex: 1 !important;
}

html body.page-id-191 #footerbottom .rechtliches ul {
    justify-content: flex-end !important;
    margin-bottom: 0 !important;
}

html body.page-id-191 #footerbottom p {
    margin-bottom: 0 !important;
}


/* =========================================
   Login Page (ID 191) - FINE TUNING
   ========================================= */

/* Footer glasiger machen */
html body.page-id-191 #footerbottom {
    background: rgba(0, 0, 0, 0.6) !important; /* Transparenz */
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important; /* Weiße Schrift */
}

/* Footer Text und Links - Weiße Schrift für Login */
html body.page-id-191 #footerbottom p,
html body.page-id-191 #footerbottom ul,
html body.page-id-191 #footerbottom li,
html body.page-id-191 #footerbottom a,
html body.page-id-191 #footerbottom .copyright,
html body.page-id-191 #footerbottom .rechtliches,
html body.page-id-191 #footerbottom * {
    color: #ffffff !important;
}

/* Login Box kompakter machen */
html body.page-id-191 .entry-content {
    padding: 25px 40px !important; /* Vertikales Padding reduziert */
}

/* Logo kleiner und weniger Abstand */
html body.page-id-191 .entry-content img {
    max-width: 220px !important; /* Deutlich kleiner (war 350px) */
    margin: 0 auto 10px auto !important; /* Weniger Abstand nach unten */
}

/* Formular Felder kompakter - FINALE WERTE (überschreibt frühere Regeln) */
html body.page-id-191 .wpum-login-form fieldset {
    margin-bottom: 15px !important; /* Weniger Abstand zwischen Feldern */
}

html body.page-id-191 .wpum-login-form input[type="submit"] {
    margin-top: 10px !important; /* FINALER WERT */
    padding: 12px 0 !important; /* FINALER WERT - nicht 10px */
}

html body.page-id-191 .wpum-action-links {
    margin-top: 15px !important; /* FINALER WERT - nicht 20px */
    margin-bottom: 0 !important;
}

/* Textgrößen - FINALE WERTE (überschreibt frühere Regeln) */
html body.page-id-191 .wpum-login-form label {
    font-size: 13px !important;
    margin-bottom: 8px !important; /* FINALER WERT - nicht 3px */
}

html body.page-id-191 .wpum-login-form input[type="text"], 
html body.page-id-191 .wpum-login-form input[type="password"] {
    padding: 15px !important; /* FINALER WERT - nicht 10px 15px */
    font-size: 16px !important; /* FINALER WERT - nicht 15px */
}


/* =========================================
   REGISTRIERUNG & PASSWORT VERGESSEN - Login Stil
   ========================================= */

/* Hintergrund wie Login-Seite - EXAKT GLEICH */
body:has(.wpum-registration-form),
body:has(.wpum-password-recovery-form),
body.page-slug-registrieren,
body.page-slug-registration,
body.page-slug-passwort-vergessen,
body:has([class*="wpum-form"]):not(.page-id-191):not(.home),
body:has(.freiluft-registration-form),
body:has(.freiluft-guarantee-form),
body:has(.freiluft-registration-dashboard),
body:has(.registration-container) {
    background-image: url("http://freiluft-cloud-2026.local:8888/wp-content/uploads/2025/02/Freiluft-05-06-1.jpg") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    background-attachment: fixed !important;
    overflow-y: auto !important; /* Erlaube Scrollen falls nötig */
}

/* Navbar ausblenden auf Registrierungs- und Passwort-vergessen-Seiten */
body:has(.wpum-registration-form) #page-header,
body:has(.wpum-registration-form) header,
body:has(.wpum-registration-form) header.site-header,
body:has(.wpum-registration-form) .site-navigation,
body:has(.wpum-registration-form) #site-header,
body:has(.wpum-registration-form) nav:not(footer nav),
body:has(.wpum-password-recovery-form) #page-header,
body:has(.wpum-password-recovery-form) header,
body:has(.wpum-password-recovery-form) header.site-header,
body:has(.wpum-password-recovery-form) .site-navigation,
body:has(.wpum-password-recovery-form) #site-header,
body:has(.wpum-password-recovery-form) nav:not(footer nav),
body.page-slug-registrieren #page-header,
body.page-slug-registrieren header,
body.page-slug-registrieren header.site-header,
body.page-slug-registrieren .site-navigation,
body.page-slug-registrieren #site-header,
body.page-slug-registrieren nav:not(footer nav),
body.page-slug-registration #page-header,
body.page-slug-registration header,
body.page-slug-registration header.site-header,
body.page-slug-registration .site-navigation,
body.page-slug-registration #site-header,
body.page-slug-registration nav:not(footer nav),
body.page-slug-passwort-vergessen #page-header,
body.page-slug-passwort-vergessen header,
body.page-slug-passwort-vergessen header.site-header,
body.page-slug-passwort-vergessen .site-navigation,
body.page-slug-passwort-vergessen #site-header,
body.page-slug-passwort-vergessen nav:not(footer nav),
body:has([class*="wpum-form"]):not(.page-id-191):not(.home) #page-header,
body:has([class*="wpum-form"]):not(.page-id-191):not(.home) header,
body:has([class*="wpum-form"]):not(.page-id-191):not(.home) header.site-header,
body:has([class*="wpum-form"]):not(.page-id-191):not(.home) .site-navigation,
body:has([class*="wpum-form"]):not(.page-id-191):not(.home) #site-header,
body:has([class*="wpum-form"]):not(.page-id-191):not(.home) nav:not(footer nav),
body:has(.freiluft-registration-dashboard) #page-header,
body:has(.freiluft-registration-dashboard) header,
body:has(.freiluft-registration-dashboard) header.site-header,
body:has(.freiluft-registration-dashboard) .site-navigation,
body:has(.freiluft-registration-dashboard) #site-header,
body:has(.freiluft-registration-dashboard) nav:not(footer nav),
body:has(.registration-container) #page-header,
body:has(.registration-container) header,
body:has(.registration-container) header.site-header,
body:has(.registration-container) .site-navigation,
body:has(.registration-container) #site-header,
body:has(.registration-container) nav:not(footer nav) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Footer auf Registrierungsseite ausblenden */
body:has(.freiluft-registration-dashboard) #page-footer,
body:has(.freiluft-registration-dashboard) footer,
body:has(.freiluft-registration-dashboard) .site-footer,
body:has(.freiluft-registration-dashboard) footer#page-footer,
body:has(.registration-container) #page-footer,
body:has(.registration-container) footer,
body:has(.registration-container) .site-footer,
body:has(.registration-container) footer#page-footer,
body.page-slug-registration #page-footer,
body.page-slug-registration footer,
body.page-slug-registration .site-footer,
body.page-slug-registration footer#page-footer {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Body Zentrierung für Formular - bereits oben definiert, hier entfernt */

/* Wrapper Container für Content - EXAKT WIE LOGIN */
body:has(.wpum-registration-form) #content,
body:has(.wpum-password-recovery-form) #content,
body.page-slug-registrieren #content,
body.page-slug-passwort-vergessen #content,
body:has([class*="wpum-form"]):not(.page-id-191):not(.home) #content,
body:has(.freiluft-registration-form) #content,
body:has(.freiluft-guarantee-form) #content,
body:has(.freiluft-registration-dashboard) #content,
body:has(.registration-container) #content {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important; /* KEIN Padding für korrekte Zentrierung */
    min-height: 100vh !important;
    background: none !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Site-Main Container zentrieren - KEIN Hintergrund */
/* WICHTIG: Padding entfernen für korrekte Zentrierung */
body:has(.wpum-registration-form) #primary,
body:has(.wpum-password-recovery-form) #primary,
body.page-slug-registrieren #primary,
body.page-slug-registration #primary,
body.page-slug-passwort-vergessen #primary,
body:has([class*="wpum-form"]):not(.page-id-191):not(.home) #primary,
body:has(.freiluft-registration-form) #primary,
body:has(.freiluft-guarantee-form) #primary,
body:has(.freiluft-registration-dashboard) #primary,
body:has(.registration-container) #primary,
body:has(.wpum-registration-form) .site-main,
body:has(.wpum-password-recovery-form) .site-main,
body.page-slug-registrieren .site-main,
body.page-slug-registration .site-main,
body.page-slug-passwort-vergessen .site-main,
body:has([class*="wpum-form"]):not(.page-id-191):not(.home) .site-main,
body:has(.freiluft-registration-form) .site-main,
body:has(.freiluft-guarantee-form) .site-main,
body:has(.freiluft-registration-dashboard) .site-main,
body:has(.registration-container) .site-main {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important; /* KEIN Padding für korrekte Zentrierung */
    min-height: 100vh !important;
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* =========================================
   VEREINHEITLICHUNG ALLER FORMULAR-SEITEN
   Login, Registrierung, Passwort vergessen, Garantie aktivieren
   ========================================= */

/* Registrierungs- und Passwort-vergessen-Seiten im Login-Stil */
/* EXAKT WIE LOGIN - Alle Werte identisch (finale Werte aus Zeile 2859-2860) */
body:has(.wpum-registration-form) .entry-content,
body:has(.wpum-password-recovery-form) .entry-content,
body.page-slug-registrieren .entry-content,
body.page-slug-registration .entry-content,
body.page-slug-passwort-vergessen .entry-content,
body:has([class*="wpum-form"]):not(.page-id-191) .entry-content,
.entry-content:has(.wpum-registration-form),
.entry-content:has(.wpum-password-recovery-form),
.entry-content:has(.wpum-form):not(.page-id-191 .entry-content),
/* Garantie-Aktivierungs-Formular */
body:has(.freiluft-registration-form) .entry-content,
body:has(.freiluft-guarantee-form) .entry-content,
body:has(.freiluft-registration-dashboard) .entry-content {
    /* EXAKT WIE LOGIN - Finale Werte */
    background-color: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    padding: 40px 40px !important; /* Mehr Padding oben für Logo */
    border-radius: 0 !important;
    max-width: 600px !important; /* Etwas breiter für Registrierungsformular */
    width: 100% !important; /* EXAKT WIE LOGIN */
    margin: auto !important; /* Zentriert durch Flexbox-Parent */
    border: 1px solid rgba(255,255,255,0.5) !important; /* EXAKT WIE LOGIN */
    box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important; /* EXAKT WIE LOGIN */
    text-align: left !important; /* Linksbündig für Registrierungsformular */
    position: relative !important;
    z-index: 20 !important;
    max-height: 90vh !important; /* Erhöht für mehr Platz */
    overflow-y: auto !important;
    -ms-overflow-style: none;
    scrollbar-width: none;
    box-sizing: border-box !important; /* EXAKT WIE LOGIN */
}

/* Überschreibe inline Styles aus registration-form.php Template */
body:has(.freiluft-registration-dashboard) .freiluft-registration-dashboard,
body:has(.registration-container) .freiluft-registration-dashboard {
    width: 100% !important;
    min-height: auto !important;
    padding: 0 !important;
    background: transparent !important;
}

body:has(.freiluft-registration-dashboard) .registration-container,
body:has(.registration-container) .registration-container {
    max-width: 100% !important;
    margin: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body:has(.freiluft-registration-dashboard) .freiluft-registration-dashboard h1,
body:has(.registration-container) .freiluft-registration-dashboard h1 {
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #121212 !important;
    font-size: 14px !important; /* Gleiche Größe wie small/strong */
    text-align: center !important; /* Zentriert */
    font-weight: 700 !important; /* Gleiche Stärke wie strong */
    text-transform: none !important; /* Keine Großbuchstaben */
    letter-spacing: normal !important; /* Normaler Abstand */
    font-family: inherit !important; /* Gleiche Schriftart wie der Rest */
    line-height: 1.5 !important; /* Gleiche Zeilenhöhe */
}

body:has(.freiluft-registration-dashboard) .registration-intro-text,
body:has(.registration-container) .registration-intro-text {
    margin: 0 0 30px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    color: #121212 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

body:has(.freiluft-registration-dashboard) .registration-intro-text p,
body:has(.registration-container) .registration-intro-text p {
    margin: 0 0 15px 0 !important;
    padding: 0 !important;
}

body:has(.freiluft-registration-dashboard) .registration-intro-text ul,
body:has(.registration-container) .registration-intro-text ul {
    margin: 10px 0 15px 20px !important;
    padding: 0 !important;
    list-style-type: disc !important;
}

body:has(.freiluft-registration-dashboard) .registration-intro-text li,
body:has(.registration-container) .registration-intro-text li {
    margin: 5px 0 !important;
    padding: 0 !important;
}

body:has(.freiluft-registration-dashboard) .registration-intro-text strong,
body:has(.registration-container) .registration-intro-text strong {
    font-weight: 700 !important;
    color: #121212 !important;
}

body:has(.freiluft-registration-dashboard) .registration-container .form-group,
body:has(.registration-container) .registration-container .form-group {
    margin-bottom: 15px !important;
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Small-Text in Form-Groups (z.B. "Straße und Hausnummer") */
body:has(.freiluft-registration-dashboard) .registration-container .form-group small,
body:has(.registration-container) .registration-container .form-group small {
    display: block !important;
    margin-top: 5px !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    font-size: 12px !important;
    color: #666 !important;
    font-weight: normal !important;
}

/* Checkbox-Labels normale Schrift */
body:has(.freiluft-registration-dashboard) .checkbox-label span,
body:has(.registration-container) .checkbox-label span,
body:has(.freiluft-registration-dashboard) .checkbox-group span,
body:has(.registration-container) .checkbox-group span {
    text-transform: none !important;
    font-weight: normal !important;
    font-size: 14px !important;
}

body:has(.freiluft-registration-dashboard) .registration-container .form-row,
body:has(.registration-container) .registration-container .form-row {
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 15px !important;
    margin-bottom: 15px !important;
}

body:has(.freiluft-registration-dashboard) .registration-container label,
body:has(.registration-container) .registration-container label {
    display: block !important;
    margin-bottom: 8px !important;
    font-weight: 600 !important;
    text-transform: none !important; /* Normale Schrift für Labels */
    color: #121212 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

body:has(.freiluft-registration-dashboard) .registration-container input[type="text"],
body:has(.freiluft-registration-dashboard) .registration-container input[type="email"],
body:has(.freiluft-registration-dashboard) .registration-container input[type="password"],
body:has(.registration-container) .registration-container input[type="text"],
body:has(.registration-container) .registration-container input[type="email"],
body:has(.registration-container) .registration-container input[type="password"] {
    width: 100% !important;
    padding: 15px !important;
    border: none !important;
    border-bottom: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
    font-size: 16px !important;
    background: transparent !important;
    color: #121212 !important;
    transition: border-color 0.3s ease !important;
}

body:has(.freiluft-registration-dashboard) .registration-container input:focus,
body:has(.registration-container) .registration-container input:focus {
    outline: none !important;
    border-bottom-color: #121212 !important;
}

body:has(.freiluft-registration-dashboard) .registration-container .button-primary,
body:has(.registration-container) .registration-container .button-primary {
    width: 100% !important;
    padding: 12px 24px !important;
    background-color: transparent !important;
    color: #121212 !important;
    border: 1px solid #121212 !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all 0.3s ease !important;
    margin-top: 20px !important;
}

body:has(.freiluft-registration-dashboard) .registration-container .button-primary:hover,
body:has(.registration-container) .registration-container .button-primary:hover {
    background-color: #121212 !important;
    color: #efeeee !important;
    border-color: #121212 !important;
}

/* #primary, .site-main und #content haben KEINEN Hintergrund, nur Zentrierung */
body:has(.wpum-registration-form) #primary,
body:has(.wpum-password-recovery-form) #primary,
body.page-slug-registrieren #primary,
body.page-slug-registration #primary,
body.page-slug-passwort-vergessen #primary,
body:has([class*="wpum-form"]):not(.page-id-191):not(.home) #primary,
body:has(.wpum-registration-form) #content,
body:has(.wpum-password-recovery-form) #content,
body.page-slug-registrieren #content,
body.page-slug-registration #content,
body.page-slug-passwort-vergessen #content,
body:has([class*="wpum-form"]):not(.page-id-191):not(.home) #content {
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
}

body:has(.wpum-registration-form) .entry-content::-webkit-scrollbar,
body:has(.wpum-password-recovery-form) .entry-content::-webkit-scrollbar,
body.page-slug-registrieren .entry-content::-webkit-scrollbar,
body.page-slug-registration .entry-content::-webkit-scrollbar,
body.page-slug-passwort-vergessen .entry-content::-webkit-scrollbar,
body:has([class*="wpum-form"]):not(.page-id-191) .entry-content::-webkit-scrollbar,
.entry-content:has(.wpum-registration-form)::-webkit-scrollbar,
.entry-content:has(.wpum-password-recovery-form)::-webkit-scrollbar,
body:has(.freiluft-registration-form) .entry-content::-webkit-scrollbar,
body:has(.freiluft-guarantee-form) .entry-content::-webkit-scrollbar,
body:has(.freiluft-registration-dashboard) .entry-content::-webkit-scrollbar {
    display: none;
}

/* Logo - Vereinheitlicht wie Login */
body:has(.wpum-registration-form) .entry-content img,
body:has(.wpum-password-recovery-form) .entry-content img,
body.page-slug-registrieren .entry-content img,
body.page-slug-registration .entry-content img,
body.page-slug-passwort-vergessen .entry-content img,
body:has([class*="wpum-form"]):not(.page-id-191) .entry-content img,
body:has(.freiluft-registration-form) .entry-content img,
body:has(.freiluft-guarantee-form) .entry-content img,
body:has(.freiluft-registration-dashboard) .entry-content img,
body:has(.freiluft-registration-dashboard) .registration-logo,
body:has(.registration-container) .registration-logo {
    max-width: 220px !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto 30px auto !important; /* Mehr Abstand nach unten */
}

/* Formular Styling */
body:has(.wpum-registration-form) .wpum-form,
body:has(.wpum-password-recovery-form) .wpum-form,
body.page-slug-registrieren .wpum-form,
body.page-slug-registration .wpum-form,
body.page-slug-passwort-vergessen .wpum-form,
body:has([class*="wpum-form"]):not(.page-id-191) .wpum-form {
    width: 100% !important;
}

/* Labels - Vereinheitlicht wie Login */
body:has(.wpum-registration-form) .wpum-form label,
body:has(.wpum-password-recovery-form) .wpum-form label,
body.page-slug-registrieren .wpum-form label,
body.page-slug-registration .wpum-form label,
body.page-slug-passwort-vergessen .wpum-form label,
body:has([class*="wpum-form"]):not(.page-id-191) .wpum-form label,
body:has(.freiluft-registration-form) .freiluft-registration-form label,
body:has(.freiluft-guarantee-form) .freiluft-guarantee-form label,
body:has(.freiluft-registration-dashboard) .freiluft-registration-form label,
.freiluft-registration-form label,
.freiluft-guarantee-form label {
    color: #121212 !important;
    font-size: 13px !important;
    text-transform: none !important; /* Normale Schrift für Checkbox-Labels */
    letter-spacing: 1px !important;
    margin-bottom: 8px !important;
    font-weight: 600 !important;
}

/* Inputs - Vereinheitlicht wie Login (padding: 15px statt 10px 15px) */
body:has(.wpum-registration-form) .wpum-form input[type="text"],
body:has(.wpum-registration-form) .wpum-form input[type="email"],
body:has(.wpum-registration-form) .wpum-form input[type="password"],
body:has(.wpum-password-recovery-form) .wpum-form input[type="text"],
body:has(.wpum-password-recovery-form) .wpum-form input[type="email"],
body:has(.wpum-password-recovery-form) .wpum-form input[type="password"],
body.page-slug-registrieren .wpum-form input[type="text"],
body.page-slug-registrieren .wpum-form input[type="email"],
body.page-slug-registrieren .wpum-form input[type="password"],
body.page-slug-registration .wpum-form input[type="text"],
body.page-slug-registration .wpum-form input[type="email"],
body.page-slug-registration .wpum-form input[type="password"],
body.page-slug-passwort-vergessen .wpum-form input[type="text"],
body.page-slug-passwort-vergessen .wpum-form input[type="email"],
body.page-slug-passwort-vergessen .wpum-form input[type="password"],
body:has([class*="wpum-form"]):not(.page-id-191) .wpum-form input[type="text"],
body:has([class*="wpum-form"]):not(.page-id-191) .wpum-form input[type="email"],
body:has([class*="wpum-form"]):not(.page-id-191) .wpum-form input[type="password"],
/* Garantie-Formular Inputs */
body:has(.freiluft-registration-form) .freiluft-registration-form input[type="text"],
body:has(.freiluft-registration-form) .freiluft-registration-form input[type="email"],
body:has(.freiluft-registration-form) .freiluft-registration-form input[type="password"],
body:has(.freiluft-guarantee-form) .freiluft-guarantee-form input[type="text"],
body:has(.freiluft-guarantee-form) .freiluft-guarantee-form input[type="file"],
body:has(.freiluft-guarantee-form) .freiluft-guarantee-form textarea,
.freiluft-registration-form input[type="text"],
.freiluft-registration-form input[type="email"],
.freiluft-registration-form input[type="password"],
.freiluft-guarantee-form input[type="text"],
.freiluft-guarantee-form input[type="file"],
.freiluft-guarantee-form textarea {
    background: #ffffff !important;
    border: none !important;
    padding: 15px !important;
    font-size: 16px !important;
    color: #121212 !important;
    width: 100% !important;
    margin-bottom: 5px !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
}

body:has(.wpum-registration-form) .wpum-form input:focus,
body:has(.wpum-password-recovery-form) .wpum-form input:focus,
body.page-slug-registrieren .wpum-form input:focus,
body.page-slug-registration .wpum-form input:focus,
body.page-slug-passwort-vergessen .wpum-form input:focus,
body:has([class*="wpum-form"]):not(.page-id-191) .wpum-form input:focus,
body:has(.freiluft-registration-form) .freiluft-registration-form input:focus,
body:has(.freiluft-registration-form) .freiluft-registration-form textarea:focus,
body:has(.freiluft-guarantee-form) .freiluft-guarantee-form input:focus,
body:has(.freiluft-guarantee-form) .freiluft-guarantee-form textarea:focus,
.freiluft-registration-form input:focus,
.freiluft-registration-form textarea:focus,
.freiluft-guarantee-form input:focus,
.freiluft-guarantee-form textarea:focus {
    outline: 2px solid #121212 !important;
}

/* Fieldsets - EXAKT WIE LOGIN */
body:has(.wpum-registration-form) .wpum-form fieldset,
body:has(.wpum-password-recovery-form) .wpum-form fieldset,
body.page-slug-registrieren .wpum-form fieldset,
body.page-slug-registration .wpum-form fieldset,
body.page-slug-passwort-vergessen .wpum-form fieldset,
body:has([class*="wpum-form"]):not(.page-id-191) .wpum-form fieldset {
    margin-bottom: 15px !important; /* EXAKT WIE LOGIN */
}

/* Action Links (Register/Forgot PW) - EXAKT WIE LOGIN (FINALER WERT) */
body:has(.wpum-registration-form) .wpum-action-links,
body:has(.wpum-password-recovery-form) .wpum-action-links,
body.page-slug-registrieren .wpum-action-links,
body.page-slug-passwort-vergessen .wpum-action-links,
body:has([class*="wpum-form"]):not(.page-id-191) .wpum-action-links {
    margin-top: 15px !important; /* FINALER WERT - EXAKT WIE LOGIN */
    margin-bottom: 0 !important;
    text-align: center !important;
    font-size: 13px !important;
    list-style: none !important;
    padding: 0 !important;
}

body:has(.wpum-registration-form) .wpum-action-links li,
body:has(.wpum-password-recovery-form) .wpum-action-links li,
body.page-slug-registrieren .wpum-action-links li,
body.page-slug-passwort-vergessen .wpum-action-links li,
body:has([class*="wpum-form"]):not(.page-id-191) .wpum-action-links li {
    margin-bottom: 8px !important;
}

body:has(.wpum-registration-form) .wpum-action-links a,
body:has(.wpum-password-recovery-form) .wpum-action-links a,
body.page-slug-registrieren .wpum-action-links a,
body.page-slug-passwort-vergessen .wpum-action-links a,
body:has([class*="wpum-form"]):not(.page-id-191) .wpum-action-links a {
    color: #121212 !important;
    text-decoration: none !important;
}

body:has(.wpum-registration-form) .wpum-action-links a:hover,
body:has(.wpum-password-recovery-form) .wpum-action-links a:hover,
body.page-slug-registrieren .wpum-action-links a:hover,
body.page-slug-passwort-vergessen .wpum-action-links a:hover,
body:has([class*="wpum-form"]):not(.page-id-191) .wpum-action-links a:hover {
    text-decoration: underline !important;
    color: #ee705f !important;
}

/* Submit Button - EXAKT WIE LOGIN (FINALER WERT) */
body:has(.wpum-registration-form) .wpum-form input[type="submit"],
body:has(.wpum-registration-form) .wpum-form button[type="submit"],
body:has(.wpum-password-recovery-form) .wpum-form input[type="submit"],
body:has(.wpum-password-recovery-form) .wpum-form button[type="submit"],
body.page-slug-registrieren .wpum-form input[type="submit"],
body.page-slug-registrieren .wpum-form button[type="submit"],
body.page-slug-registration .wpum-form input[type="submit"],
body.page-slug-registration .wpum-form button[type="submit"],
body.page-slug-passwort-vergessen .wpum-form input[type="submit"],
body.page-slug-passwort-vergessen .wpum-form button[type="submit"],
body:has([class*="wpum-form"]):not(.page-id-191) .wpum-form input[type="submit"],
body:has([class*="wpum-form"]):not(.page-id-191) .wpum-form button[type="submit"],
/* Garantie-Formular Buttons */
body:has(.freiluft-registration-form) .freiluft-registration-form input[type="submit"],
body:has(.freiluft-registration-form) .freiluft-registration-form button[type="submit"],
body:has(.freiluft-guarantee-form) .freiluft-guarantee-form input[type="submit"],
body:has(.freiluft-guarantee-form) .freiluft-guarantee-form button[type="submit"],
.freiluft-registration-form input[type="submit"],
.freiluft-registration-form button[type="submit"],
.freiluft-guarantee-form input[type="submit"],
.freiluft-guarantee-form button[type="submit"] {
    background-color: transparent !important;
    border: 1px solid #121212 !important;
    color: #121212 !important;
    padding: 12px 0 !important; /* FINALER WERT - EXAKT WIE LOGIN */
    width: 100% !important;
    font-size: 14px !important; /* FINALER WERT - EXAKT WIE LOGIN */
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: 10px !important; /* FINALER WERT - EXAKT WIE LOGIN */
}

body:has(.wpum-registration-form) .wpum-form input[type="submit"]:hover,
body:has(.wpum-registration-form) .wpum-form button[type="submit"]:hover,
body:has(.wpum-password-recovery-form) .wpum-form input[type="submit"]:hover,
body:has(.wpum-password-recovery-form) .wpum-form button[type="submit"]:hover,
body.page-slug-registrieren .wpum-form input[type="submit"]:hover,
body.page-slug-registrieren .wpum-form button[type="submit"]:hover,
body.page-slug-registration .wpum-form input[type="submit"]:hover,
body.page-slug-registration .wpum-form button[type="submit"]:hover,
body.page-slug-passwort-vergessen .wpum-form input[type="submit"]:hover,
body.page-slug-passwort-vergessen .wpum-form button[type="submit"]:hover,
body:has([class*="wpum-form"]):not(.page-id-191) .wpum-form input[type="submit"]:hover,
body:has([class*="wpum-form"]):not(.page-id-191) .wpum-form button[type="submit"]:hover,
/* Garantie-Formular Button Hover - EXAKT WIE LOGIN */
body:has(.freiluft-registration-form) .freiluft-registration-form input[type="submit"]:hover,
body:has(.freiluft-registration-form) .freiluft-registration-form button[type="submit"]:hover,
body:has(.freiluft-guarantee-form) .freiluft-guarantee-form input[type="submit"]:hover,
body:has(.freiluft-guarantee-form) .freiluft-guarantee-form button[type="submit"]:hover,
.freiluft-registration-form input[type="submit"]:hover,
.freiluft-registration-form button[type="submit"]:hover,
.freiluft-guarantee-form input[type="submit"]:hover,
.freiluft-guarantee-form button[type="submit"]:hover {
    background-color: #121212 !important;
    color: #ffffff !important; /* EXAKT WIE LOGIN (nicht #efeeee) */
    border-color: #121212 !important;
}

/* =========================================
   MOBILE RESPONSIVE - Registrierung & Passwort
   ========================================= */
@media (max-width: 768px) {
    /* Hintergrund bleibt gleich */
    body:has(.wpum-registration-form),
    body:has(.wpum-password-recovery-form),
    body.page-slug-registrieren,
    body.page-slug-passwort-vergessen {
        background-attachment: scroll !important; /* Fixed kann auf Mobile problematisch sein */
    }
    
    /* Entry-Content kleiner auf Mobile - Vereinheitlicht */
    body:has(.wpum-registration-form) .entry-content,
    body:has(.wpum-password-recovery-form) .entry-content,
    body.page-slug-registrieren .entry-content,
    body.page-slug-passwort-vergessen .entry-content,
    body:has(.freiluft-registration-form) .entry-content,
    body:has(.freiluft-guarantee-form) .entry-content,
    body:has(.freiluft-registration-dashboard) .entry-content,
    html body.page-id-191 .entry-content {
        max-width: 90% !important;
        padding: 20px !important;
        margin: 20px auto !important;
        max-height: 90vh !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Site-Main Padding reduzieren */
    body:has(.wpum-registration-form) #primary,
    body:has(.wpum-password-recovery-form) #primary,
    body.page-slug-registrieren #primary,
    body.page-slug-passwort-vergessen #primary,
    body:has(.wpum-registration-form) .site-main,
    body:has(.wpum-password-recovery-form) .site-main,
    body.page-slug-registrieren .site-main,
    body.page-slug-passwort-vergessen .site-main {
        padding: 10px !important;
    }
    
    /* Logo kleiner */
    body:has(.wpum-registration-form) .entry-content img,
    body:has(.wpum-password-recovery-form) .entry-content img,
    body.page-slug-registrieren .entry-content img,
    body.page-slug-passwort-vergessen .entry-content img,
    body:has(.freiluft-registration-form) .entry-content img,
    body:has(.freiluft-guarantee-form) .entry-content img,
    body:has(.freiluft-registration-dashboard) .entry-content img {
        max-width: 150px !important;
    }
    
    /* Footer kleiner auf Mobile */
    body:has(.wpum-registration-form) #footerbottom,
    body:has(.wpum-password-recovery-form) #footerbottom,
    body.page-slug-registrieren #footerbottom,
    body.page-slug-passwort-vergessen #footerbottom,
    body:has(.freiluft-registration-form) #footerbottom,
    body:has(.freiluft-guarantee-form) #footerbottom,
    body:has(.freiluft-registration-dashboard) #footerbottom {
        padding: 10px 20px !important;
        font-size: 11px !important;
    }
    
    /* Footer Text auf Mobile - alles in einer Zeile */
    body:has(.wpum-registration-form) #footerbottom p,
    body:has(.wpum-password-recovery-form) #footerbottom p,
    body.page-slug-registrieren #footerbottom p,
    body.page-slug-passwort-vergessen #footerbottom p,
    body:has(.freiluft-registration-form) #footerbottom p,
    body:has(.freiluft-guarantee-form) #footerbottom p,
    body:has(.freiluft-registration-dashboard) #footerbottom p,
    body:has(.wpum-registration-form) #footerbottom ul,
    body:has(.wpum-password-recovery-form) #footerbottom ul,
    body.page-slug-registrieren #footerbottom ul,
    body.page-slug-passwort-vergessen #footerbottom ul,
    body:has(.freiluft-registration-form) #footerbottom ul,
    body:has(.freiluft-guarantee-form) #footerbottom ul,
    body:has(.freiluft-registration-dashboard) #footerbottom ul {
        font-size: 11px !important;
        display: inline !important;
    }
}

/* Verstecke Seitentitel */
body:has(.wpum-registration-form) .entry-title,
body:has(.wpum-password-recovery-form) .entry-title,
body.page-slug-registrieren .entry-title,
body.page-slug-passwort-vergessen .entry-title,
body:has([class*="wpum-form"]):not(.page-id-191) .entry-title,
body:has(.wpum-registration-form) .page-header,
body:has(.wpum-password-recovery-form) .page-header,
body.page-slug-registrieren .page-header,
body.page-slug-passwort-vergessen .page-header,
body:has([class*="wpum-form"]):not(.page-id-191) .page-header {
    display: none !important;
}

/* Footer Styling - Vereinheitlicht wie Login */
body:has(.wpum-registration-form) footer#page-footer,
body:has(.wpum-password-recovery-form) footer#page-footer,
body.page-slug-registrieren footer#page-footer,
body.page-slug-passwort-vergessen footer#page-footer,
body:has([class*="wpum-form"]):not(.page-id-191) footer#page-footer,
body:has(.freiluft-registration-form) footer#page-footer,
body:has(.freiluft-guarantee-form) footer#page-footer,
body:has(.freiluft-registration-dashboard) footer#page-footer {
    background: transparent !important;
}

/* Footer Bottom - EXAKT WIE LOGIN (finale Werte aus Zeile 2790-2797) */
body:has(.wpum-registration-form) #footerbottom,
body:has(.wpum-password-recovery-form) #footerbottom,
body.page-slug-registrieren #footerbottom,
body.page-slug-passwort-vergessen #footerbottom,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom,
body:has(.freiluft-registration-form) #footerbottom,
body:has(.freiluft-guarantee-form) #footerbottom,
body:has(.freiluft-registration-dashboard) #footerbottom {
    background: rgba(0, 0, 0, 0.6) !important; /* EXAKT WIE LOGIN (finaler Wert) */
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    width: 100% !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    padding: 15px 40px !important; /* EXAKT WIE LOGIN */
    z-index: 100 !important;
    color: #ffffff !important; /* Weiße Schrift */
    font-family: inherit !important; /* Gleiche Schriftart wie Startseite */
    font-size: 13px !important; /* Gleiche Schriftgröße */
    line-height: 1.5 !important;
    letter-spacing: 0.5px !important; /* Leichter Abstand für bessere Lesbarkeit */
}

/* Footer Text und Links - EXAKT WIE LOGIN (Zeile 2829-2831, 2824-2827) */
/* Footer Text und Links - EXAKT WIE LOGIN (Zeile 2691-2696) */
body:has(.wpum-registration-form) #footerbottom p,
body:has(.wpum-password-recovery-form) #footerbottom p,
body.page-slug-registrieren #footerbottom p,
body.page-slug-passwort-vergessen #footerbottom p,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom p,
body:has(.freiluft-registration-form) #footerbottom p,
body:has(.freiluft-guarantee-form) #footerbottom p,
body:has(.freiluft-registration-dashboard) #footerbottom p,
body:has(.wpum-registration-form) #footerbottom ul,
body:has(.wpum-password-recovery-form) #footerbottom ul,
body.page-slug-registrieren #footerbottom ul,
body.page-slug-passwort-vergessen #footerbottom ul,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom ul,
body:has(.freiluft-registration-form) #footerbottom ul,
body:has(.freiluft-guarantee-form) #footerbottom ul,
body:has(.freiluft-registration-dashboard) #footerbottom ul,
body:has(.wpum-registration-form) #footerbottom li,
body:has(.wpum-password-recovery-form) #footerbottom li,
body.page-slug-registrieren #footerbottom li,
body.page-slug-passwort-vergessen #footerbottom li,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom li,
body:has(.freiluft-registration-form) #footerbottom li,
body:has(.freiluft-guarantee-form) #footerbottom li,
body:has(.freiluft-registration-dashboard) #footerbottom li,
body:has(.wpum-registration-form) #footerbottom a,
body:has(.wpum-password-recovery-form) #footerbottom a,
body.page-slug-registrieren #footerbottom a,
body.page-slug-passwort-vergessen #footerbottom a,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom a,
body:has(.freiluft-registration-form) #footerbottom a,
body:has(.freiluft-guarantee-form) #footerbottom a,
body:has(.freiluft-registration-dashboard) #footerbottom a,
body:has(.wpum-registration-form) #footerbottom *,
body:has(.wpum-password-recovery-form) #footerbottom *,
body.page-slug-registrieren #footerbottom *,
body.page-slug-passwort-vergessen #footerbottom *,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom *,
body:has(.freiluft-registration-form) #footerbottom *,
body:has(.freiluft-guarantee-form) #footerbottom *,
body:has(.freiluft-registration-dashboard) #footerbottom * {
    color: #ffffff !important; /* EXAKT WIE LOGIN */
    font-size: 11px !important; /* EXAKT WIE LOGIN */
    text-transform: uppercase !important; /* EXAKT WIE LOGIN - Alle in Caps */
    letter-spacing: 1px !important; /* EXAKT WIE LOGIN */
}

body:has(.wpum-registration-form) #footerbottom p {
    margin-bottom: 0 !important; /* EXAKT WIE LOGIN */
}

body:has(.wpum-registration-form) #footerbottom .rechtliches ul,
body:has(.wpum-password-recovery-form) #footerbottom .rechtliches ul,
body.page-slug-registrieren #footerbottom .rechtliches ul,
body.page-slug-passwort-vergessen #footerbottom .rechtliches ul,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom .rechtliches ul,
body:has(.freiluft-registration-form) #footerbottom .rechtliches ul,
body:has(.freiluft-guarantee-form) #footerbottom .rechtliches ul,
body:has(.freiluft-registration-dashboard) #footerbottom .rechtliches ul {
    justify-content: flex-end !important; /* EXAKT WIE LOGIN */
    margin-bottom: 0 !important; /* EXAKT WIE LOGIN */
    display: flex !important; /* Flexbox für horizontale Anordnung */
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 10px !important; /* Abstand zwischen Links (|) */
}

/* Footer Links - Abstände zwischen den Links */
body:has(.wpum-registration-form) #footerbottom .rechtliches ul li,
body:has(.wpum-password-recovery-form) #footerbottom .rechtliches ul li,
body.page-slug-registrieren #footerbottom .rechtliches ul li,
body.page-slug-passwort-vergessen #footerbottom .rechtliches ul li,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom .rechtliches ul li,
body:has(.freiluft-registration-form) #footerbottom .rechtliches ul li,
body:has(.freiluft-guarantee-form) #footerbottom .rechtliches ul li,
body:has(.freiluft-registration-dashboard) #footerbottom .rechtliches ul li {
    margin: 0 !important;
    padding: 0 5px !important; /* Abstand zwischen Links */
}

body:has(.wpum-registration-form) #footerbottom a,
body:has(.wpum-password-recovery-form) #footerbottom a,
body.page-slug-registrieren #footerbottom a,
body.page-slug-passwort-vergessen #footerbottom a,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom a,
body:has(.freiluft-registration-form) #footerbottom a,
body:has(.freiluft-guarantee-form) #footerbottom a,
body:has(.freiluft-registration-dashboard) #footerbottom a {
    color: #ffffff !important;
    font-size: 13px !important;
    text-decoration: none !important;
}

body:has(.wpum-registration-form) #footerbottom *,
body:has(.wpum-password-recovery-form) #footerbottom *,
body.page-slug-registrieren #footerbottom *,
body.page-slug-passwort-vergessen #footerbottom *,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom *,
body:has(.freiluft-registration-form) #footerbottom *,
body:has(.freiluft-guarantee-form) #footerbottom *,
body:has(.freiluft-registration-dashboard) #footerbottom * {
    color: #ffffff !important;
}

body:has(.wpum-registration-form) #footerbottom .container,
body:has(.wpum-password-recovery-form) #footerbottom .container,
body.page-slug-registrieren #footerbottom .container,
body.page-slug-passwort-vergessen #footerbottom .container,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom .container,
body:has(.freiluft-registration-form) #footerbottom .container,
body:has(.freiluft-guarantee-form) #footerbottom .container,
body:has(.freiluft-registration-dashboard) #footerbottom .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Footer Row - EXAKT WIE LOGIN (Zeile 2807-2811) */
body:has(.wpum-registration-form) #footerbottom .row,
body:has(.wpum-password-recovery-form) #footerbottom .row,
body.page-slug-registrieren #footerbottom .row,
body.page-slug-passwort-vergessen #footerbottom .row,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom .row,
body:has(.freiluft-registration-form) #footerbottom .row,
body:has(.freiluft-guarantee-form) #footerbottom .row,
body:has(.freiluft-registration-dashboard) #footerbottom .row {
    display: flex !important; /* EXAKT WIE LOGIN */
    align-items: center !important; /* EXAKT WIE LOGIN - Vertikal mittig */
    justify-content: space-between !important; /* EXAKT WIE LOGIN - Links und Rechts außen */
    margin: 0 !important; /* EXAKT WIE LOGIN */
}

/* Footer Copyright & Rechtliches - EXAKT WIE LOGIN */
body:has(.wpum-registration-form) #footerbottom .copyright,
body:has(.wpum-password-recovery-form) #footerbottom .copyright,
body.page-slug-registrieren #footerbottom .copyright,
body.page-slug-passwort-vergessen #footerbottom .copyright,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom .copyright,
body:has(.freiluft-registration-form) #footerbottom .copyright,
body:has(.freiluft-guarantee-form) #footerbottom .copyright,
body:has(.freiluft-registration-dashboard) #footerbottom .copyright {
    text-align: left !important; /* EXAKT WIE LOGIN */
    flex: 1 !important; /* EXAKT WIE LOGIN */
}

body:has(.wpum-registration-form) #footerbottom .rechtliches,
body:has(.wpum-password-recovery-form) #footerbottom .rechtliches,
body.page-slug-registrieren #footerbottom .rechtliches,
body.page-slug-passwort-vergessen #footerbottom .rechtliches,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom .rechtliches,
body:has(.freiluft-registration-form) #footerbottom .rechtliches,
body:has(.freiluft-guarantee-form) #footerbottom .rechtliches,
body:has(.freiluft-registration-dashboard) #footerbottom .rechtliches {
    text-align: right !important; /* EXAKT WIE LOGIN */
    flex: 1 !important; /* EXAKT WIE LOGIN */
}

body:has(.wpum-registration-form) #footerbottom .rechtliches ul,
body:has(.wpum-password-recovery-form) #footerbottom .rechtliches ul,
body.page-slug-registrieren #footerbottom .rechtliches ul,
body.page-slug-passwort-vergessen #footerbottom .rechtliches ul,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom .rechtliches ul,
body:has(.freiluft-registration-form) #footerbottom .rechtliches ul,
body:has(.freiluft-guarantee-form) #footerbottom .rechtliches ul,
body:has(.freiluft-registration-dashboard) #footerbottom .rechtliches ul {
    justify-content: flex-end !important; /* EXAKT WIE LOGIN */
    margin-bottom: 0 !important; /* EXAKT WIE LOGIN */
    display: flex !important; /* Flexbox für horizontale Anordnung */
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 10px !important; /* Abstand zwischen Links (|) */
}

/* Footer Links - Abstände zwischen den Links */
body:has(.wpum-registration-form) #footerbottom .rechtliches ul li,
body:has(.wpum-password-recovery-form) #footerbottom .rechtliches ul li,
body.page-slug-registrieren #footerbottom .rechtliches ul li,
body.page-slug-passwort-vergessen #footerbottom .rechtliches ul li,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom .rechtliches ul li,
body:has(.freiluft-registration-form) #footerbottom .rechtliches ul li,
body:has(.freiluft-guarantee-form) #footerbottom .rechtliches ul li,
body:has(.freiluft-registration-dashboard) #footerbottom .rechtliches ul li {
    margin: 0 !important;
    padding: 0 5px !important; /* Abstand zwischen Links */
}

body:has(.wpum-registration-form) #footerbottom p,
body:has(.wpum-password-recovery-form) #footerbottom p,
body.page-slug-registrieren #footerbottom p,
body.page-slug-passwort-vergessen #footerbottom p,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom p,
body:has(.freiluft-registration-form) #footerbottom p,
body:has(.freiluft-guarantee-form) #footerbottom p,
body:has(.freiluft-registration-dashboard) #footerbottom p {
    margin-bottom: 0 !important;
}

body:has(.wpum-registration-form) #footerbottom,
body:has(.wpum-password-recovery-form) #footerbottom,
body.page-slug-registrieren #footerbottom,
body.page-slug-passwort-vergessen #footerbottom,
body:has([class*="wpum-form"]):not(.page-id-191) #footerbottom {
    background: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    width: 100% !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    padding: 15px 40px !important;
    z-index: 100 !important;
}

/* Body Styling für One-Screen */
body:has(.wpum-registration-form):not(.page-id-191),
body:has(.wpum-password-recovery-form):not(.page-id-191),
body.page-slug-registrieren:not(.page-id-191),
body.page-slug-passwort-vergessen:not(.page-id-191) {
    height: 100vh !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* =========================================
   GLOBAL PAGE TITLE HIDE (USER REQUEST)
   ========================================= */
.entry-header,
.page-header,
.woocommerce-products-header,
.woocommerce-page .entry-title,
.page .entry-title {
    display: none !important;
}

/* Ausnahme: Single Product Title MUSS sichtbar sein (das ist der Name des Produkts) */
.single-product .product_title,
.single-product .entry-title {
    display: block !important;
}

/* Ausnahme: Blog Post Title sollte sichtbar sein */
.single-post .entry-title,
.single-post .post-title-custom {
    display: block !important;
}

/* =========================================
   ACCOUNT MENU ACTIVE STATE (DOT)
   ========================================= */
.woocommerce-MyAccount-navigation ul li.is-active a {
    color: #121212 !important;
    font-weight: 700 !important;
    position: relative;
    padding-left: 20px !important;
}

.woocommerce-MyAccount-navigation ul li.is-active a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background-color: #ee705f;
    border-radius: 50%;
}

/* =========================================
   STICKY FOOTER & FLEX BODY
   ========================================= */
html, body {
    margin: 0;
    /* height: 100%;  <-- Removed global height constraint to prevent overflow issues */
}

/* Body & #page als Flex Container für Sticky Footer */
body:not(.home):not(.page-id-191) {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

body:not(.home):not(.page-id-191) #page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    flex: 1; /* Ensure #page grows if body is flex */
    width: 100%;
}

/* Content Area muss wachsen */
body:not(.home):not(.page-id-191) .site-main,
body:not(.home):not(.page-id-191) #content,
body:not(.home):not(.page-id-191) .page-content,
body:not(.home):not(.page-id-191) .elementor-section-wrap {
    flex: 1 0 auto;
}

/* Footer am Ende */
body:not(.home):not(.page-id-191) footer#page-footer,
body:not(.home):not(.page-id-191) .site-footer {
    flex-shrink: 0;
    position: relative !important; /* Ensure it's not fixed/absolute */
    z-index: 10;
    background-color: #ffffff; /* Ensure background covers content underneath */
    width: 100%;
}

/* =========================================
   WOOCOMMERCE ACCOUNT PAGES STYLING
   ========================================= */

/* Container Styling */
.woocommerce-account .woocommerce {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

/* Navigation Sidebar */
.woocommerce-MyAccount-navigation {
    flex: 0 0 250px;
    border-right: 1px solid #e0e0e0;
    padding-right: 30px;
}

.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-MyAccount-navigation ul li {
    margin-bottom: 10px;
}

.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 10px 0;
    color: #666;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.woocommerce-MyAccount-navigation ul li a:hover {
    color: #121212;
}

/* Content Area */
.woocommerce-MyAccount-content {
    flex: 1;
    min-width: 0; /* Prevents flex overflow */
}

/* Dashboard Message */
.woocommerce-MyAccount-content p {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.6;
}

/* Orders Table */
.woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
}

.woocommerce-orders-table th {
    background: #f9f9f9;
    padding: 15px;
    text-align: left;
    font-weight: 600;
    color: #121212;
    border-bottom: 1px solid #e0e0e0;
}

.woocommerce-orders-table td {
    padding: 15px;
    border-bottom: 1px solid #e0e0e0;
    color: #666;
}

.woocommerce-orders-table tr:last-child td {
    border-bottom: none;
}

.woocommerce-button.button.view {
    padding: 8px 16px !important;
    font-size: 12px !important;
    background: transparent !important;
    color: #121212 !important;
    border: 1px solid #121212 !important;
}

.woocommerce-button.button.view:hover {
    background: #121212 !important;
    color: #fff !important;
}

/* Addresses - Layout verbessern */
.u-columns.woocommerce-Addresses.col2-set.addresses {
    display: flex !important;
    gap: 40px !important;
    margin-top: 30px !important;
    flex-wrap: wrap !important;
}

.u-column.woocommerce-Address,
.u-column1.col-1.woocommerce-Address,
.u-column2.col-2.woocommerce-Address {
    flex: 1 1 calc(50% - 20px) !important;
    min-width: 300px !important;
    background: #fff !important;
    padding: 30px !important;
    border-radius: 0 !important;
    border: 1px solid #e0e0e0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}

.woocommerce-Address-title {
    margin-bottom: 20px !important;
}

.woocommerce-Address-title h2,
.woocommerce-Address-title h3 {
    font-size: 20px !important;
    font-weight: 600 !important;
    margin-bottom: 20px !important;
    padding-bottom: 15px !important;
    border-bottom: 1px solid #e0e0e0 !important;
    color: #121212 !important;
}

.woocommerce-Address-title a.edit,
.woocommerce-Address-title a,
a.edit {
    margin-top: 15px !important;
    display: inline-block !important;
    /* Button-Styling hinzufügen */
    background-color: transparent !important;
    color: #121212 !important;
    border: 1px solid #121212 !important;
    border-radius: 0 !important;
    padding: 15px 30px !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    line-height: 1.5 !important;
}

.woocommerce-Address-title a.edit:hover,
.woocommerce-Address-title a:hover,
a.edit:hover {
    background-color: #121212 !important;
    color: #efeeee !important;
    border-color: #121212 !important;
    transform: translateY(-2px);
}

.woocommerce-Address address {
    font-style: normal !important;
    color: #666 !important;
    line-height: 1.6 !important;
    margin-top: 15px !important;
    margin-bottom: 0 !important;
}

/* Responsive */
@media (max-width: 768px) {
    .u-columns.woocommerce-Addresses.col2-set.addresses {
        flex-direction: column !important;
        gap: 30px !important;
    }
    
    .u-column.woocommerce-Address,
    .u-column1.col-1.woocommerce-Address,
    .u-column2.col-2.woocommerce-Address {
        flex: 1 1 100% !important;
        min-width: 100% !important;
    }
}

/* Account Details Form */
.woocommerce-EditAccountForm fieldset {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #e0e0e0;
}

.woocommerce-EditAccountForm legend {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 20px;
}

/* Mobile Responsive Account */
@media (max-width: 768px) {
    .woocommerce-account .woocommerce {
        flex-direction: column;
    }
    
    .woocommerce-MyAccount-navigation {
        border-right: none;
        border-bottom: 1px solid #e0e0e0;
        padding-right: 0;
        padding-bottom: 20px;
        flex: none;
        width: 100%;
    }
    
    .woocommerce-orders-table {
        display: block;
        overflow-x: auto;
    }
}

/* =========================================
   KONSISTENTE FORMULAR-STYLES
   Für alle Formulare: Kontakt, Newsletter, Garantie, etc.
   ========================================= */

/* Kontaktformular Container */
.flx_kontaktformular {
    padding: 40px 0;
}

.flx_kontaktformular .formular {
    margin-top: 30px;
}

/* Weclapp Kontaktformular */
#weclapp,
.flx_kontaktformular form {
    max-width: 800px;
    margin: 0 auto;
}

#weclapp label,
.flx_kontaktformular form label {
    display: block;
    color: #121212;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    margin-top: 20px;
}

#weclapp label:first-child,
.flx_kontaktformular form label:first-child {
    margin-top: 0;
}

#weclapp label a,
.flx_kontaktformular form label a {
    color: #ee705f;
    text-decoration: none;
}

#weclapp input[type="text"],
#weclapp input[type="email"],
#weclapp input[type="tel"],
#weclapp textarea,
#weclapp select,
.flx_kontaktformular input[type="text"],
.flx_kontaktformular input[type="email"],
.flx_kontaktformular input[type="tel"],
.flx_kontaktformular textarea,
.flx_kontaktformular select {
    width: 100%;
    padding: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 0;
    background: #ffffff;
    color: #121212;
    font-size: 16px;
    margin-bottom: 5px;
    box-sizing: border-box;
    transition: border-color 0.3s ease;
}

#weclapp input[type="text"]:focus,
#weclapp input[type="email"]:focus,
#weclapp input[type="tel"]:focus,
#weclapp textarea:focus,
#weclapp select:focus,
.flx_kontaktformular input[type="text"]:focus,
.flx_kontaktformular input[type="email"]:focus,
.flx_kontaktformular input[type="tel"]:focus,
.flx_kontaktformular textarea:focus,
.flx_kontaktformular select:focus {
    outline: none;
    border-color: #121212;
}

#weclapp textarea,
.flx_kontaktformular textarea {
    min-height: 120px;
    resize: vertical;
}

#weclapp select,
.flx_kontaktformular select {
    padding: 15px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23121212' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 12px;
    padding-right: 40px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

/* Checkbox & Radio */
#weclapp input[type="checkbox"],
#weclapp input[type="radio"],
.flx_kontaktformular input[type="checkbox"],
.flx_kontaktformular input[type="radio"] {
    width: auto;
    margin-right: 8px;
    accent-color: #121212;
}

#weclapp .row,
.flx_kontaktformular .row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

#weclapp .row > div,
.flx_kontaktformular .row > div {
    padding: 0 15px;
    flex: 1;
    min-width: 0;
}

/* Submit Button - Konsistent */
#weclapp button[type="submit"],
#weclapp input[type="submit"],
/* Garantie-Formular Buttons sind bereits oben vereinheitlicht (Zeile 3179-3221) */
/* Nur Kontaktformulare hier */
.flx_kontaktformular button[type="submit"],
.flx_kontaktformular input[type="submit"] {
    background-color: #121212 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 30px !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    border-radius: 0 !important;
    margin-top: 20px !important;
    display: inline-block !important;
}

#weclapp button[type="submit"]:hover,
#weclapp input[type="submit"]:hover,
.flx_kontaktformular button[type="submit"]:hover,
.flx_kontaktformular input[type="submit"]:hover {
    background-color: #333333 !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

/* Garantie-Formular */
/* Garantie-Formular - Überschreibe alte Styles mit Login-Stil */
.freiluft-guarantee-form {
    max-width: 100% !important; /* Wird durch .entry-content begrenzt */
    margin: 0 auto !important;
    width: 100% !important;
}

.freiluft-guarantee-form .form-group {
    margin-bottom: 15px !important; /* Wie Login */
}

.freiluft-guarantee-form .form-row {
    display: flex;
    gap: 20px;
    margin-bottom: 15px !important; /* Wie Login */
}

.freiluft-guarantee-form .form-row .form-group {
    flex: 1;
    margin-bottom: 0;
}

.freiluft-guarantee-form label {
    display: block !important;
    color: #121212 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 8px !important;
}

.freiluft-guarantee-form input[type="text"],
.freiluft-guarantee-form input[type="file"],
.freiluft-guarantee-form textarea {
    width: 100% !important;
    padding: 15px !important; /* Wie Login */
    border: none !important; /* Wie Login */
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #121212 !important;
    font-size: 16px !important; /* Wie Login */
    margin-bottom: 5px !important;
    box-sizing: border-box !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important; /* Wie Login */
}

.freiluft-guarantee-form input[type="text"]:focus,
.freiluft-guarantee-form textarea:focus {
    outline: 2px solid #121212 !important; /* Wie Login */
    border: none !important;
}

.freiluft-guarantee-form input[readonly] {
    background-color: #f9f9f9 !important;
    cursor: not-allowed !important;
}

.freiluft-guarantee-form small {
    display: block;
    margin-top: 5px;
    font-size: 13px;
    color: #666;
}

/* Responsive Formulare */
@media (max-width: 768px) {
    #weclapp .row > div,
    .flx_kontaktformular .row > div,
    .freiluft-guarantee-form .form-row {
        flex: 0 0 100%;
        margin-bottom: 0;
    }
    
    .freiluft-guarantee-form .form-row {
        flex-direction: column;
        gap: 0;
    }
}

/* Topmenu Links - Abstand zum linken Rand */
#page-header .navigation.links .menu,
#page-header .navigation.links #menu-topmenu-links {
    margin-left: 20px !important;
    margin-right: 0 !important;
}

/* Topmenu Rechtsbündig - Abstand zum rechten Rand */
#page-header .navigation.rechts .mainmenu {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    width: 100% !important;
}

#page-header .navigation.rechts .menu,
#page-header .navigation.rechts #menu-topmenu-rechts {
    text-align: right !important;
    justify-content: flex-end !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    margin-left: auto !important;
    margin-right: 20px !important;
    padding: 0 !important;
    list-style: none !important;
}

#page-header .navigation.rechts .menu li,
#page-header .navigation.rechts #menu-topmenu-rechts li {
    display: inline-block !important;
    margin-left: 15px !important;
    margin-right: 0 !important;
    float: none !important;
}

#page-header .navigation.rechts .menu li:first-child,
#page-header .navigation.rechts #menu-topmenu-rechts li:first-child {
    margin-left: 0 !important;
}

/* Separator mit dots-Style ausblenden und durch Leerraum ersetzen */
.wp-block-separator.is-style-dots.has-alpha-channel-opacity {
    display: none !important;
}

/* Mehr Leerraum nach Separator hinzufügen */
.wp-block-separator.is-style-dots.has-alpha-channel-opacity + * {
    margin-top: 60px !important;
    padding-top: 0 !important;
}

/* "Neu im Shop" Block ausblenden - Separator mit dots-Style gefolgt von Überschrift und Produktliste */
.wp-block-separator.is-style-dots.has-alpha-channel-opacity + h2.wp-block-heading.has-text-align-center + ul.wc-block-grid__products,
h2.wp-block-heading.has-text-align-center + ul.wc-block-grid__products {
    display: none !important;
}

/* Leerer Warenkorb - Icon entfernen (unprofessionell) */
.wc-block-cart__empty-cart__title.with-empty-cart-icon:before {
    display: none !important;
}

/* =========================================
   UNIFIED BUTTON DESIGN
   Basierend auf "Weiter zur Kasse" Button
   ========================================= */

/* Basis-Button-Design: Transparent mit Border (wie "Weiter zur Kasse") */
.wc-block-components-button,
.wc-block-components-button.wp-element-button,
.wc-block-cart__submit-button,
.wc-block-components-button.wc-block-cart__submit-button,
.wc-block-components-button.contained,
.wc-block-components-button.wc-block-cart__submit-button.contained,
.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained,
.daten-grid-button,
.nextcloud-popup-link,
button.daten-grid-button,
button.nextcloud-popup-link,
.wc-block-components-button.daten-grid-button,
.wc-block-components-button.nextcloud-popup-link,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce-Button,
.woocommerce-button,
.wc-forward,
.woocommerce-Address-title a.edit,
.woocommerce-Address-title a,
.woocommerce .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link,
.woocommerce ul.products li.product .button,
.woocommerce .cart .coupon .button,
.woocommerce .cart .actions .button[name="update_cart"],
.woocommerce .cart .wc-proceed-to-checkout a.checkout-button,
input[type="submit"],
button[type="submit"],
.wp-element-button,
.wp-block-button__link,
.elementor-button:not(.elementor-button-link),
.add_to_cart_button,
.ajax_add_to_cart,
a.add_to_cart_button,
a.ajax_add_to_cart,
.wp-block-button__link.add_to_cart_button,
.wp-block-button__link.ajax_add_to_cart,
.wp-block-button__link.add_to_cart_button.ajax_add_to_cart,
a.wp-block-button__link.add_to_cart_button.ajax_add_to_cart,
.add-post-btn,
button.add-post-btn {
    background-color: transparent !important;
    color: #121212 !important;
    border: 1px solid #121212 !important;
    border-radius: 0 !important;
    padding: 15px 30px !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    display: inline-block !important;
    cursor: pointer !important;
    line-height: 1.5 !important;
}

/* Button Hover */
.wc-block-components-button:hover,
.wc-block-components-button.wp-element-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-button.wc-block-cart__submit-button:hover,
.wc-block-components-button.contained:hover,
.wc-block-components-button.wc-block-cart__submit-button.contained:hover,
.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover,
.daten-grid-button:hover,
.nextcloud-popup-link:hover,
button.daten-grid-button:hover,
button.nextcloud-popup-link:hover,
.wc-block-components-button.daten-grid-button:hover,
.wc-block-components-button.nextcloud-popup-link:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce-Button:hover,
.woocommerce-button:hover,
.wc-forward:hover,
.woocommerce-Address-title a.edit:hover,
.woocommerce-Address-title a:hover,
.woocommerce .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce .cart .coupon .button:hover,
.woocommerce .cart .actions .button[name="update_cart"]:hover,
.woocommerce .cart .wc-proceed-to-checkout a.checkout-button:hover,
input[type="submit"]:hover,
button[type="submit"]:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
.elementor-button:not(.elementor-button-link):hover,
.add_to_cart_button:hover,
.ajax_add_to_cart:hover,
a.add_to_cart_button:hover,
a.ajax_add_to_cart:hover,
.wp-block-button__link.add_to_cart_button:hover,
.wp-block-button__link.ajax_add_to_cart:hover,
.wp-block-button__link.add_to_cart_button.ajax_add_to_cart:hover,
a.wp-block-button__link.add_to_cart_button.ajax_add_to_cart:hover,
.add-post-btn:hover,
button.add-post-btn:hover {
    background-color: #121212 !important;
    color: #efeeee !important;
    border-color: #121212 !important;
    transform: translateY(-2px);
}

/* Disabled Buttons */
.woocommerce button.button:disabled,
.woocommerce button.button[disabled],
button:disabled,
input[type="submit"]:disabled {
    background-color: transparent !important;
    color: #ccc !important;
    border-color: #ccc !important;
    cursor: not-allowed !important;
    opacity: 0.6 !important;
}

/* Loading State */
.woocommerce ul.products li.product .button.loading {
    opacity: 0.7;
    padding-right: 40px !important;
}

/* Spezifische Regel für "Weiter zur Kasse" Button mit contained Klasse */
a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained,
.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained,
.wc-block-cart__submit-button.contained {
    background-color: transparent !important;
    background: transparent !important;
    color: #121212 !important;
    border: 1px solid #121212 !important;
    border-radius: 0 !important;
    padding: 15px 30px !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    display: inline-block !important;
    cursor: pointer !important;
    line-height: 1.5 !important;
}

a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover,
.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover,
.wc-block-cart__submit-button.contained:hover {
    background-color: #121212 !important;
    background: #121212 !important;
    color: #efeeee !important;
    border-color: #121212 !important;
    transform: translateY(-2px);
}

/* Sehr spezifische Regel für daten-grid-button - überschreibt alles */
button.wc-block-components-button.wp-element-button.daten-grid-button,
button.wc-block-components-button.wp-element-button.daten-grid-button.nextcloud-popup-link,
.wc-block-components-button.wp-element-button.daten-grid-button.nextcloud-popup-link {
    background-color: transparent !important;
    background: transparent !important;
    color: #121212 !important;
    border: 1px solid #121212 !important;
    border-radius: 0 !important;
    padding: 15px 30px !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    display: inline-block !important;
    cursor: pointer !important;
    line-height: 1.5 !important;
    margin: 0 24px 24px !important;
    width: auto !important;
    min-height: 48px !important;
}

button.wc-block-components-button.wp-element-button.daten-grid-button:hover,
button.wc-block-components-button.wp-element-button.daten-grid-button.nextcloud-popup-link:hover,
.wc-block-components-button.wp-element-button.daten-grid-button.nextcloud-popup-link:hover,
button.daten-grid-button:hover,
button.nextcloud-popup-link:hover,
.daten-grid-button:hover,
.nextcloud-popup-link:hover,
button.daten-grid-button.nextcloud-popup-link:hover,
.daten-grid-button.nextcloud-popup-link:hover {
    background-color: #121212 !important;
    background: #121212 !important;
    color: #efeeee !important;
    border-color: #121212 !important;
    transform: translateY(-2px);
}

/* =========================================
   COMING SOON OVERLAY - Shop & Warenkorb
   ========================================= */

/* Overlay Container - Blockiert Shop-Content, Header/Footer bleiben sichtbar */
/* Wird NUR auf WooCommerce-Seiten gerendert (siehe PHP-Code in coming-soon-overlay.php) */
.freiluft-coming-soon-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.3) !important; /* Weniger dunkel, damit Grid sichtbar */
    backdrop-filter: blur(8px) !important; /* Weniger Blur, damit Grid sichtbar */
    -webkit-backdrop-filter: blur(8px) !important;
    z-index: 1000 !important; /* Unter Header/Footer, aber über Shop-Content */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    pointer-events: auto !important; /* Blockiert alle Klicks auf Shop-Content - NUR auf WooCommerce-Seiten */
    overflow: hidden !important; /* Verhindert Scrollen */
}

/* Shop-Container und Produkte unter Overlay - Nicht klickbar - NUR auf WooCommerce-Seiten mit Overlay */
/* Das Overlay blockiert bereits alle Klicks, daher brauchen wir diese Regel nicht mehr */
/* Stattdessen: Overlay selbst blockiert Klicks, aber nur auf WooCommerce-Seiten */

/* Header und Footer über Overlay - Sichtbar und klickbar bleiben - NUR wenn Overlay vorhanden */
body:has(.freiluft-coming-soon-overlay) #page-header,
body:has(.freiluft-coming-soon-overlay) header#portal-header,
body:has(.freiluft-coming-soon-overlay) header,
body:has(.freiluft-coming-soon-overlay) #site-header,
body:has(.freiluft-coming-soon-overlay) footer#page-footer,
body:has(.freiluft-coming-soon-overlay) footer,
body:has(.freiluft-coming-soon-overlay) #footerbottom,
body:has(.freiluft-coming-soon-overlay) .site-footer {
    position: relative !important;
    z-index: 10001 !important; /* Über Overlay (z-index: 1000) */
    pointer-events: auto !important; /* Klickbar - NUR wenn Overlay vorhanden */
}

/* Content Container - Premium Glas-Effekt - EXAKT WIE LOGIN - Mittig fixiert */
.freiluft-coming-soon-overlay .coming-soon-content {
    background: rgba(255, 255, 255, 0.7) !important; /* EXAKT WIE LOGIN */
    backdrop-filter: blur(10px) !important; /* EXAKT WIE LOGIN */
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important; /* EXAKT WIE LOGIN */
    border-radius: 0 !important;
    padding: 40px 50px !important; /* Kleiner als vorher */
    max-width: 480px !important; /* EXAKT WIE LOGIN */
    width: 100% !important;
    text-align: center !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important; /* EXAKT WIE LOGIN */
    box-sizing: border-box !important;
    pointer-events: auto !important; /* Content-Box ist klickbar */
    position: relative !important; /* Relativ zum Overlay-Container */
    z-index: 1001 !important; /* Über Overlay-Hintergrund */
    margin: 0 auto !important; /* Zentriert durch Flexbox des Overlays */
}

/* Logo - EXAKT WIE LOGIN */
.freiluft-coming-soon-overlay .coming-soon-logo {
    margin-bottom: 30px !important; /* Kleiner als vorher */
}

.freiluft-coming-soon-overlay .coming-soon-logo img {
    max-width: 220px !important; /* EXAKT WIE LOGIN */
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Titel - Edler, wie Login-Labels */
.freiluft-coming-soon-overlay .coming-soon-title {
    font-size: 24px !important; /* Kleiner, edler */
    font-weight: 600 !important; /* EXAKT WIE LOGIN Labels */
    color: #121212 !important;
    text-transform: uppercase !important; /* EXAKT WIE LOGIN */
    letter-spacing: 1px !important; /* EXAKT WIE LOGIN */
    margin: 0 0 20px 0 !important;
    line-height: 1.3 !important;
}

/* Text - Edler, wie Login */
.freiluft-coming-soon-overlay .coming-soon-text {
    font-size: 16px !important; /* EXAKT WIE LOGIN Inputs */
    color: #121212 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    font-weight: 400 !important;
    text-transform: none !important; /* Normal, nicht uppercase */
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .freiluft-coming-soon-overlay .coming-soon-content {
        padding: 30px 25px !important; /* Kleiner auf Mobile */
        max-width: 90% !important;
    }
    
    .freiluft-coming-soon-overlay .coming-soon-logo {
        margin-bottom: 20px !important;
    }
    
    .freiluft-coming-soon-overlay .coming-soon-logo img {
        max-width: 150px !important;
    }
    
    .freiluft-coming-soon-overlay .coming-soon-title {
        font-size: 20px !important; /* Kleiner auf Mobile */
        letter-spacing: 1px !important;
        margin-bottom: 15px !important;
    }
    
    .freiluft-coming-soon-overlay .coming-soon-text {
        font-size: 14px !important; /* Kleiner auf Mobile */
    }
}
