/* =====================================================
   Liftura Design System for Divi (Child Theme)
   Farben, Typografie, Abstände, Buttons, Layoutbreite
   ===================================================== */

:root{
  --liftura-primary:#17A2B8;   /* Türkis */
  --liftura-dark:#343A40;      /* Anthrazit */
  --liftura-accent:#F28E1C;    /* Orange */
  --liftura-text:#343A40;
  --liftura-text-light:#495057;
  --liftura-bg:#FFFFFF;
  --liftura-muted:#F8F9FA;

  /* Spacing scale (8px base) */
  --space-1:8px;
  --space-2:16px;
  --space-3:24px;
  --space-4:32px;
  --space-5:40px;
  --space-6:48px;
  --space-7:64px;
  --space-8:80px;
  --space-9:100px;
}

html{ scroll-behavior:smooth; }
body{
  color:var(--liftura-text);
  background:var(--liftura-bg);
  /* Fallbacks – Divi setzt Fonts via Module/Customizer. */
  font-family: "Montserrat", "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  line-height:1.7;
  font-size:17px;
}

/* ---------------------------------
   Typografie (Basis)
----------------------------------*/
h1,h2,h3,h4,h5,h6{
  color:var(--liftura-dark);
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight:700;
  line-height:1.2;
  letter-spacing:0;
  margin-top:0;
}
h1{ font-size: clamp(34px, 4.2vw, 56px); color:var(--liftura-primary); }
h2{ font-size: clamp(26px, 3.2vw, 42px); }
h3{ font-size: clamp(22px, 2.4vw, 32px); }

/* Fliesstext */
p{ margin: 0 0 var(--space-3) 0; color:var(--liftura-text-light); }
a{ color:var(--liftura-primary); text-decoration: none; }
a:hover{ text-decoration: underline; }

/* ---------------------------------
   Layout-Breite für Divi Rows
   (Standard Divi: 1080px – hier 1280px)
----------------------------------*/
.et_pb_row{
  max-width: 1280px;
}
/* Optional enger oder weiter:
.et_pb_row{ max-width: 1200px; } */

/* Innenabstände der Sections (Responsive) */
.et_pb_section{
  padding-top: var(--space-9);
  padding-bottom: var(--space-9);
}
@media (max-width: 980px){
  .et_pb_section{
    padding-top: var(--space-8);
    padding-bottom: var(--space-8);
  }
}
@media (max-width: 767px){
  .et_pb_section{
    padding-top: var(--space-6);
    padding-bottom: var(--space-6);
  }
}

/* ---------------------------------
   Utility Spacing Klassen
----------------------------------*/
.py-section{ padding-top: var(--space-9) !important; padding-bottom: var(--space-9) !important; }
.py-section-md{ padding-top: var(--space-8) !important; padding-bottom: var(--space-8) !important; }
.py-section-sm{ padding-top: var(--space-6) !important; padding-bottom: var(--space-6) !important; }

.mt-0{ margin-top:0 !important; } .mb-0{ margin-bottom:0 !important; }
.mt-2{ margin-top:var(--space-2)!important; } .mb-2{ margin-bottom:var(--space-2)!important; }
.mt-4{ margin-top:var(--space-4)!important; } .mb-4{ margin-bottom:var(--space-4)!important; }
.mt-6{ margin-top:var(--space-6)!important; } .mb-6{ margin-bottom:var(--space-6)!important; }

/* ---------------------------------
   Buttons (Divi Button Module .et_pb_button)
----------------------------------*/
.et_pb_button{
  background: var(--liftura-primary);
  color: #fff !important;
  border: none;
  border-radius: 14px;
  padding: 14px 30px;
  font-weight:600;
  letter-spacing: 0.5px;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.et_pb_button:hover{
  background: var(--liftura-accent);
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.12);
}
/* Button in Links (Divi setzt manchmal Pfeile) neutralisieren */
.et_pb_button:after{ display:none; }

/* Sekundärer Button */
.btn-secondary,
.et_pb_button.btn-secondary{
  background: var(--liftura-dark);
}
.btn-secondary:hover,
.et_pb_button.btn-secondary:hover{
  background: #000;
}

/* ---------------------------------
   Cards / Boxen
----------------------------------*/
.liftura-card{
  background:#fff;
  border-radius:16px;
  padding: var(--space-5);
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

/* ---------------------------------
   Hero (dunkel)
----------------------------------*/
.hero-dark{
  background: var(--liftura-dark);
  color:#fff;
}
.hero-dark h1, .hero-dark h2, .hero-dark h3{ color:#fff; }
.hero-dark p{ color:#e9ecef; }

/* ---------------------------------
   Formulare (Fluent/Gravity/Divi)
----------------------------------*/
input[type="text"], input[type="email"], input[type="tel"], textarea{
  border:1px solid #dee2e6;
  border-radius:12px;
  padding: 12px 14px;
}
input:focus, textarea:focus{
  outline: none;
  border-color: var(--liftura-primary);
  box-shadow: 0 0 0 3px rgba(23,162,184,0.15);
}

/* ---------------------------------
   Accessibility
----------------------------------*/
:focus-visible{
  outline: 3px solid rgba(23,162,184,0.5);
  outline-offset: 2px;
}

/* ---------------------------------
   Footer
----------------------------------*/
.site-footer, .et-l--footer{
  font-size: 15px;
  color:#adb5bd;
}
.site-footer a{ color:#ced4da; }