/*
Theme Name:   GeneratePress Child — Lars Conrad
Description:  Child theme for lars-conrad.de. Brand: Espresso #473A32 · Soft-White #F7F5F1 · Stein-Beige #C2B6AA · Taupe #DCD4C8
Template:     generatepress
Version:      1.0.0
*/

/* =====================================================
   Cormorant Garamond — digits only, served locally
   unicode-range restricts loading to characters 0–9
   so the font file is only fetched when a digit appears.
   ===================================================== */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/fonts/cormorant-garamond/co3umX5slCNuHLi8bLeY9MK7whWMhyjypVO7abI26QOD_v86KnTOig.woff2') format('woff2');
  unicode-range: U+0030-0039; /* 0–9 */
}


/* =====================================================
   Brand fonts — declared here so they load on every page,
   including legal pages (Datenschutz, Impressum) that have
   no Kadence blocks and therefore don't trigger Kadence's
   own font enqueue. Files are served locally via OMGF.
   ===================================================== */

@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/fonts/dm-serif-display-400.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/fonts/inter-400.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/wp-content/fonts/inter-600.woff2') format('woff2');
}


/* =====================================================
   Lars Conrad · Brand CSS
   Brandbook: April 2026

   Espresso-Dunkel  #473A32  — primary text, buttons, header
   Soft-White       #F7F5F1  — backgrounds, light areas
   Stein-Beige      #C2B6AA  — warm surfaces / #5A4439 on text
   Champagner-Taupe #DCD4C8  — subtle accents, table surfaces
   ===================================================== */

/* --- Custom Properties --- */
:root {
  --lc-espresso:    #473A32;
  --lc-white:       #F7F5F1;
  --lc-beige:       #C2B6AA;
  --lc-beige-dark:  #5A4439;
  --lc-taupe:       #DCD4C8;
  --lc-taupe-dark:  #b8aea2;
}


/* =====================================================
   BASE
   ===================================================== */

body {
  background-color: var(--lc-white);
  color: var(--lc-espresso);
}

p, li, td, th, label, span {
  color: var(--lc-espresso);
}

a {
  color: var(--lc-espresso);
  text-decoration: none;
}

a:hover {
  color: var(--lc-beige-dark);
}

hr {
  border-color: var(--lc-taupe);
}


/* =====================================================
   TYPOGRAPHY
   Brandbook rule: DM Serif Display for H1 only.
   Inter (600) for H2–H6.
   ===================================================== */

/* Base heading fonts — apply to ALL pages including legal pages that have
   no Kadence blocks. Kadence block-specific overrides below take precedence
   on the homepage where blocks are present. */
h1 {
  font-family: 'DM Serif Display', Georgia, serif;
  font-weight: 400; /* DM Serif Display is single-weight; 400 is its only variant */
  color: var(--lc-espresso);
}

/* <strong>/<b> inside a plain h1 must not request bold — DM Serif Display
   has no bold variant and the browser would fall back to Georgia Bold. */
h1 strong, h1 b {
  font-family: 'DM Serif Display', Georgia, serif;
  font-weight: 400;
}

h2 {
  font-family: 'DM Serif Display', Georgia, serif;
  font-weight: 400;
  color: var(--lc-espresso);
}

h2 strong, h2 b {
  font-family: 'DM Serif Display', Georgia, serif;
  font-weight: 400;
}

h3 {
  font-family: 'DM Serif Display', Georgia, serif;
  font-weight: 400;
  color: var(--lc-espresso);
}

h3 strong, h3 b {
  font-family: 'DM Serif Display', Georgia, serif;
  font-weight: 400;
}

h4, h5, h6 {
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 600;
  color: var(--lc-espresso);
}

/* Kadence Advanced Headings — colour for all */
.kt-adv-heading,
.wp-block-kadence-advancedheading {
  color: var(--lc-espresso);
}

/* Force DM Serif Display on heading-level Kadence blocks.
   DM Serif Display is a single-weight font (Regular 400 only) — requesting
   any other weight causes the browser to fall back to Georgia Bold instead.
   Always use 400; visual weight comes from size and the font's own character.
   Paragraph-level eyebrow text (htmlTag="p") is unaffected. */
h1.wp-block-kadence-advancedheading,
h2.wp-block-kadence-advancedheading,
h3.wp-block-kadence-advancedheading {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-weight: 400 !important;
}

