/* ═══════════════════════════════════════
   PFOTENRAT.DE – KOMPLETTES CSS
   Bereinigt & fehlerfrei – Final v2
═══════════════════════════════════════ */

/* VOLLBREITE BLÖCKE */
.pfr-hero,
.pfr-weiche {
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  max-width: 100vw !important;
}

/* Seitentitel verstecken */
.entry-title { display: none !important; }


/* Seiten-Header Hintergrund weg */
.wp-block-kadence-header,
.site-above-header-wrap,
.entry-hero { display: none !important; }

/* Logo */
.site-title,
.site-title a,
.custom-logo-link,
.site-branding .site-title a,
.site-branding a {
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

/* Nav Links weiß */
header a:not(.nav-cta):not([href*="friseur-eintragen"]),
.primary-navigation a,
.primary-menu a,
ul.menu a,
ul.nav-menu a {
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

/* Nav Links Hover gold */
header a:not(.nav-cta):not([href*="friseur-eintragen"]):hover,
ul.menu a:hover,
ul.nav-menu a:hover {
  color: #F2A900 !important;
}

/* Friseur eintragen Button gold */
.main-navigation a[href*="friseur-eintragen"],
.nav-links a[href*="friseur-eintragen"] {
  background: #F2A900 !important;
  color: #0f2e3f !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
}

/* ═══ MOBILE MENÜ ═══ */
.mobile-navigation,
.drawer-nav-drop-wrap,
#mobile-drawer,
.kadence-mobile-nav,
nav.mobile-navigation ul,
.mobile-html-navigation,
.drawer-overlay,
.mobile-drawer-overlay,
#mobile-drawer .drawer-inner,
.kadence-mobile-nav > *,
[id*="mobile"],
[class*="mobile-nav"] {
  background: #0f2e3f !important;
  background-color: #0f2e3f !important;
}

#mobile-drawer {
  min-height: 100vh !important;
}

.site-overlay {
  background: rgba(0,0,0,0.5) !important;
}

/* Mobile Nav Links */
.mobile-navigation a,
#mobile-drawer a,
.kadence-mobile-nav a {
  color: #ffffff !important;
  font-weight: 600 !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

.mobile-navigation a:hover,
#mobile-drawer a:hover {
  color: #F2A900 !important;
}

/* Mobile Hamburger & Close */
.menu-toggle,
.kadence-menu-toggle,
.drawer-toggle,
.mobile-drawer-close {
  color: #ffffff !important;
}

/* Friseur eintragen Button Mobile */
.mobile-navigation a[href*="friseur-eintragen"],
#mobile-drawer a[href*="friseur-eintragen"],
.kadence-mobile-nav a[href*="friseur-eintragen"] {
  background: #F2A900 !important;
  color: #0f2e3f !important;
  font-weight: 800 !important;
  border-radius: 10px !important;
  margin: 12px 16px !important;
  padding: 12px 20px !important;
  text-align: center !important;
  border-bottom: none !important;
  display: block !important;
}

/* ═══ FORMULAR LANDINGPAGE ═══ */
.pfr-lp-form-inner {
  max-width: 860px !important;
  padding: 48px 56px !important;
}
@media (max-width: 700px) {
  .pfr-lp-form-inner {
    padding: 28px 20px !important;
  }
}

/* Premium Banner */
.pfr-premium-hint {
  display: block !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  padding: 14px 18px !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
}
.pfr-premium-hint strong {
  display: inline !important;
  font-weight: 800 !important;
}

/* ═══════════════════════════════════════
   WPFORMS #89
═══════════════════════════════════════ */

/* ── 2-Spalten Grid Desktop ── */
@media (min-width: 601px) {
  #wpforms-89 .wpforms-field-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 14px !important;
    row-gap: 0 !important;
  }

  /* Diese Felder immer volle Breite */
  #wpforms-89 .wpforms-field-name,
  #wpforms-89 .wpforms-field-email,
  #wpforms-89 .wpforms-field-textarea,
  #wpforms-89 .wpforms-field-checkbox,
  #wpforms-89 .wpforms-field-select,
  #wpforms-89 .wpforms-submit-container {
    grid-column: 1 / -1 !important;
  }
}

/* ── Mobile einspaltig ── */
@media (max-width: 600px) {
  #wpforms-89 .wpforms-field-container {
    display: block !important;
  }
}

/* ── Alle Felder volle Breite ihrer Grid-Zelle ── */
#wpforms-89 .wpforms-field {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding-bottom: 12px !important;
  box-sizing: border-box !important;
}

/* WPForms interne Breiten-Klassen überschreiben */
#wpforms-89 .wpforms-field.wpforms-one-half,
#wpforms-89 .wpforms-field.wpforms-one-third,
#wpforms-89 .wpforms-field.wpforms-two-thirds {
  width: 100% !important;
  max-width: 100% !important;
}

/* ── Input Styling ── */
#wpforms-89 input[type="text"],
#wpforms-89 input[type="email"],
#wpforms-89 input[type="tel"],
#wpforms-89 input[type="url"],
#wpforms-89 select,
#wpforms-89 textarea {
  background: rgba(255,255,255,0.1) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

/* ── Focus ── */
#wpforms-89 input:focus,
#wpforms-89 select:focus,
#wpforms-89 textarea:focus {
  border-color: #F2A900 !important;
  box-shadow: 0 0 0 3px rgba(242,169,0,0.12) !important;
  outline: none !important;
}

/* ── Placeholder ── */
#wpforms-89 input::placeholder,
#wpforms-89 textarea::placeholder {
  color: rgba(255,255,255,0.35) !important;
  font-size: 13px !important;
}

/* ── Labels ── */
#wpforms-89 .wpforms-field-label {
  color: rgba(255,255,255,0.55) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
}

/* ── Sublabels Vorname/Nachname ── */
#wpforms-89 .wpforms-field-sublabel {
  color: rgba(255,255,255,0.4) !important;
  font-size: 11px !important;
  margin-top: 4px !important;
}

