/*
Theme Name:        Kanzlei Weger Child Theme
Theme URI:         https://rechtsanwalt-weger.com
Description:       Enfold Child Theme für Rechtsanwalt Andreas Weger – hell, freundlich, conversion-optimiert. Primary: #75b727, Secondary: #efefef.
Author:            Müller & Schmitz GmbH
Author URI:        https://mueller-schmitz.de
Template:          enfold
Version:           2.0.0
Requires at least: 6.0
Tested up to:      6.7
Requires PHP:      8.1
License:           Private – All Rights Reserved
Text Domain:       kanzlei-weger
*/

/* ================================================================
   DESIGN TOKENS
   ================================================================ */
:root {
  --kw-green:        #75b727;
  --kw-green-dark:   #5d9320;
  --kw-green-deep:   #3d6414;
  --kw-green-light:  #9fd155;
  --kw-green-pale:   #eaf4d8;
  --kw-green-mist:   #f4fae9;
  --kw-gray:         #efefef;
  --kw-gray-mid:     #dde0d8;
  --kw-gray-dark:    #b8bdb0;
  --kw-white:        #ffffff;
  --kw-text:         #1c2a14;
  --kw-text-mid:     #4a5840;
  --kw-text-light:   #7a8870;
  --kw-alert:        #d04a1e;
  --kw-font-serif:   'Lora', 'Georgia', serif;
  --kw-font-sans:    'Plus Jakarta Sans', 'Helvetica Neue', sans-serif;
  --kw-radius:       2px;
  --kw-transition:   0.3s cubic-bezier(0.16, 1, 0.3, 1);
  --kw-shadow-sm:    0 2px 12px rgba(117,183,39,.08);
  --kw-shadow-md:    0 8px 32px rgba(117,183,39,.12);
  --kw-shadow-lg:    0 20px 60px rgba(117,183,39,.15);
}

/* ================================================================
   BASE
   ================================================================ */
body, #top, #wrap_all {
  font-family: var(--kw-font-sans) !important;
  color: var(--kw-text) !important;
  background-color: var(--kw-white) !important;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3 { font-family: var(--kw-font-serif) !important; font-weight: 600 !important; }
h4, h5, h6 { font-family: var(--kw-font-sans) !important; font-weight: 500 !important; }
h1 em, h2 em, h3 em { font-style: italic !important; font-weight: 400 !important; color: var(--kw-green-dark) !important; }
p { font-family: var(--kw-font-sans) !important; font-weight: 300 !important; line-height: 1.85 !important; }
a { color: var(--kw-green-dark); transition: color var(--kw-transition); }
a:hover { color: var(--kw-green); }

/* ================================================================
   NAVIGATION
   ================================================================ */
#header_main,
.header_transparent #header_main {
  background: transparent !important;
  transition: background .4s, box-shadow .4s, padding .4s !important;
}
.header-scrolled #header_main,
#header_main.header-scrolled {
  background: rgba(255,255,255,.97) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 2px 24px rgba(0,0,0,.07) !important;
}
#logo img { max-height: 48px !important; width: auto !important; }
#main_menu > ul > li > a {
  font-family: var(--kw-font-sans) !important;
  font-size: .73rem !important;
  font-weight: 500 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--kw-text-mid) !important;
  transition: color var(--kw-transition) !important;
}
#main_menu > ul > li > a:hover,
#main_menu > ul > li.current-menu-item > a {
  color: var(--kw-green) !important;
  background: transparent !important;
}
.header_transparent:not(.header-scrolled) #main_menu > ul > li > a {
  color: rgba(255,255,255,.85) !important;
}
.header_transparent:not(.header-scrolled) #main_menu > ul > li > a:hover {
  color: #fff !important;
}
#main_menu > ul > li.menu-item-cta > a {
  background: var(--kw-green) !important;
  color: #fff !important;
  padding: .5rem 1.3rem !important;
  border-radius: var(--kw-radius) !important;
  font-weight: 500 !important;
}
#main_menu > ul > li.menu-item-cta > a:hover {
  background: var(--kw-green-dark) !important;
  color: #fff !important;
}

/* ================================================================
   BUTTONS
   ================================================================ */
.avia-button, .av-button, a.av-button {
  font-family: var(--kw-font-sans) !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  border-radius: var(--kw-radius) !important;
  font-weight: 500 !important;
  font-size: .78rem !important;
  transition: all var(--kw-transition) !important;
}
.avia-button.avia-color-theme-color {
  background: var(--kw-green) !important;
  border-color: var(--kw-green) !important;
  color: #fff !important;
}
.avia-button.avia-color-theme-color:hover {
  background: var(--kw-green-dark) !important;
  transform: translateY(-2px);
  box-shadow: var(--kw-shadow-md);
}
.avia-button.avia-color-white {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--kw-green-dark) !important;
}
.avia-button.avia-color-white:hover {
  background: var(--kw-green-pale) !important;
  transform: translateY(-2px);
}

/* ================================================================
   HERO SECTION
   ================================================================ */