h4.wp-block-kadence-advancedheading,
h5.wp-block-kadence-advancedheading,
h6.wp-block-kadence-advancedheading {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-weight: 400 !important;
}

/* Prevent <strong>/<b> inside headings from requesting bold weight,
   which DM Serif Display can't satisfy and causes Georgia Bold fallback. */
h1.wp-block-kadence-advancedheading strong,
h1.wp-block-kadence-advancedheading b,
h2.wp-block-kadence-advancedheading strong,
h2.wp-block-kadence-advancedheading b,
h3.wp-block-kadence-advancedheading strong,
h3.wp-block-kadence-advancedheading b {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-weight: 400 !important;
}


/* =====================================================
   HEADER & NAVIGATION
   Light header — Soft-White bg, Espresso text
   ===================================================== */

.site-header,
.fixed-nav-bar,
.site-header.fixed-header,
.has-transparent-nav .site-header,
.site-header.transparent-header,
.kadence-header,
.kb-header,
.kb-header-row,
.kadence-header-wrap,
.kb-header-row-wrap,
.wp-block-kadence-header-row:not(.kb-header-row-layout-contained),
.kb-header-sticky-wrapper.item-is-fixed,
.kb-header-sticky-wrapper.item-is-stuck,
.kb-header-container.item-is-fixed,
.kb-header-container.item-is-stuck {
  background: var(--lc-white) !important;
  background-color: var(--lc-white) !important;
  border-bottom: 1px solid var(--lc-taupe);
}

.site-title a,
.site-title a:hover,
.site-description {
  color: var(--lc-espresso);
}

/* Primary nav links */
.main-navigation a,
.nav-primary a {
  color: var(--lc-espresso);
}

.main-navigation a:hover,
.nav-primary a:hover,
.main-navigation .current-menu-item > a,
.nav-primary .current-menu-item > a {
  color: var(--lc-beige-dark);
}

/* Dropdown menus */
.main-navigation .sub-menu {
  background-color: var(--lc-white);
  border-top: 2px solid var(--lc-taupe);
}

.main-navigation .sub-menu a {
  color: var(--lc-espresso);
  border-bottom: 1px solid var(--lc-taupe);
}

.main-navigation .sub-menu a:hover {
  background-color: var(--lc-taupe);
  color: var(--lc-espresso);
}

/* Mobile menu toggle */
.menu-toggle,
.menu-toggle:hover {
  color: var(--lc-espresso);
}


/* =====================================================
   BUTTONS
   ===================================================== */

/* Shared button sizing tokens */
:root {
  --lc-btn-padding:  10px 22px;
  --lc-btn-size:     14px;
  --lc-btn-tracking: 0.04em;
}

/* Header CTA — more compact than page buttons */
.site-header a.kt-button,
.site-header .kb-btn,
.site-header .kb-button,
.wp-block-kadence-navigation a.kt-button,
.wp-block-kadence-navigation .kb-btn,
.wp-block-kadence-navigation .kb-button {
  padding: 8px 16px !important;
  font-size: 13px !important;
}

/* WordPress core buttons */
.wp-block-button__link,
.wp-block-button .wp-block-button__link {
  background-color: var(--lc-espresso) !important;
  color: var(--lc-white) !important;
  border-radius: 3px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: var(--lc-btn-size) !important;
  font-weight: 500 !important;
  letter-spacing: var(--lc-btn-tracking);
  padding: var(--lc-btn-padding) !important;
  border: 2px solid var(--lc-espresso) !important;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:hover {
  background-color: var(--lc-beige-dark) !important;
  border-color: var(--lc-beige-dark) !important;
  color: var(--lc-white) !important;
}

/* Outline button variant */
.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  color: var(--lc-espresso) !important;
  border: 2px solid var(--lc-espresso) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--lc-espresso) !important;
  color: var(--lc-white) !important;
}

/* Kadence buttons — override inline palette vars and inner elements */
a.kt-button,
a.kb-btn,
.kt-button,
.kb-btn,
.kb-button,
.wp-block-kadence-advancedbtn a.kt-button,
.wp-block-kadence-advancedbtn .kb-btn,
.kb-buttons-wrap a.kt-button,
.kb-buttons-wrap .kb-btn {
  --kb-btn-color: var(--lc-white) !important;
  background-color: var(--lc-espresso) !important;
  color: var(--lc-white) !important;
  border-radius: 3px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: var(--lc-btn-size) !important;
  font-weight: 500 !important;
  letter-spacing: var(--lc-btn-tracking);
  padding: var(--lc-btn-padding) !important;
  border-color: var(--lc-espresso) !important;
  text-decoration: none !important;
}