/* ════════════════════════════
   FIX 1: NAME-FELDER NEBENEINANDER
   Vorname | Nachname in einer Zeile
════════════════════════════ */
#wpforms-89 .wpforms-field-name {
  grid-column: 1 / -1 !important;
}
#wpforms-89 .wpforms-field-name .wpforms-field-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
  width: 100% !important;
}
#wpforms-89 .wpforms-field-name .wpforms-field-row-block {
  width: 100% !important;
  min-width: 0 !important;
}
#wpforms-89 .wpforms-field-name .wpforms-field-row-block input {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Mobile: Name-Felder untereinander */
@media (max-width: 600px) {
  #wpforms-89 .wpforms-field-name .wpforms-field-row {
    grid-template-columns: 1fr !important;
  }
}

/* ════════════════════════════
   FIX 2: CHECKBOX TEXT VOLLSTÄNDIG SICHTBAR
   Kein Abschneiden mehr
════════════════════════════ */
#wpforms-89 .wpforms-field-checkbox ul {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#wpforms-89 .wpforms-field-checkbox li {
  display: flex !important;
  align-items: flex-start !important; /* flex-start statt center → mehrzeilig korrekt */
  gap: 8px !important;
  min-width: 0 !important;
}
#wpforms-89 .wpforms-field-checkbox li label {
  /* KEIN nowrap, KEIN ellipsis – Text komplett sichtbar */
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  word-break: break-word !important;
  color: rgba(255,255,255,0.8) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  cursor: pointer !important;
}

/* Mobile: Checkboxen einspaltig */
@media (max-width: 480px) {
  #wpforms-89 .wpforms-field-checkbox ul {
    grid-template-columns: 1fr !important;
  }
}

/* ── Dropdown ── */
#wpforms-89 select {
  color: #ffffff !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23F2A900' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 36px !important;
  cursor: pointer !important;
}
#wpforms-89 select option {
  background: #0f2e3f !important;
  color: #ffffff !important;
}

/* ── Pflichtfeld Stern ── */
#wpforms-89 .wpforms-required-label {
  color: #F2A900 !important;
}

/* ── Fehler ── */
#wpforms-89 .wpforms-field-error {
  color: #ff6b6b !important;
  font-size: 11px !important;
  margin-top: 4px !important;
}

/* ── Submit Button ── */
#wpforms-89 .wpforms-submit-container {
  margin-top: 8px !important;
}
#wpforms-89 .wpforms-submit {
  background: #F2A900 !important;
  color: #0f2e3f !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 18px 32px !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background 0.2s, transform 0.15s !important;
}
#wpforms-89 .wpforms-submit:hover {
  background: #f7c040 !important;
  transform: translateY(-2px) !important;
}

/* ═══════════════════════════════════════════════════
   PFOTENRAT.DE – NAME FIELD FIX (Kadence-kompatibel)
   Überschreibt WPForms + Kadence Theme Konflikte
═══════════════════════════════════════════════════ */

/* SCHRITT 1: Kadence Global-Reset für WPForms aufheben */
#wpforms-89 input,
#wpforms-89 select,
#wpforms-89 textarea {
  -webkit-box-sizing: border-box !important;
  box-sizing: border-box !important;
}

/* SCHRITT 2: WPForms Field-Row komplett neu aufbauen */

/* Outer Name-Container: volle Grid-Breite */
#wpforms-89 .wpforms-field.wpforms-field-name {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  position: relative !important;
  overflow: visible !important;
}

/* Die Row: Flexbox statt Grid (zuverlässiger bei WPForms) */
#wpforms-89 .wpforms-field-name .wpforms-field-row {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
  -ms-flex-direction: row !important;
  flex-direction: row !important;
  gap: 14px !important;
  width: 100% !important;
  -ms-flex-wrap: nowrap !important;
  flex-wrap: nowrap !important;
  position: relative !important;
  overflow: visible !important;
  float: none !important;
  clear: both !important;
}

/* Vorname & Nachname Block: gleich breit */
#wpforms-89 .wpforms-field-name .wpforms-field-row-block {
  -webkit-box-flex: 1 !important;
  -ms-flex: 1 1 0% !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
  width: auto !important;         /* NICHT 100% – Flex übernimmt */
  max-width: 100% !important;
  display: block !important;
  position: relative !important;
  overflow: visible !important;
  float: none !important;
}

/* Input im Block */
#wpforms-89 .wpforms-field-name .wpforms-field-row-block input {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  height: auto !important;
  clip: auto !important;
  clip-path: none !important;
}

/* Sublabel unter dem Input */
#wpforms-89 .wpforms-field-name .wpforms-field-sublabel {
  display: block !important;
  color: rgba(255,255,255,0.4) !important;
  font-size: 11px !important;
  margin-top: 4px !important;
}

/* Mobile: untereinander stapeln */
@media (max-width: 600px) {
  #wpforms-89 .wpforms-field-name .wpforms-field-row {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }
  #wpforms-89 .wpforms-field-name .wpforms-field-row-block {
    -ms-flex: none !important;
    flex: none !important;
    width: 100% !important;
  }
}

/* ═══════════════════════════════════════════════════
   CHECKBOX FIX – Text vollständig, nie abgeschnitten
═══════════════════════════════════════════════════ */

#wpforms-89 .wpforms-field-checkbox ul {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#wpforms-89 .wpforms-field-checkbox li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  min-width: 0 !important;
  width: 100% !important;
  float: none !important;
}

#wpforms-89 .wpforms-field-checkbox li label {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  word-break: break-word !important;
  color: rgba(255,255,255,0.8) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  cursor: pointer !important;
  display: block !important;
  min-width: 0 !important;
  flex: 1 !important;
}

#wpforms-89 .wpforms-field-checkbox li input[type="checkbox"] {
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}

