.elementor-kit-5{--e-global-color-primary:#D62828;--e-global-color-secondary:#A41E1E;--e-global-color-text:#15171A;--e-global-color-accent:#C8A765;--e-global-color-muted:#6B6F76;--e-global-color-ink_2:#2C2F36;--e-global-color-paper:#FFFFFF;--e-global-color-green:#B7B2A6;--e-global-color-8d6310f:#FFFFFF73;--e-global-color-bg:#FAF7F1;--e-global-color-sand:#F2EDE3;--e-global-typography-primary-font-family:"Bricolage Grotesque";--e-global-typography-primary-font-size:64px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.1em;--e-global-typography-primary-letter-spacing:-0.025em;--e-global-typography-secondary-font-family:"Bricolage Grotesque";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-letter-spacing:-0.01em;--e-global-typography-text-font-family:"Manrope";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Manrope";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:0.18em;--e-global-typography-hero_h1-font-family:"Bricolage Grotesque";--e-global-typography-hero_h1-font-size:88px;--e-global-typography-hero_h1-font-weight:600;--e-global-typography-hero_h1-line-height:1em;--e-global-typography-hero_h1-letter-spacing:-0.04em;--e-global-typography-section_h2-font-family:"Bricolage Grotesque";--e-global-typography-section_h2-font-size:56px;--e-global-typography-section_h2-font-weight:600;--e-global-typography-section_h2-line-height:1em;--e-global-typography-section_h2-letter-spacing:-0.035em;--e-global-typography-card_h3-font-family:"Bricolage Grotesque";--e-global-typography-card_h3-font-size:24px;--e-global-typography-card_h3-font-weight:600;--e-global-typography-card_h3-line-height:1.2em;--e-global-typography-card_h3-letter-spacing:-0.01em;--e-global-typography-lede-font-family:"Manrope";--e-global-typography-lede-font-size:19px;--e-global-typography-lede-font-weight:400;--e-global-typography-lede-line-height:1.55em;--e-global-typography-button-font-family:"Manrope";--e-global-typography-button-font-size:15px;--e-global-typography-button-font-weight:600;--e-global-typography-button-text-transform:none;--e-global-typography-button-line-height:1.2em;--e-global-typography-button-letter-spacing:0px;--e-global-typography-1702156-font-family:"Manrope";--e-global-typography-1702156-font-size:15px;--e-global-typography-1702156-font-weight:400;--e-global-typography-1702156-line-height:1.5em;--e-global-typography-0b0dae2-font-family:"Manrope";--e-global-typography-0b0dae2-font-size:14px;--e-global-typography-0b0dae2-font-weight:400;--e-global-typography-0b0dae2-line-height:1.5em;color:#15171A;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1100px){.elementor-kit-5{--e-global-typography-primary-font-size:52px;--e-global-typography-primary-line-height:1.1em;--e-global-typography-hero_h1-font-size:56px;--e-global-typography-section_h2-font-size:46px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:768px){.elementor-kit-5{--e-global-typography-primary-font-size:42px;--e-global-typography-primary-line-height:1.1em;--e-global-typography-hero_h1-font-size:42px;--e-global-typography-section_h2-font-size:36px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* CF7 form styling to match AHORN design */
.wpcf7-form .cf7-label,
.wpcf7-form label.cf7-label {
  display: block;
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #6B6F76;
  margin: 14px 0 6px;
}
.wpcf7-form .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {
  width: 100%;
  height: 44px;
  border: 1px solid #E6E2DA;
  border-radius: 10px;
  padding: 0 14px;
  font-family: 'Manrope', sans-serif;
  font-size: 14.5px;
  color: #15171A;
  background: #FFFFFF;
  transition: border-color .15s;
  margin: 0;
}
.wpcf7-form select.wpcf7-form-control {
  padding: 0 10px;
}
.wpcf7-form .wpcf7-form-control:focus {
  outline: none;
  border-color: #D62828;
}
.wpcf7-form .wpcf7-submit {
  width: 100%;
  height: 48px;
  margin-top: 18px;
  background: #D62828;
  color: #FFFFFF;
  border: 0;
  border-radius: 999px;
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: background .15s, transform .15s;
}
.wpcf7-form .wpcf7-submit:hover {
  background: #A41E1E;
  transform: translateY(-1px);
}
.wpcf7-form p { margin: 0; }
.wpcf7-not-valid-tip { font-size: 12px; color: #D62828; margin-top: 4px; }
.wpcf7-response-output { border-radius: 10px; padding: 12px 14px; font-size: 14px; font-family: 'Manrope', sans-serif; margin-top: 16px; }

/* Footer logo — invert dark logo to white for dark footer bg */
#footer img[src*="ahorn-logo"] {
  filter: brightness(0) invert(1);
}

/* Sticky header */
#site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(250,247,241,0.92) !important;
  backdrop-filter: blur(12px);
}

/* Service card image — force cover behavior */
#leistungen .e-con-inner img,
#leistungen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Equal height service card images */
#leistungen .elementor-element > .e-con-inner > .e-con:first-child {
  /* container holding the image */
}

/* ============================================================
   RESPONSIVE — mirrors ahorn.argon-devsite.com behavior
   Breakpoints: 1100px (tablet)  |  768px (mobile)
   Padding follows the user's spec: 70/40 tablet, 60/20 mobile
   ============================================================ */