/* Also target any inner spans/text nodes Kadence wraps button text in */
a.kt-button *,
a.kb-btn *,
.kt-button *,
.kb-btn *,
.kb-buttons-wrap a.kt-button *,
.kb-buttons-wrap .kb-btn * {
  color: var(--lc-white) !important;
}

a.kt-button:hover,
a.kb-btn:hover,
.kt-button:hover,
.kb-btn:hover,
.kb-button:hover,
.wp-block-kadence-advancedbtn a.kt-button:hover,
.kb-buttons-wrap a.kt-button:hover {
  --kb-btn-color: var(--lc-white) !important;
  background-color: var(--lc-beige-dark) !important;
  border-color: var(--lc-beige-dark) !important;
  color: var(--lc-white) !important;
}

/* Form submit buttons */
input[type="submit"],
button[type="submit"],
.button,
.btn {
  background-color: var(--lc-espresso) !important;
  color: var(--lc-white) !important;
  border: 2px solid var(--lc-espresso) !important;
  border-radius: 3px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: var(--lc-btn-size) !important;
  font-weight: 500 !important;
  letter-spacing: var(--lc-btn-tracking) !important;
  padding: var(--lc-btn-padding) !important;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

input[type="submit"]:hover,
button[type="submit"]:hover,
.button:hover,
.btn:hover {
  background-color: var(--lc-beige-dark) !important;
  color: var(--lc-white) !important;
}


/* =====================================================
   FORMS
   ===================================================== */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="url"],
textarea,
select {
  border: 1px solid var(--lc-taupe);
  border-radius: 2px;
  background-color: #ffffff;
  color: var(--lc-espresso);
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--lc-beige-dark);
  outline: none;
  box-shadow: 0 0 0 2px rgba(90, 68, 57, 0.12);
}

::placeholder {
  color: var(--lc-beige-dark);
  opacity: 0.6;
}


/* =====================================================
   FOOTER
   ===================================================== */

.site-footer {
  background-color: var(--lc-espresso);
  color: var(--lc-white);
}

.site-footer,
.site-footer p,
.site-footer li,
.site-footer span {
  color: var(--lc-white);
}

.site-footer a {
  color: var(--lc-taupe);
}

.site-footer a:hover {
  color: var(--lc-white);
}

.footer-bar {
  background-color: var(--lc-beige-dark);
  color: var(--lc-white);
}

.footer-bar a {
  color: var(--lc-taupe);
}


/* =====================================================
   KADENCE BLOCKS — global overrides
   ===================================================== */

.kt-blocks-info-box-title {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  color: var(--lc-espresso);
}

.kt-svg-icon-list-item-wrap .kt-svg-icon-list-single {
  color: var(--lc-beige-dark);
}

.kt-accordion-panel {
  background-color: transparent !important;
}

.kt-testimonial-content-wrap {
  border-color: var(--lc-taupe);
}

/* Helper classes for the block editor */
.lc-bg-espresso   { background-color: var(--lc-espresso) !important; }
.lc-bg-white      { background-color: var(--lc-white) !important; }
.lc-bg-beige      { background-color: var(--lc-beige) !important; }
.lc-bg-taupe      { background-color: var(--lc-taupe) !important; }
.lc-text-white    { color: var(--lc-white) !important; }
.lc-text-espresso { color: var(--lc-espresso) !important; }


/* =====================================================
   SECTION ALTERNATING BACKGROUNDS
   ===================================================== */

.lc-section-beige,
.wp-block-group.lc-section-beige {
  background-color: var(--lc-beige) !important;
}

.lc-section-taupe,
.wp-block-group.lc-section-taupe {
  background-color: var(--lc-taupe) !important;
}

.lc-section-espresso,
.wp-block-group.lc-section-espresso {
  background-color: var(--lc-espresso) !important;
}

.lc-section-espresso h1,
.lc-section-espresso h2,
.lc-section-espresso h3,
.lc-section-espresso p,
.lc-section-espresso li {
  color: var(--lc-white) !important;
}

/* Kadence icon list text — scoped to the specific espresso row */
.kb-row-layout-id288_fd4aa6-ec .kt-svg-icon-list-text {
  color: var(--lc-white) !important;
}