@media (max-width: 480px) {
  #wpforms-89 .wpforms-field-checkbox ul {
    grid-template-columns: 1fr !important;
  }
}

/* Name-Feld Abstand angleichen */
#wpforms-89 .wpforms-field-name {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

#wpforms-89 .wpforms-field-name > .wpforms-field-label {
  margin-bottom: 6px !important;
  padding-bottom: 0 !important;
}

#wpforms-89 .wpforms-field-name .wpforms-field-row {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Name-Feld: Extra-Abstand entfernen */
#wpforms-89 .wpforms-field-name .wpforms-field-row {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#wpforms-89 .wpforms-field-name .wpforms-field-label {
  margin-bottom: 6px !important;
  padding-bottom: 0 !important;
}

/* Unsichtbarer WPForms Wrapper zwischen Label & Row */
#wpforms-89 .wpforms-field-name > div:not(.wpforms-field-row):not(.wpforms-field-label) {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Name-Feld Höhe normalisieren */
#wpforms-89 #wpforms-89-field_1_container {
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
}

#wpforms-89 .wpforms-field-name {
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
  padding-bottom: 0 !important;
}

/* Grid-Row nicht dehnen */
#wpforms-89 .wpforms-field-container {
  align-items: start !important;
}

/* wpforms-field-large Höhe killen */
#wpforms-89 .wpforms-field-name .wpforms-field-row.wpforms-field-large {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

/* Inputs im Large-Row normalisieren */
#wpforms-89 .wpforms-field-name .wpforms-field-large input {
  height: auto !important;
  min-height: 0 !important;
  padding: 12px 14px !important;
}

/* WPForms interne CSS-Variablen überschreiben */
#wpforms-89 .wpforms-field-name .wpforms-field-row {
  --wpforms-field-size-input-spacing: 0px !important;
  --wpforms-field-row-list-col-size: 50% !important;
  --wpforms-field-size-sublabel-spacing: 4px !important;
}

#wpforms-89 .wpforms-field-name .wpforms-field-large {
  --wpforms-field-size-input-spacing: 0px !important;
}

#wpforms-89 .wpforms-field-name .wpforms-field-row.wpforms-field-large {
  margin-bottom: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
}

#wpforms-89 .wpforms-field-name {
  --wpforms-field-size-input-spacing: 0px !important;
}

#wpforms-89 .wpforms-field-name .wpforms-field-row {
  margin-bottom: 0 !important;
}

/* Fallback für last-child Regel */
#wpforms-89 .wpforms-field-name .wpforms-field-row:last-child,
#wpforms-89 .wpforms-field-name .wpforms-field-row:only-child,
#wpforms-89 .wpforms-field-name .wpforms-field-row:last-of-type {
  margin-bottom: 0 !important;
}

/* Kadence Theme fieldset margin killen */
#wpforms-89 .wpforms-field-name fieldset {
  margin-bottom: 0 !important;
}

#wpforms-89 fieldset {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

#wpforms-89 .wpforms-field-name input[type="text"] {
  padding: 12px 14px !important;
  height: auto !important;
  min-height: 0 !important;
  font-size: 14px !important;
  line-height: normal !important;
}

/* wpforms-field-large Input-Höhe auf Standard bringen */
#wpforms-89 .wpforms-field-name .wpforms-field-row-block input.wpforms-field-large {
  height: auto !important;
  min-height: 0 !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
}

/* fieldset selbst kein extra spacing */
#wpforms-89 .wpforms-field-name fieldset {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  min-width: 0 !important;
}

/* Honeypot Input zurücksetzen */
#wpforms-89 .wpforms-field-name-first input,
#wpforms-89 .wpforms-field-name-last input,
#wpforms-89 input[name="wpforms[fields][1][first]"],
#wpforms-89 input[name="wpforms[fields][1][last]"] {
  padding: 12px 14px !important;
  position: relative !important;
  left: 0 !important;
  margin-left: 0 !important;
}

/* Lila Outline/Border auf field-row entfernen */
#wpforms-89 .wpforms-field-name .wpforms-field-row,
#wpforms-89 .wpforms-field-name .wpforms-field-large {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
}

#wpforms-89 .wpforms-field-name .wpforms-field-row {
  justify-content: flex-start !important;
  gap: 14px !important;
}

/* Fix: Name-Feld Inputs bündig zum Rand wie alle anderen Felder */

/* Gap-Logik übernehmen, Block-Padding entfernen */
#wpforms-89 .wpforms-field-name .wpforms-field-row {
    justify-content: flex-start !important;
    gap: 14px !important;
}

#wpforms-89 .wpforms-field-name .wpforms-field-row .wpforms-field-row-block {
    padding: 0 !important;
    flex: 1 1 0 !important;
}

#wpforms-89 .wpforms-field-name .wpforms-field-row-block {
  padding: 0 !important;
  margin: 0 !important;
}

#wpforms-89 .wpforms-field-name .wpforms-field-row {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

#wpforms-89 .wpforms-field-name .wpforms-field-row-block input {
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
}

@media (max-width: 782px) {
    .admin-bar .item-is-fixed { top: 46px !important; }
    #inner-wrap { padding-top: 100px !important; } /* Mobil etwas weniger */
}

/* DSGVO Checkbox Text weiß */
#wpforms-89 .wpforms-field-checkbox li label,
#wpforms-89 .wpforms-field-gdpr-checkbox li label,
#wpforms-89 .wpforms-gdpr-agreement label,
#wpforms-89 [class*="gdpr"] label,
#wpforms-89 [class*="gdpr"] p {
  color: rgba(255,255,255,0.8) !important;
}

/* "Meintest du" Hinweis lesbar machen */
#wpforms-89 .wpforms-field-email .wpforms-field-error,
#wpforms-89 .wpforms-field-email span[class*="suggestion"],
#wpforms-89 .wpforms-field-email .wpforms-email-suggestion {
  color: #ffffff !important;
}