/* ----- TABLET: max-width 1100px ----- */
@media (max-width: 1100px) {

  /* Type scale collapse — single big breakpoint like reference */
  #hero h1 { font-size: 56px !important; }
  #leistungen h2, #referenzen h2, #ueber h2,
  #prozess h2, #warum h2, #faq h2, #kontakt h2 { font-size: 42px !important; }

  /* Hero: quote card stops floating, stacks below content */
  #hero > .e-con-inner { flex-direction: column !important; align-items: flex-start !important; }
  #hero > .e-con-inner > .e-con:first-child { width: 100% !important; }
  #hero > .e-con-inner > .e-con:last-child { position: static !important; margin-top: 32px !important; max-width: 100% !important; width: 100% !important; align-self: flex-start !important; }

  /* Service grid: 3-col → 2-col */
  #leistungen > .e-con-inner > .e-con:nth-child(2) > .e-con { width: calc(50% - 12px) !important; flex-basis: calc(50% - 12px) !important; }

  /* Process steps: 4-col → 2-col */
  #prozess > .e-con-inner > .e-con-inner > .e-con:nth-child(4) > .e-con { width: calc(50% - 12px) !important; flex-basis: calc(50% - 12px) !important; }

  /* Why cards: 3-col → 2-col */
  #warum > .e-con-inner > .e-con:nth-child(2) > .e-con { width: calc(50% - 12px) !important; flex-basis: calc(50% - 12px) !important; }

  /* Gallery: 4-col equivalent → 2-col */
  #referenzen > .e-con-inner > .e-con > .e-con { width: calc(50% - 8px) !important; flex-basis: calc(50% - 8px) !important; min-height: 240px !important; }

  /* FAQ: 2-col → 1-col */
  #faq > .e-con-inner > .e-con:nth-child(2) > .e-con { width: 100% !important; flex-basis: 100% !important; }

  /* About: 2-col art+content → stack */
  #ueber { flex-direction: column !important; gap: 48px !important; }
  #ueber > .e-con { width: 100% !important; }

  /* Red CTA: stack content + form */
  #kontakt > .e-con-inner { flex-direction: column !important; }
  #kontakt > .e-con-inner > .e-con { width: 100% !important; }

  /* Footer: 4-col → 2-col */
  #footer > .e-con-inner > .e-con:nth-child(2) > .e-con { width: calc(50% - 24px) !important; flex-basis: calc(50% - 24px) !important; }
  #footer > .e-con-inner > .e-con:nth-child(1) > .e-con { width: 100% !important; flex-basis: 100% !important; }

  /* Ribbon: hide middle item to fit */
  #top-ribbon .elementor-icon-list-item:nth-child(2) { display: none !important; }

  /* Process & Red CTA: remove outer margin so they go full-bleed */
  #prozess > .e-con-inner,
  #kontakt > .e-con-inner {
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 24px !important;
  }
}

/* ----- MOBILE: max-width 768px ----- */
@media (max-width: 768px) {

  /* Type — hero H1 down again */
  #hero h1 { font-size: 42px !important; line-height: 1.05 !important; }
  #leistungen h2, #referenzen h2, #ueber h2,
  #prozess h2, #warum h2, #faq h2, #kontakt h2 { font-size: 34px !important; }

  /* Header: hide nav menu + phone button, shrink height */
  #site-header .elementor-nav-menu--main,
  #site-header .elementor-element a[href^="tel:"] { display: none !important; }
  #site-header img { max-width: 110px !important; height: auto !important; }

  /* All grids → 1-col */
  #leistungen > .e-con-inner > .e-con:nth-child(2) > .e-con,
  #prozess > .e-con-inner > .e-con-inner > .e-con:nth-child(4) > .e-con,
  #warum > .e-con-inner > .e-con:nth-child(2) > .e-con,
  #faq > .e-con-inner > .e-con:nth-child(2) > .e-con,
  #footer > .e-con-inner > .e-con:nth-child(2) > .e-con,
  #footer > .e-con-inner > .e-con:nth-child(1) > .e-con {
    width: 100% !important;
    flex-basis: 100% !important;
  }

  /* Gallery: all cells same height, full width */
  #referenzen > .e-con-inner > .e-con > .e-con {
    width: 100% !important;
    flex-basis: 100% !important;
    min-height: 200px !important;
  }

  /* About: stack everything */
  #ueber > .e-con > .e-con { width: 100% !important; }

  /* Red CTA: ensure phone/email buttons can wrap */
  #kontakt .elementor-button-wrapper { width: 100%; }
  #kontakt .elementor-button { width: 100%; justify-content: center; }

  /* Footer cards: stack */
  #footer > .e-con-inner > .e-con:first-child > .e-con { width: 100% !important; }

  /* Ribbon: keep at most one item visible */
  #top-ribbon .elementor-icon-list-item:nth-child(3) { display: none !important; }

  /* Inline buttons in section CTA strips — full width on mobile */
  #leistungen > .e-con-inner > .e-con:last-child > .e-con .elementor-button,
  #referenzen > .e-con-inner > .e-con:last-child > .e-con .elementor-button,
  #warum > .e-con-inner > .e-con:last-child > .e-con .elementor-button,
  #faq > .e-con-inner > .e-con:last-child > .e-con .elementor-button {
    width: 100%;
    justify-content: center;
  }
}/* End custom CSS */