.kw-hero-section,
.kw-hero-section .av-section {
  background: linear-gradient(140deg, var(--kw-green-deep) 0%, var(--kw-green-dark) 40%, var(--kw-green) 100%) !important;
  position: relative !important;
  overflow: hidden !important;
}
.kw-hero-section h1,
.kw-hero-section .av-special-heading-tag {
  font-family: var(--kw-font-serif) !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: clamp(2.4rem, 5vw, 3.8rem) !important;
  line-height: 1.15 !important;
}
.kw-hero-section p,
.kw-hero-section .av-textblock-content {
  color: rgba(255,255,255,.75) !important;
  font-weight: 300 !important;
}

/* ================================================================
   SECTION HEADINGS
   ================================================================ */
.av-special-heading .av-special-heading-tag {
  font-family: var(--kw-font-serif) !important;
  font-weight: 600 !important;
  color: var(--kw-text) !important;
}

/* ================================================================
   LEISTUNGSKARTEN
   ================================================================ */
.kw-lk {
  background: var(--kw-white) !important;
  border: 1.5px solid var(--kw-gray) !important;
  padding: 2.5rem !important;
  position: relative; overflow: hidden;
  transition: all var(--kw-transition) !important;
  border-radius: var(--kw-radius) !important;
}
.kw-lk::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--kw-green); transform: scaleY(0);
  transition: transform var(--kw-transition); transform-origin: bottom;
}
.kw-lk:hover {
  border-color: var(--kw-green-pale) !important;
  box-shadow: var(--kw-shadow-lg) !important;
  transform: translateY(-4px) !important;
}
.kw-lk:hover::before { transform: scaleY(1); }
.kw-lk--featured {
  background: var(--kw-green) !important;
  border-color: var(--kw-green) !important;
}
.kw-lk--featured::before { transform: scaleY(1) !important; background: rgba(255,255,255,.3); }
.kw-lk--featured h3,
.kw-lk--featured .av-special-heading-tag { color: #fff !important; }
.kw-lk--featured p { color: rgba(255,255,255,.8) !important; }

/* ================================================================
   ÜBER MICH
   ================================================================ */
.kw-about-section,
.kw-about-section .av-section { background: var(--kw-gray) !important; }
.kw-photo-frame {
  width: 100%; aspect-ratio: 4/5;
  background: linear-gradient(145deg, var(--kw-green-dark), var(--kw-green)) !important;
  border-radius: var(--kw-radius); overflow: hidden;
}
.kw-photo-frame img { width: 100%; height: 100%; object-fit: cover; }

/* ================================================================
   PROZESS
   ================================================================ */
.kw-cta-card {
  background: var(--kw-green) !important;
  border-radius: var(--kw-radius); padding: 3rem; text-align: center;
  box-shadow: var(--kw-shadow-lg);
}
.kw-cta-card a { color: #fff !important; }
.kw-cta-card a:hover { color: rgba(255,255,255,.85) !important; }

/* ================================================================
   TESTIMONIALS
   ================================================================ */
.kw-testimonials-section,
.kw-testimonials-section .av-section { background: var(--kw-green-mist) !important; }
.av-testimonial-content { background: var(--kw-white) !important; border-top: 3px solid var(--kw-green) !important; }

/* ================================================================
   FAQ – Accordion
   ================================================================ */
.av_toggle_section .toggler {
  font-family: var(--kw-font-serif) !important;
  font-weight: 600 !important;
}
.av_toggle_section.active_toggle > .toggler {
  background: var(--kw-green) !important;
  color: #fff !important;
}
.av_toggle_section .toggler:hover { color: var(--kw-green) !important; }

/* ================================================================
   KONTAKTFORMULAR
   ================================================================ */
.av-contact-section input[type="text"],
.av-contact-section input[type="email"],
.av-contact-section select,
.av-contact-section textarea {
  background: var(--kw-gray) !important;
  border: 1.5px solid var(--kw-gray-mid) !important;
  color: var(--kw-text) !important;
  border-radius: var(--kw-radius) !important;
  font-family: var(--kw-font-sans) !important;
  transition: border-color var(--kw-transition), box-shadow var(--kw-transition) !important;
}
.av-contact-section input:focus,
.av-contact-section select:focus,
.av-contact-section textarea:focus {
  border-color: var(--kw-green) !important;
  box-shadow: 0 0 0 3px rgba(117,183,39,.1) !important;
}
.av-contact-section .avia-button {
  background: var(--kw-green) !important;
  border-color: var(--kw-green) !important;
  color: #fff !important;
  width: 100% !important;
}
.av-contact-section .avia-button:hover {
  background: var(--kw-green-dark) !important;
}

/* ================================================================
   FOOTER
   ================================================================ */
#footer, #socket {
  background: #1c2a14 !important;
}
#footer, #footer p, #footer a,
#socket, #socket p, #socket a {
  color: rgba(255,255,255,.3) !important;
  font-size: .72rem !important;
  font-weight: 300 !important;
}
#footer a:hover, #socket a:hover { color: var(--kw-green-light) !important; }

/* ================================================================
   SCROLL REVEAL
   ================================================================ */
.kw-reveal {
  opacity: 0; transform: translateY(24px);
  transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);
}
.kw-reveal.is-visible { opacity: 1; transform: none; }
.kw-d1 { transition-delay: .1s; }
.kw-d2 { transition-delay: .2s; }
.kw-d3 { transition-delay: .32s; }

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 767px) {
  #main_menu { display: none; }
}

@media print {
  #kw-urgency-strip, nav { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
}