/* =====================================================
   MOBILE NAVIGATION
   ===================================================== */

/* Off-canvas panel background */
.wp-block-kadence-off-canvas .kb-off-canvas-inner {
  background-color: var(--lc-white) !important;
}

@media (max-width: 767px) {

  /* Stack items vertically; reset gap and height variables Kadence may have set */
  .wp-block-kadence-navigation .menu {
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    height: auto !important;
    gap: 0 !important;
    row-gap: 0 !important;
    column-gap: 0 !important;
    padding-top: 24px !important;
  }

  /* Stretch the nav block and its inner wrapper to full panel width
     so the separator lines run edge-to-edge */
  .wp-block-kadence-navigation,
  .wp-block-kadence-navigation .kadence-navigation,
  .wp-block-kadence-navigation .navigation-inner-wrap {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Prevent items from stretching to fill the full panel height.
     Separators live on the <li> — less likely to be reset by Kadence nav rules */
  .wp-block-kadence-navigation .menu > .menu-item {
    flex: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: unset !important;
    display: block !important;
    border-bottom: 1px solid var(--lc-taupe) !important;
  }

  .wp-block-kadence-navigation .menu > .menu-item:first-child {
    border-top: 1px solid var(--lc-taupe) !important;
  }

  /* Nav links — generous tap target */
  .wp-block-kadence-navigation .menu > .menu-item > a,
  .wp-block-kadence-navigation .menu > .menu-item > .kb-nav-link {
    display: block !important;
    height: auto !important;
    min-height: unset !important;
    padding: 18px 24px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    color: var(--lc-espresso) !important;
    text-decoration: none !important;
  }

  .wp-block-kadence-navigation .menu > .menu-item > a:hover {
    color: var(--lc-beige-dark) !important;
    background: none !important;
  }

}


/* =====================================================
   SEPARATORS & MISC
   ===================================================== */

.wp-block-separator,
.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
  border-color: var(--lc-taupe);
  background-color: var(--lc-taupe);
}

.breadcrumb-trail,
.breadcrumbs {
  color: var(--lc-beige-dark);
}

.breadcrumb-trail a {
  color: var(--lc-beige-dark);
}

.kt-svg-icon svg {
  fill: var(--lc-espresso);
}

::selection {
  background-color: var(--lc-beige);
  color: var(--lc-espresso);
}


/* =====================================================
   GOOGLE REVIEWS — [lars_google_reviews]
   ===================================================== */

/* Carousel wrapper */
.lc-reviews-carousel {
  position: relative;
  width: 100%;
}

.lc-reviews-track-wrap {
  overflow: hidden;
  width: 100%;
}

.lc-reviews-track {
  display: flex;
  gap: 24px;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

/* Card — flex item sized for 3-up desktop, full-width mobile */
.lc-review-card {
  background-color: #ffffff;
  border-radius: 12px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 0 0 calc((100% - 48px) / 3); /* 3 cards, 2 × 24 px gaps */
  min-width: 0;
  box-shadow: 0 2px 18px rgba(71, 58, 50, 0.10);
  text-decoration: none !important;
  color: inherit;
  transition: box-shadow 0.2s ease;
}

.lc-review-card:hover {
  box-shadow: 0 6px 28px rgba(71, 58, 50, 0.18);
  color: inherit;
}

@media (max-width: 900px) {
  .lc-review-card {
    flex: 0 0 100%;
  }
}

/* Carousel navigation */
.lc-carousel-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
}

.lc-carousel-prev,
.lc-carousel-next {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  background-color: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 1;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.lc-carousel-prev:hover,
.lc-carousel-next:hover {
  background-color: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.6);
}

.lc-carousel-prev:disabled,
.lc-carousel-next:disabled {
  opacity: 0.30;
  cursor: default;
}

.lc-carousel-prev:disabled:hover,
.lc-carousel-next:disabled:hover {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.35);
}

/* Stars */
.lc-review-stars {
  display: flex;
  gap: 3px;
}