#wpforms-89 .wpforms-field-email .wpforms-email-suggestion a {
  color: #F2A900 !important;
  text-decoration: underline !important;
}

/* "Meintest du" Suggestion Text */
.wpforms-error.mailcheck-error {
  color: rgba(255,255,255,0.9) !important;
}

.wpforms-error.mailcheck-error a {
  color: #F2A900 !important;
  text-decoration: underline !important;
}

/* Weißer Bereich unter Seiten entfernen */
body,
.site,
.site-content,
#content,
.content-area {
  background: #0f2e3f !important;
}

/* Kadence Beitragsraster – Navy/Gold Styling */
.kb-posts .kb-post-loop-item {
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
  transition: transform 0.25s, box-shadow 0.25s !important;
  border: 1px solid #EDE9E3 !important;
}
.kb-posts .kb-post-loop-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(26,71,95,0.12) !important;
}
.kb-posts .kb-post-loop-item .kb-post-title a {
  color: #1A475F !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  letter-spacing: -0.01em !important;
}
.kb-posts .kb-post-loop-item .kb-post-title a:hover {
  color: #F2A900 !important;
}
.kb-posts .kb-post-loop-item .kb-post-top-meta a,
.kb-posts .kb-post-loop-item .kb-post-top-meta span {
  color: #F2A900 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}
.kb-posts .kb-post-loop-item .kb-post-excerpt p {
  color: #7a8e97 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}
.kb-posts .kb-post-loop-item .kb-post-date {
  color: #aab8c0 !important;
  font-size: 11px !important;
}
/* Artikel-Bereich Hintergrund */
.kb-posts-wrap {
  padding: 40px 0 80px !important;
}

/* Kadence Beitragsraster – Responsive Spalten */
.kb-posts .kb-post-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}

@media (max-width: 768px) {
  .kb-posts .kb-post-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 480px) {
  .kb-posts .kb-post-grid {
    grid-template-columns: 1fr !important;
  }
}
/* NUR Magazin-Seite ID 23 */
.page-id-23 .kb-posts .kb-post-loop-item,
.page-id-23 .kb-posts article,
.page-id-23 .kb-posts .kb-grid-item,
.page-id-23 .kb-posts .type-post {
  background: #ffffff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid #EDE9E3 !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
}

.page-id-23 .kb-posts .kb-post-inner,
.page-id-23 .kb-posts .kb-post-content,
.page-id-23 .kb-posts article .entry-wrapper {
  background: #ffffff !important;
  padding: 16px 18px 20px !important;
}

.page-id-23 .kb-posts-wrap {
  background: #F7F5F1 !important;
  padding: 40px 24px 80px !important;
  border-radius: 0 !important;
}

.page-id-23 .kb-posts .kb-post-title a {
  color: #1A475F !important;
  font-weight: 700 !important;
}

.page-id-23 .kb-posts .kb-post-excerpt p {
  color: #3a4a52 !important;
  font-size: 13px !important;
}

.page-id-23 .kb-posts .kb-post-date,
.page-id-23 .kb-posts time {
  color: #7a8e97 !important;
}

.page-id-23 .kb-posts .kb-post-top-meta a {
  color: #F2A900 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

/* Magazin Seite 23 – Alle Fixes */

/* Abstand nach oben damit "Ratgeber" nicht knallhart drüber steht */
.page-id-23 .kb-posts-wrap {
  margin-top: 40px !important;
  padding: 0 24px 80px !important;
}

/* Kacheln weiter rechts und mehr Abstand */
.page-id-23 .kb-posts .kb-post-grid {
  padding: 0 !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

/* "Ratgeber" Überschrift lesbar */
.page-id-23 .pfr-mag-section-title,
.page-id-23 h2.pfr-mag-section-title {
  color: #1A475F !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  padding: 0 24px !important;
}

/* Bild nicht abschneiden */
.page-id-23 .kb-posts .kb-post-image,
.page-id-23 .kb-posts .kb-post-image img,
.page-id-23 .kb-posts article img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Text nicht am Rand */
.page-id-23 .kb-posts .kb-post-inner,
.page-id-23 .kb-posts .kb-post-content {
  padding: 20px 22px 24px !important;
}

/* Kachel hover */
.page-id-23 .kb-posts .kb-post-loop-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(26,71,95,0.12) !important;
}

/* Kadence Post Karte fixen */
.kb-post-list-item {
  background: #ffffff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Bild volle Breite, keine Lücke */
/* Thumbnail-Container: Bild sichtbar machen */
.kb-post-list-item .post-thumbnail {
  width: 100% !important;
  margin: 0 !important;
  display: block !important;
  height: auto !important;
  overflow: visible !important;
  padding: 0 !important;
}

.kb-post-list-item .post-thumbnail-inner {
  position: relative !important;
  height: 200px !important;
  overflow: hidden !important;
}

.kb-post-list-item .post-thumbnail-inner img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  position: static !important;
}

.kb-post-list-item .post-thumbnail img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

/* Content Bereich mit Padding */
.kb-post-list-item .entry-content-wrap {
  padding: 16px 20px 20px !important;
  flex: 1 !important;
}

/* Excerpt kürzen – max 3 Zeilen */
.kb-post-list-item .kb-post-excerpt,
.kb-post-list-item .entry-summary {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #555 !important;
}

/* Ad-Placeholder verstecken */
.kb-post-list-item iframe,
.kb-post-list-item ins,
.kb-post-list-item [id*="google_ads"],
.kb-post-list-item [class*="adsbygoogle"] {
  display: none !important;
}

/* ═══ FRISEUR-FINDER SEITE 24 ═══ */

/* Weißer Balken oben und unten weg */
.page-id-24 .entry-content,
.page-id-24 .entry-header,
.page-id-24 .entry-hero {
  padding: 0 !important;
  margin: 0 !important;
}
.page-id-24 .content-container,
.page-id-24 .entry-wrap {
  padding: 0 !important;
  margin: 0 !important;
}

/* GeoDirectory Ergebnisse zentriert & 3-spaltig */
.page-id-24 .geodir-loop-container,
.page-id-24 .gd-listings,
.page-id-24 .geodir-archive {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 32px 24px 80px !important;
}

/* Grid 3 Spalten */
.page-id-24 .geodir-loop-container ul,
.page-id-24 .geodir-loop-container .geodir-posts,
.page-id-24 .gd-listings ul {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

@media (max-width: 900px) {
  .page-id-24 .geodir-loop-container ul,
  .page-id-24 .gd-listings ul {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 560px) {
  .page-id-24 .geodir-loop-container ul,
  .page-id-24 .gd-listings ul {
    grid-template-columns: 1fr !important;
  }
}

/* Karten weißer Hintergrund */
.page-id-24 .geodir-loop-container li,
.page-id-24 .geodir-loop-container article,
.page-id-24 .gd-listings article {
  background: #ffffff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid #EDE9E3 !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.05) !important;
  transition: transform 0.25s, box-shadow 0.25s !important;
  margin: 0 !important;
  width: 100% !important;
}
.page-id-24 .geodir-loop-container article:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(26,71,95,0.1) !important;
}

/* Titel in Karten */
.page-id-24 .geodir-loop-container .geodir-post-title a,
.page-id-24 .geodir-loop-container h2 a,
.page-id-24 .geodir-loop-container h3 a {
  color: #1A475F !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-decoration: none !important;
}
.page-id-24 .geodir-loop-container .geodir-post-title a:hover {
  color: #F2A900 !important;
}

/* Adresse */
.page-id-24 .geodir-loop-container .geodir-i-address {
  color: #7a8e97 !important;
  font-size: 12px !important;
}

/* Bewertung gold */
.page-id-24 .geodir-loop-container .geodir-rating {
  color: #F2A900 !important;
}

/* GeoDirectory eigene Suche verstecken */
.page-id-24 .geodir-search-bar,
.page-id-24 .geodir_search_fields_area {
  display: none !important;
}

/* Abstand zwischen Results-Bar und Karten */
.page-id-24 .pfr-ff-results-bar {
  margin-bottom: 0 !important;
}

.pfr-artikel{font-family:'Montserrat',sans-serif;max-width:780px;margin:0 auto;color:#1c2b32;line-height:1.75}
.pfr-meta{background:#F7F5F1;border:1px solid #EDE9E3;border-radius:12px;padding:20px 24px;margin-bottom:40px}
.pfr-meta h2{font-size:12px;font-weight:800;color:#1A475F;margin-bottom:12px;letter-spacing:.05em;text-transform:uppercase}
.pfr-meta table{width:100%;border-collapse:collapse}
.pfr-meta td{padding:6px 10px;border-bottom:1px solid #EDE9E3;font-size:12px}
.pfr-meta td:first-child{font-weight:700;color:#1A475F;width:140px}
.pfr-meta td:last-child{color:#3a4a52}
.pfr-toc{background:#0f2e3f;border-radius:14px;padding:24px 28px;margin:32px 0}
.pfr-toc-title{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#F2A900;margin-bottom:14px}
.pfr-toc ol{margin:0;padding-left:20px;color:#ffffff}
.pfr-toc li{margin-bottom:6px;color:#ffffff}
.pfr-toc li::marker{color:#F2A900;font-weight:800}
.pfr-toc a{color:#ffffff !important;text-decoration:none;font-size:13px;font-weight:600}
.pfr-toc a:hover{color:#F2A900 !important}
.pfr-artikel h1{font-size:clamp(26px,4vw,38px);font-weight:900;color:#0f2e3f;letter-spacing:-.03em;line-height:1.15;margin:0 0 20px}
.pfr-artikel h2{font-size:21px;font-weight:800;color:#1A475F;letter-spacing:-.02em;margin:40px 0 16px;padding-bottom:8px;border-bottom:2px solid #F2A900}
.pfr-artikel h3{font-size:17px;font-weight:700;color:#1A475F;margin:28px 0 12px}
.pfr-artikel p{font-size:15px;color:#2a3a42;line-height:1.8;margin-bottom:18px}
.pfr-artikel strong{color:#0f2e3f}
.pfr-artikel ul,.pfr-artikel ol{margin:16px 0 20px;padding-left:24px}
.pfr-artikel li{font-size:15px;color:#2a3a42;line-height:1.7;margin-bottom:8px}
.pfr-aff{display:flex;gap:20px;align-items:flex-start;background:#fffcf0;border:2px solid #F2A900;border-radius:14px;padding:22px;margin:32px 0}
.pfr-aff-emoji{font-size:42px;flex-shrink:0}
.pfr-aff-badge{display:inline-block;background:#F2A900;color:#0f2e3f;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:6px;margin-bottom:8px}
.pfr-aff-name{font-size:17px;font-weight:800;color:#0f2e3f;margin-bottom:8px;letter-spacing:-.01em}
.pfr-aff p{font-size:13px!important;color:#5a6a72!important;margin-bottom:10px!important}
.pfr-aff a{color:#F2A900;font-weight:700;font-size:13px;text-decoration:none}
.pfr-tipp{background:#fffcf0;border-left:5px solid #F2A900;border-radius:0 12px 12px 0;padding:20px 22px;margin:28px 0}
.pfr-tipp-title{font-size:13px;font-weight:800;color:#0f2e3f;margin-bottom:8px}
.pfr-tipp p{font-size:14px!important;color:#3a4a52!important;margin:0!important}
.pfr-warn{background:#fff5f5;border-left:5px solid #e53e3e;border-radius:0 12px 12px 0;padding:20px 22px;margin:28px 0}
.pfr-warn-title{font-size:13px;font-weight:800;color:#c53030;margin-bottom:8px}
.pfr-warn p{font-size:14px!important;color:#3a4a52!important;margin:0!important}
.pfr-cta{background:linear-gradient(135deg,#0f2e3f 0%,#1A475F 100%);border-radius:16px;padding:32px 28px;text-align:center;margin:40px 0}
.pfr-cta h3{font-size:22px;font-weight:900;color:#F2A900;letter-spacing:-.02em;margin:0 0 10px}
.pfr-cta p{font-size:14px!important;color:rgba(255,255,255,.65)!important;margin:0 0 20px!important}
.pfr-cta a{display:inline-block;background:#F2A900;color:#0f2e3f;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:10px;padding:13px 26px;text-decoration:none}
.pfr-cta a:hover{background:#f7c040}
.pfr-fazit{background:#F7F5F1;border-radius:14px;padding:24px 28px;margin:40px 0 0;border:1px solid #EDE9E3}
.pfr-fazit-title{font-size:16px;font-weight:800;color:#1A475F;margin-bottom:12px}
.pfr-fazit ul{margin:0;padding-left:20px}
.pfr-fazit li{font-size:14px;color:#3a4a52;margin-bottom:6px;font-weight:600}
@media(max-width:600px){.pfr-aff{flex-direction:column;gap:12px}.pfr-artikel h2{font-size:18px}}

/* ================================================================
   STICKY HEADER – immer gleich, kein Wechsel, kein Schrumpfen
   ================================================================ */

/* Header immer fixed oben */
.site-main-header-wrap.kadence-sticky-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important;
  background: #0f2e3f !important;
  transition: none !important;
}

/* Admin-Bar Korrektur */
.admin-bar .site-main-header-wrap.kadence-sticky-header {
  top: 32px !important;
}

/* Header-Hoehe immer gleich – keine Kadence-Verkleinerung */
.site-main-header-inner-wrap {
  height: auto !important;
  min-height: 70px !important;
  max-height: none !important;
}

/* Logo immer gleich gross */
.site-main-header-inner-wrap .custom-logo,
.site-main-header-inner-wrap .site-branding img {
  max-width: 235px !important;
  max-height: none !important;
  width: auto !important;
  height: auto !important;
  transition: none !important;
}

/* Kein Kadence-Schrumpf-Effekt */
.item-is-stuck .site-main-header-inner-wrap {
  height: auto !important;
  min-height: 70px !important;
  max-height: none !important;
}

.item-is-stuck .custom-logo,
.item-is-stuck .site-branding img {
  max-width: 235px !important;
  max-height: none !important;
  width: auto !important;
  height: auto !important;
}

/* Platz unter Header fuer Content */
#inner-wrap {
  padding-top: 77px !important;
}

@media screen and (max-width: 768px) {
  .admin-bar .site-main-header-wrap.kadence-sticky-header {
    top: 46px !important;
  }
  #inner-wrap {
    padding-top: 70px !important;
  }
}


/* ================================================================
   MAGAZIN GRID FIX – zentriert, richtige Breite, Bilder sichtbar
   ================================================================ */

/* Grid-Container zentrieren und begrenzen */
.page-id-23 ul.kb-posts.kadence-posts-list {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px !important;
}

@media (max-width: 600px) {
  .page-id-23 ul.kb-posts.kadence-posts-list {
    grid-template-columns: 1fr !important;
    max-width: 500px !important;
  }
}


/* Magazin Karten - Kategorie-Badge stylen */
.page-id-23 .kb-post-list-item .entry-taxonomies {
  display: inline-block !important;
  background: #d4a745;
  color: #0f2e3f !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px;
  padding: 3px 10px !important;
  margin: 0 0 8px 0 !important;
  border-radius: 3px;
}

.page-id-23 .kb-post-list-item .entry-taxonomies a {
  color: #0f2e3f !important;
  text-decoration: none !important;
}

/* Karten abrunden und Schatten */
.page-id-23 .kb-post-list-item article.loop-entry {
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.3) !important;
  background: #fff !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.page-id-23 .kb-post-list-item article.loop-entry:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.4) !important;
}

/* Excerpt und Meta weiß auf dunklem Hintergrund oder dunkel auf weißer Karte */
.page-id-23 .kb-post-list-item .entry-content-wrap {
  padding: 16px 20px !important;
}

.page-id-23 .kb-post-list-item .entry-meta {
  color: #666 !important;
  font-size: 12px !important;
}

.page-id-23 .kb-post-list-item .entry-summary p,
.page-id-23 .kb-post-list-item .entry-content p {
  color: #333 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* Weiterlesen Link */
.page-id-23 .kb-post-list-item .entry-summary a.entry-more-link,
.page-id-23 .kb-post-list-item .kb-post-read-more {
  color: #d4a745 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  font-size: 13px !important;
}

/* Thumbnail border-radius oben */
.page-id-23 .kb-post-list-item .post-thumbnail {
  border-radius: 12px 12px 0 0 !important;
}

.page-id-23 .kb-post-list-item .post-thumbnail-inner {
  border-radius: 12px 12px 0 0 !important;
}


/* =====================================================
   BEITRAGS-NAVIGATION (Weiter/Zurück) – Global
   ===================================================== */
.post-navigation .nav-links a,
.post-navigation .nav-links a .post-navigation-sub,
.post-navigation .nav-links a title {
  color: #ffffff !important;
}

.post-navigation .nav-links a:hover,
.post-navigation .nav-links a:hover .post-navigation-sub {
  color: #d4a745 !important;
}

.post-navigation .nav-links .nav-previous,
.post-navigation .nav-links .nav-next {
  color: #ffffff !important;
}


/* =====================================================
   KOMMENTAR-BEREICH – Global lesbar machen
   ===================================================== */
#comments .comment-reply-title,
.comments-area .comment-reply-title {
  color: #ffffff !important;
}

#comments p,
.comments-area p,
.comment-form p,
.comment-notes,
.logged-in-as {
  color: rgba(255,255,255,0.7) !important;
}

.comment-form label {
  color: #ffffff !important;
}

.comment-form .required {
  color: #d4a745 !important;
}

/* ═══ GEODIRECTORY EINZELSEITE ═══ */

/* Seitenhintergrund */
.single-gd_place .site-main,
.single-gd_place .content-container {
  background: #F7F5F1 !important;
}

/* Titel */
.single-gd_place .entry-title {
  display: block !important;
  color: #1A475F !important;
  font-size: clamp(24px, 4vw, 36px) !important;
  font-weight: 900 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 16px !important;
}

/* Artikel Container */
.single-gd_place article.gd_place {
  background: #ffffff !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 32px rgba(26,71,95,0.08) !important;
  padding: 0 !important;
  margin-bottom: 40px !important;
}

/* Tab Navigation */
.single-gd_place .geodir-tabs .nav-tabs {
  background: #1A475F !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border-radius: 0 !important;
}

.single-gd_place .geodir-tabs .nav-tabs .nav-item {
  margin: 0 !important;
}

.single-gd_place .geodir-tabs .nav-tabs .nav-link {
  color: rgba(255,255,255,0.6) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  padding: 16px 18px !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: color 0.2s, border-color 0.2s !important;
}

.single-gd_place .geodir-tabs .nav-tabs .nav-link:hover {
  color: rgba(255,255,255,0.9) !important;
  border-bottom-color: rgba(242,169,0,0.4) !important;
}

.single-gd_place .geodir-tabs .nav-tabs .nav-link.active {
  color: #F2A900 !important;
  border-bottom-color: #F2A900 !important;
  background: transparent !important;
}

/* Tab Inhalt */
.single-gd_place .geodir-tabs-content {
  padding: 28px 28px 32px !important;
  background: #ffffff !important;
}

/* Beschreibung Text */
.single-gd_place .geodir_post_meta p,
.single-gd_place .geodir-post-meta-container p {
  color: #3a4a52 !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
}

/* Bewertungs-Formular */
.single-gd_place .comment-form textarea {
  background: #F7F5F1 !important;
  border: 1px solid #EDE9E3 !important;
  border-radius: 10px !important;
  color: #1A475F !important;
  padding: 12px 14px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  width: 100% !important;
}

.single-gd_place .comment-form textarea:focus {
  border-color: #F2A900 !important;
  outline: none !important;
}

/* Submit Button Bewertung */
.single-gd_place #submit {
  background: #F2A900 !important;
  color: #0f2e3f !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 13px 28px !important;
  cursor: pointer !important;
  width: auto !important;
  transition: background 0.2s !important;
}

.single-gd_place #submit:hover {
  background: #f7c040 !important;
}

/* Sterne Rating */
.single-gd_place .gd-rating-foreground {
  color: #F2A900 !important;
}

/* Navigation vor/zurück */
.single-gd_place .geodir-pos_navigation {
  padding: 16px 28px !important;
  border-top: 1px solid #EDE9E3 !important;
}

/* Logged in Text */
.single-gd_place .logged-in-as {
  color: #7a8e97 !important;
  font-size: 12px !important;
}

.single-gd_place .logged-in-as a {
  color: #1A475F !important;
}

/* Reply Title */
.single-gd_place .comment-reply-title {
  color: #1A475F !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  margin-bottom: 16px !important;
}
/* ── Ergebnis-Header: Anzahl + Premium zuerst ── */
.pfr-results-header,
[class*="results-header"],
[class*="filter-header"] {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

/* ── Filter Chips: umbrechen erlauben ── */
.pfr-filter-bar,
[class*="filter-bar"],
[class*="filter-chips"] {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  overflow-x: visible !important;
  white-space: normal !important;
}

.pfr-filter-chip,
[class*="filter-chip"] {
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
/* Premium Strip Text zentriert */
.pfr-strip-inner {
  justify-content: center !important;
  text-align: center !important;
}

.pfr-strip-inner p {
  text-align: center !important;
  width: 100% !important;
}

/* Filter Bar NICHT sticky */
.pfr-filter-bar {
  position: relative !important;
  top: auto !important;
  z-index: auto !important;
}

/* Mein Salon Portal – nach oben */
.page-id-301 .entry-content,
.page-id-301 .content-wrap,
.page-id-301 .entry-content-wrap {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.page-id-301 .pfr-portal-login {
  margin-top: -40px !important;
}

/* Mein Salon – alle Abstände entfernen */
.page-id-301 .site-main,
.page-id-301 #main,
.page-id-301 .content-area,
.page-id-301 #primary,
.page-id-301 .entry,
.page-id-301 .entry-content-wrap,
.page-id-301 .entry-content,
.page-id-301 .content-wrap,
.page-id-301 article {
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-bottom: 0 !important;
}

.page-id-301 .pfr-portal-login {
  margin-top: -80px !important;
}

/* Mein Salon – weniger Abstand oben */
.page-id-301 .pfr-portal-login {
  margin-top: -60px !important;
  min-height: calc(100vh + 60px) !important;
}

.single-post .entry-content .pfr-toc a,
.single-post .entry-content .pfr-toc a:visited {
    color: #ffffff !important;
}
.single-post .entry-content .pfr-toc a:hover {
    color: #F2A900 !important;
}

/* DROPDOWN NAVIGATION */
.header-navigation .header-menu-container ul ul li.menu-item,
.header-navigation ul ul.sub-menu li.menu-item {
    border-bottom: none !important;
    border-radius: 0 !important;
}
.header-navigation ul ul.sub-menu,
.header-navigation ul ul.submenu {
    background: #0f2e3f !important;
    border: none !important;
    border-top: 2px solid #F2A900 !important;
    border-radius: 0 0 10px 10px !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.4) !important;
    padding: 6px 0 10px !important;
    min-width: 210px !important;
    margin-top: 0 !important;
}
.header-navigation ul ul.sub-menu li a,
.header-navigation ul ul.submenu li a {
    color: rgba(255,255,255,0.85) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: 'Montserrat', sans-serif !important;
    letter-spacing: .02em !important;
    padding: 10px 20px 10px 16px !important;
    display: block !important;
    border-left: 3px solid transparent !important;
    border-bottom: none !important;
    transition: all .15s ease !important;
}
.header-navigation ul ul.sub-menu li a:hover,
.header-navigation ul ul.submenu li a:hover {
    background: rgba(242,169,0,.1) !important;
    color: #F2A900 !important;
    border-left-color: #F2A900 !important;
    padding-left: 20px !important;
}

/* === pfr-lp FIXES === */
.pfr-lp-faq-item{margin-bottom:8px!important;border-radius:12px!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.1)!important}
.pfr-lp-faq-item .pfr-lp-faq-q{display:block!important;padding:20px 28px!important;font-size:15px!important;font-weight:700!important;color:#fff!important;background:rgba(255,255,255,.07)!important;line-height:1.4!important;border-bottom:none!important;margin:0!important}
.pfr-lp-faq-item .pfr-lp-faq-a{display:block!important;padding:18px 28px!important;font-size:14px!important;color:rgba(255,255,255,.65)!important;line-height:1.75!important;background:rgba(255,255,255,.02)!important;margin:0!important}
.pfr-lp-faq-a a{color:#F2A900!important;font-weight:600!important}
.pfr-lp-aff{background:#fffcf0!important;border:2px solid #F2A900!important;border-radius:14px!important;padding:22px!important;margin-bottom:16px!important}
.pfr-lp-aff-name{font-size:17px!important;font-weight:800!important;color:#0f2e3f!important;display:block!important;margin:0 0 8px!important}
.pfr-lp-aff-body p{font-size:13px!important;color:#5a6a72!important;margin:0 0 10px!important;line-height:1.6!important}
.pfr-lp-aff-body a{color:#F2A900!important;font-weight:700!important;font-size:13px!important}
.pfr-lp-tool-top{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important}
.pfr-lp-tool-tag{display:inline-block!important;font-size:9px!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#F2A900!important;background:rgba(242,169,0,.12)!important;padding:4px 10px!important;border-radius:100px!important}
.pfr-lp-tool-wrap .pfr-lp-tool-ico{font-size:32px!important;display:block!important;margin:0 0 4px!important;line-height:1!important;padding:0!important}
.pfr-lp-tool-wrap .pfr-lp-tool-name{display:block!important;margin:0 0 8px!important;font-size:16px!important;font-weight:900!important;color:#fff!important;padding:0!important}
.pfr-lp-tool-wrap .pfr-lp-tool-desc{display:block!important;margin:0 0 18px!important;font-size:13px!important;color:rgba(255,255,255,.55)!important;line-height:1.6!important;padding:0!important}
.pfr-lp-price-card p{margin:0!important}
.pfr-lp-fazit{background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:14px!important;padding:28px 32px!important;margin-top:32px!important}
.pfr-lp-fazit ul{padding-left:18px!important;margin:12px 0 0!important}
.pfr-lp-fazit li{font-size:14px!important;color:rgba(255,255,255,.7)!important;margin-bottom:6px!important;line-height:1.6!important}
.pfr-lp-fazit a{color:#F2A900!important;font-weight:600!important}

/* BUG-1 Fix: Article featured images cut off on mobile */
.single-post .post-thumbnail.article-post-thumbnail {
  padding-bottom: 0 !important;
  height: auto !important;
  overflow: visible !important;
}
.single-post .post-thumbnail.article-post-thumbnail .post-thumbnail-inner {
  position: relative !important;
}
.single-post .post-thumbnail.article-post-thumbnail img.wp-post-image {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  object-fit: unset !important;
}

/* BUG-17: Friseurkosten chip hover fix on mobile */
@media (hover: none) { .chip:not(.on):hover { border-color: var(--border) !important; color: var(--muted) !important; background: var(--cream) !important; } }

/* BUG-16: Ensure result section headings are always readable */
.stxt h3, .stxt h4, .rc2 h3, .rc2 h4, .slbl h3, .slbl h4 { color: #fff !important; text-shadow: 0 1px 2px rgba(0,0,0,0.3); }
.stxt .sub-title, .rc2 .sub-title { color: var(--gold, #F2A900) !important; }

/* pfr-lp-faq-fix-lrt */
.pfr-lp-faq{background:#0f2e3f!important}
.pfr-lp-faq-item{background:rgba(255,255,255,.04)!important}
.pfr-lp-faq .pfr-lp-faq-list h3,.pfr-lp-faq>span,.pfr-lp-faq>h2,.pfr-lp-faq>div>h2{color:#fff!important}


/* V105b: Hero headline fixes - match pfr-h1 styling */
.pfr-tools-hero h2,
.kr-hero h2,
.hdr h2 {
  font-size: clamp(26px, 5vw, 44px) !important;
  font-weight: 900 !important;
  color: #fff !important;
  letter-spacing: -0.03em !important;
  line-height: 1.1 !important;
  margin-bottom: 14px !important;
  font-family: Montserrat, sans-serif !important;
  font-style: normal !important;
}
.pfr-tools-hero h2 em,
.kr-hero h2 em,
.hdr h2 em {
  color: #F2A900 !important;
  font-family: Lora, serif !important;
  font-style: italic !important;
}
.pfr-result-cta {
  display: none !important;
}

/* ── Newsletter Popup Responsive Fix (V106) ── */
@media (max-width: 520px) {
  #pfr-nl-form {
    flex-wrap: wrap !important;
  }
  #pfr-nl-form input[type="email"] {
    width: 100% !important;
    flex: 1 1 100% !important;
  }
  #pfr-nl-form button[type="submit"] {
    width: 100% !important;
    flex: 1 1 100% !important;
  }
}