.lc-star {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.lc-star--full  { fill: #F4B400; }
.lc-star--empty { fill: var(--lc-taupe); }

/* Review text */
.lc-review-text {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.65;
  color: var(--lc-espresso);
  font-style: italic;
  margin: 0;
  flex: 1;
}

/* Author row */
.lc-review-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px solid var(--lc-taupe);
}

/* Avatar */
.lc-review-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.lc-review-avatar--initials {
  background-color: var(--lc-beige);
  color: var(--lc-espresso);
  font-family: 'DM Serif Display', Georgia, serif;
  font-size: 18px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Author name + Google badge */
.lc-review-author-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.lc-review-name {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--lc-espresso);
  line-height: 1.2;
}

.lc-review-source {
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--lc-beige-dark);
  line-height: 1.2;
}


/* =====================================================
   FAQ ACCORDION
   ===================================================== */

/* Outer wrap: closing border after the last item */
.kt-accordion-inner-wrap {
  border-bottom: 1px solid var(--lc-taupe) !important;
}

/* Each pane: top separator, zero out any Kadence default margin */
.wp-block-kadence-pane {
  border-top: 1px solid var(--lc-taupe) !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Header wrapper — no background, no border */
.kt-accordion-header-wrap,
.kt-accordion-header-wrap:hover,
.kt-accordion-header-wrap:focus-within {
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* Question button — default state */
.kt-blocks-accordion-header,
button.kt-blocks-accordion-header {
  color: var(--lc-espresso) !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  padding: 20px 0 !important;
  transition: color 0.2s ease !important;
}

/* Hover */
.kt-blocks-accordion-header:hover,
button.kt-blocks-accordion-header:hover {
  color: var(--lc-beige-dark) !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Active / open / focus-visible — Kadence generates a block-specific selector
   with 6-class specificity; adding `body` (a tag) beats it regardless of order */
body .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active,
body .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header:focus-visible,
body .kt-accordion-header-wrap .kt-blocks-accordion-header.kt-accordion-panel-active,
body .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible {
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-left: none !important;
  color: var(--lc-espresso) !important;
  background: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Panel inner — no extra top gap (button already has 20px padding-bottom);
   bottom padding matches the button's top padding so open/closed look balanced */
.kt-accordion-panel-inner {
  padding: 0 0 20px !important;
  background: transparent !important;
  border: none !important;
}

/* Answer text — regular weight, visually distinct from the bold question */
.kt-accordion-panel-inner p,
.kt-accordion-panel-inner li {
  color: var(--lc-espresso);
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 0;
}


/* =====================================================
   RESPONSIVE — Layout & order fixes
   ===================================================== */

/* --- "Der Weg mit mir": Force flex column so `order` works,
      then put heading+text (col 2) BEFORE steps card (col 1) --- */
@media (max-width: 767px) {
  .kb-row-layout-id288_4f7ca4-87 .kt-row-column-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .kb-row-layout-id288_4f7ca4-87 .kadence-column288_a2899c-89 { order: 2 !important; width: 100% !important; }
  .kb-row-layout-id288_4f7ca4-87 .kadence-column288_983928-35 { order: 1 !important; width: 100% !important; }
}

/* --- "Was Sie danach klarer wissen": Force flex column,
      put heading+text (col 2) BEFORE checklist (col 1)     --- */
@media (max-width: 767px) {
  .kb-row-layout-id288_b477a1-27 .kt-row-column-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .kb-row-layout-id288_b477a1-27 .kadence-column288_3d6fad-a0 { order: 2 !important; width: 100% !important; }
  .kb-row-layout-id288_b477a1-27 .kadence-column288_7c2f26-49 { order: 1 !important; width: 100% !important; }
}

/* --- Kontakt: override Kadence right-to-left collapse,
      put heading+form (col 1) BEFORE Arbeitszeiten (col 2) --- */
@media (max-width: 767px) {
  .kb-row-layout-id288_fee618-c9 .kt-row-column-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .kb-row-layout-id288_fee618-c9 .kadence-column288_666961-fb { order: 1 !important; width: 100% !important; }
  .kb-row-layout-id288_fee618-c9 .kadence-column288_41df42-b9 { order: 2 !important; width: 100% !important; }
}

/* --- Stats (16+, 400+, 40+): stack cards vertically on mobile --- */
@media (max-width: 767px) {
  .kadence-column288_36a6f4-7a .wp-block-group {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }
  .kadence-column288_36a6f4-7a .wp-block-group .wp-block-kadence-column {
    flex: none !important;
    width: 100% !important;
  }
}

/* --- Trust strip (5 items):
      Stack as a 2-column grid on mobile instead of
      5 separate full-width rows                          --- */
@media (max-width: 767px) {
  .kb-row-layout-id288_fd4aa6-ec > .kt-row-column-wrap {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0 !important;
  }
  .kb-row-layout-id288_fd4aa6-ec .wp-block-kadence-column {
    width: 100% !important;
    text-align: center !important;
  }
  .kb-row-layout-id288_fd4aa6-ec .kt-svg-icon-list-item-wrap {
    justify-content: center !important;
  }
}

/* --- FAQ heading: restore bottom spacing on mobile
      (Kadence block sets mobileMargin bottom to 0)       --- */
@media (max-width: 767px) {
  .kt-adv-heading288_a35abb-c7 { margin-bottom: 28px !important; }
}

/* --- Hero: reduce top/bottom padding on mobile (desktop value 104px/64px is too large) --- */
@media (max-width: 767px) {
  .kb-row-layout-id288_433f16-37 .kt-row-column-wrap {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
}

/* --- Legal/static pages: heading sizes and horizontal padding.
      body.home excluded so homepage Kadence blocks are
      unaffected (they handle their own spacing).         --- */
body:not(.home) h1 {
  font-size: 2.1rem;
}
body:not(.home) h2 {
  font-size: 1.9rem;
}
@media (max-width: 1199px) {
  body:not(.home) .entry-content {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* --- All buttons: smaller size on mobile --- */
@media (max-width: 767px) {
  .kb-btn,
  .kb-buttons-wrap .kb-btn,
  .wp-block-button__link,
  .wp-block-button .wp-block-button__link {
    font-size: 0.9rem !important;
    padding: 8px 18px !important;
  }
}

/* --- Hero CTA buttons:
      Stack vertically on very narrow screens (<380px)    --- */
@media (max-width: 380px) {
  .kb-btns288_f329fd-e8 {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .kb-btns288_f329fd-e8 .kt-button {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
}

/* --- "Was nicht zu mir passt" pipe text:
      Prevent overflow on very narrow screens             --- */
.kt-adv-heading288_b60ff1-8e {
  word-break: break-word;
  overflow-wrap: break-word;
}


/* =====================================================
   COMPLIANZ — Data request form (#cmplz-datarequest-form)
   Styles the form on the Datenschutz page to match the
   site's design system.
   ===================================================== */

#cmplz-datarequest-form {
  max-width: 480px;
  margin-top: 24px;
}

/* Stack label above input */
#cmplz-datarequest-form .cmplz-datarequest-form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

/* Labels */
#cmplz-datarequest-form label {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lc-beige-dark);
  margin: 0;
}

/* Text / email inputs */
#cmplz-datarequest-form input[type="text"],
#cmplz-datarequest-form input[type="email"] {
  margin-bottom: 20px;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 15px;
  color: var(--lc-espresso);
  background: var(--lc-white);
  border: 1px solid rgba(71, 58, 50, 0.2);
  border-radius: 6px;
  padding: 12px 14px;
  width: 100%;
  transition: border-color 220ms ease, box-shadow 220ms ease;
  -webkit-appearance: none;
  appearance: none;
}

#cmplz-datarequest-form input[type="text"]:focus,
#cmplz-datarequest-form input[type="email"]:focus {
  outline: none;
  border-color: var(--lc-beige-dark);
  box-shadow: 0 0 0 3px rgba(90, 68, 57, 0.10);
}

/* Checkbox rows — spacing and label reset */
#cmplz-datarequest-form .cmplz_datarequest {
  margin-top: 14px;
}

#cmplz-datarequest-form .cmplz_datarequest label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--lc-espresso);
  cursor: pointer;
  line-height: 1.5;
}

#cmplz-datarequest-form input[type="checkbox"] {
  margin-top: 2px;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  accent-color: var(--lc-beige-dark);
  cursor: pointer;
}

/* Submit button — match site button style */
#cmplz-datarequest-form input[type="submit"],
#cmplz-datarequest-form button[type="submit"],
#cmplz-datarequest-submit {
  margin-top: 20px;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 10px 22px;
  border-radius: 3px;
  border: none;
  cursor: pointer;
  background: var(--lc-espresso);
  color: var(--lc-white);
  transition: background 220ms ease;
  -webkit-appearance: none;
  appearance: none;
}

#cmplz-datarequest-form input[type="submit"]:hover,
#cmplz-datarequest-form button[type="submit"]:hover,
#cmplz-datarequest-submit:hover {
  background: var(--lc-beige-dark);
}
