/*
Theme Name: Dein Elternflow
Theme URI: https://www.baby-sos-guide.de
Description: Botanical Baby-Akupressur Theme. Child Theme von Hello Elementor mit Caladea/Carlito Fonts, Sage/Forest Farbpalette und allen Custom Styles fuer Startseite, Guide LP und SOS-Karten LP.
Author: @dein_eltern_flow
Author URI: https://www.instagram.com/dein_eltern_flow/
Template: hello-elementor
Version: 2.0.0
License: GNU General Public License v2 or later
Text Domain: dein-elternflow
*/

/* ===================== CSS VARIABLES ===================== */
:root {
  --sage: #52B788;
  --sage-dark: #3D9A6E;
  --sage-light: #95D5B2;
  --sage-bg: #D8F3DC;
  --forest: #1B4332;
  --forest-light: #2D6A4F;
  --cream: #F5F1EB;
  --cream-dark: #EDE7DD;
  --terra: #A0785A;
  --terra-dark: #8B6549;
  --gold: #C4A265;
  --text: #2B2B2B;
  --text-warm: #4A4A4A;
  --text-light: #6B7280;
  --shadow-sm: 0 2px 8px rgba(27,67,50,0.06);
  --shadow: 0 4px 24px rgba(27,67,50,0.08);
  --shadow-lg: 0 12px 48px rgba(27,67,50,0.12);
  --radius: 16px;
  --radius-sm: 12px;
  --radius-pill: 50px;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ===================== GLOBAL ===================== */
body {
  background-color: var(--cream) !important;
  color: var(--text);
  font-family: 'Carlito', sans-serif !important;
  -webkit-font-smoothing: antialiased;
  line-height: 1.75;
}

::selection { background: var(--sage-bg); color: var(--forest); }

/* ===================== TYPOGRAPHY ===================== */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  color: var(--forest) !important;
  font-family: 'Caladea', Georgia, serif !important;
}
h1, .elementor-size-xxl { line-height: 1.15 !important; }
h2, .elementor-size-xl { line-height: 1.25 !important; }

h1 em, h2 em, h3 em, .elementor-heading-title em {
  color: var(--sage) !important;
  font-style: italic;
}

.hw, .accent-text { font-family: 'Caveat', cursive !important; color: var(--sage); }

.eyebrow {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--sage) !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
  font-family: 'Carlito', sans-serif !important;
}

.elementor-widget-text-editor p,
.elementor-widget-text-editor li {
  line-height: 1.75;
  color: var(--text);
  font-family: 'Carlito', sans-serif !important;
}

/* ===================== BUTTONS ===================== */
.btn-sage, .elementor-button.btn-sage,
.elementor-button.elementor-button-link.btn-sage {
  background-color: var(--sage) !important;
  color: #fff !important;
  border-radius: var(--radius-pill) !important;
  padding: 16px 36px !important;
  font-weight: 700 !important;
  font-family: 'Carlito', sans-serif !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(82,183,136,0.25) !important;
  transition: all 0.3s var(--ease) !important;
}
.btn-sage:hover, .elementor-button.btn-sage:hover {
  background-color: var(--sage-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 24px rgba(82,183,136,0.35) !important;
}

.btn-forest, .elementor-button.btn-forest {
  background-color: var(--forest) !important;
  color: #fff !important;
  border-radius: var(--radius-pill) !important;
  font-weight: 700 !important;
  transition: all 0.3s var(--ease) !important;
}
.btn-forest:hover, .elementor-button.btn-forest:hover {
  background-color: var(--forest-light) !important;
  transform: translateY(-2px) !important;
}

.btn-outline, .elementor-button.btn-outline {
  background-color: transparent !important;
  color: var(--forest) !important;
  border: 2px solid var(--sage-light) !important;
  border-radius: var(--radius-pill) !important;
  font-weight: 700 !important;
  transition: all 0.3s var(--ease) !important;
}
.btn-outline:hover, .elementor-button.btn-outline:hover {
  background-color: var(--sage-bg) !important;
  border-color: var(--sage) !important;
}

.btn-terra, .elementor-button.btn-terra {
  background-color: var(--terra) !important;
  color: #fff !important;
  border-radius: var(--radius-pill) !important;
  box-shadow: 0 4px 16px rgba(160,120,90,0.25) !important;
  transition: all 0.3s var(--ease) !important;
}
.btn-terra:hover, .elementor-button.btn-terra:hover {
  background-color: var(--terra-dark) !important;
  transform: translateY(-2px) !important;
}

.btn-gold, .elementor-button.btn-gold {
  background-color: var(--gold) !important;
  color: #fff !important;
  border-radius: var(--radius-pill) !important;
  transition: all 0.3s var(--ease) !important;
}

/* Large Button */
.btn-lg, .elementor-button.btn-lg {
  padding: 18px 44px !important;
  font-size: 18px !important;
}

/* Small Button */
.btn-sm, .elementor-button.btn-sm {
  padding: 12px 28px !important;
  font-size: 14px !important;
}

/* Full width */
.btn-full, .elementor-button.btn-full {
  width: 100% !important;
  justify-content: center !important;
}

/* ===================== CARDS ===================== */
.card-style,
.elementor-widget-image-box .elementor-image-box-wrapper,
.elementor-widget-icon-box .elementor-icon-box-wrapper {
  background: #fff;
  border-radius: var(--radius) !important;
  padding: 32px 24px;
  box-shadow: var(--shadow-sm);
  transition: all 0.3s var(--ease);
  border: 1px solid rgba(82,183,136,0.06);
}
.card-style:hover,
.elementor-widget-image-box:hover .elementor-image-box-wrapper,
.elementor-widget-icon-box:hover .elementor-icon-box-wrapper {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.card-highlight { border: 2px solid var(--sage) !important; }
.card-coming { opacity: 0.7; border: 2px dashed var(--sage-light) !important; }

/* ===================== SECTIONS ===================== */
.section-dark { background-color: var(--forest) !important; }
.section-dark h2, .section-dark h3 { color: #fff !important; }
.section-dark p { color: rgba(255,255,255,0.75) !important; }
.section-dark .eyebrow { color: var(--sage-light) !important; }
.section-dark .elementor-heading-title { color: #fff !important; }

.section-sage { background-color: var(--sage-bg) !important; }
.section-white { background-color: #FDFCFA !important; }
.section-cream { background-color: var(--cream) !important; }
.section-gradient { background: linear-gradient(160deg, var(--sage-bg) 0%, var(--cream) 100%) !important; }

/* Hero gradient backgrounds */
.hero-gradient { background: linear-gradient(160deg, #FDFCFA 0%, #F5F1EB 35%, #D8F3DC 100%) !important; }
.hero-gradient-gold { background: linear-gradient(165deg, #FDFCFA 0%, #F5F1EB 35%, #FFF8F0 100%) !important; }

/* ===================== FORMS ===================== */
.elementor-field-textual,
input[type="text"], input[type="email"],
.elementor-field-group input {
  border: 2px solid var(--cream-dark) !important;
  border-radius: var(--radius-pill) !important;
  padding: 14px 24px !important;
  font-size: 15px !important;
  font-family: 'Carlito', sans-serif !important;
  background: #fff !important;
  transition: all 0.3s var(--ease) !important;
}
.elementor-field-textual:focus, input:focus {
  border-color: var(--sage) !important;
  box-shadow: 0 0 0 3px rgba(82,183,136,0.15) !important;
  outline: none !important;
}

/* Dark section forms */
.section-dark .elementor-field-textual,
.section-dark input[type="text"],
.section-dark input[type="email"] {
  background: rgba(255,255,255,0.08) !important;
  color: white !important;
  border: 2px solid rgba(255,255,255,0.15) !important;
}
.section-dark input::placeholder { color: rgba(255,255,255,0.45) !important; }

/* ===================== NAVIGATION ===================== */
.elementor-nav-menu a {
  font-family: 'Carlito', sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  color: var(--text) !important;
  transition: color 0.2s !important;
}
.elementor-nav-menu a:hover { color: var(--sage) !important; }

.elementor-sticky--active {
  backdrop-filter: blur(20px) !important;
  background: rgba(253,252,250,0.95) !important;
  box-shadow: var(--shadow) !important;
}

.nav-cta-btn .elementor-button {
  background: var(--sage) !important;
  color: white !important;
  border-radius: var(--radius-pill) !important;
  padding: 10px 24px !important;
  font-weight: 700 !important;
}

/* ===================== IMAGES ===================== */
.elementor-widget-image img { border-radius: var(--radius-sm) !important; }
.img-no-radius img { border-radius: 0 !important; }
.img-shadow img { box-shadow: var(--shadow-lg) !important; }

/* ===================== TESTIMONIALS ===================== */
.testimonial-card {
  background: #fff !important;
  border-radius: var(--radius) !important;
  padding: 32px !important;
  box-shadow: var(--shadow-sm) !important;
  border: 1px solid rgba(82,183,136,0.06) !important;
}
.testimonial-quote {
  font-family: 'Caveat', cursive !important;
  font-size: 52px !important;
  color: var(--sage-light) !important;
  opacity: 0.6;
}
.elementor-star-rating i { color: #F59E0B !important; }

/* ===================== FAQ ===================== */
.elementor-accordion .elementor-accordion-item {
  border: 1px solid rgba(82,183,136,0.06) !important;
  border-radius: var(--radius-sm) !important;
  margin-bottom: 10px !important;
  overflow: hidden;
  background: #fff !important;
}
.elementor-accordion .elementor-tab-title {
  padding: 18px 22px !important;
  font-family: 'Carlito', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  color: var(--forest) !important;
}
.elementor-accordion .elementor-tab-title:hover { background: var(--sage-bg) !important; }
.elementor-accordion .elementor-tab-content {
  padding: 0 22px 18px !important;
  color: var(--text-warm) !important;
  line-height: 1.7 !important;
}

/* ===================== TRUST BAR ===================== */
.trust-bar { background: var(--forest) !important; }
.trust-item { color: rgba(255,255,255,0.85) !important; font-size: 14px !important; font-weight: 600 !important; }

/* ===================== PRICING ===================== */
.pricing-card-featured {
  border: 2px solid var(--sage) !important;
  transform: scale(1.03);
}

/* ===================== BADGES ===================== */
.badge-gratis, .badge-best { background: var(--sage); color: white; font-size: 11px; font-weight: 700; padding: 3px 12px; border-radius: var(--radius-pill); display: inline-block; }
.badge-coming { background: var(--forest); color: white; font-size: 10px; font-weight: 700; padding: 3px 12px; border-radius: var(--radius-pill); display: inline-block; }
.badge-best { font-size: 12px; padding: 4px 14px; }

/* ===================== FOOTER ===================== */
.footer-section { background-color: var(--forest) !important; }
.footer-section a { color: rgba(255,255,255,0.6) !important; }
.footer-section a:hover { color: var(--sage-light) !important; }
.footer-section h4, .footer-section .elementor-heading-title { color: white !important; font-family: 'Carlito', sans-serif !important; }

/* ===================== MOBILE STICKY CTA ===================== */
@media (max-width: 767px) {
  .mobile-sticky-cta {
    position: fixed !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
    z-index: 9999 !important; background: #fff !important;
    box-shadow: 0 -4px 16px rgba(0,0,0,0.1) !important;
    padding: 12px 20px !important; text-align: center !important;
  }
  .mobile-sticky-cta .elementor-button { width: 100% !important; }
  body.has-sticky-cta { padding-bottom: 80px; }

  /* Responsive type */
  h1, .elementor-size-xxl { font-size: 32px !important; }
  h2, .elementor-size-xl { font-size: 28px !important; }
}

/* ===================== ANIMATIONS ===================== */
.elementor-widget {
  transition: opacity 0.6s var(--ease), transform 0.6s var(--ease);
}

/* ===================== UTILITIES ===================== */
.text-sage { color: var(--sage) !important; }
.text-forest { color: var(--forest) !important; }
.text-terra { color: var(--terra) !important; }
.text-gold { color: var(--gold) !important; }
.text-muted { color: var(--text-light) !important; }
.text-white { color: #fff !important; }
.bg-cream { background-color: var(--cream) !important; }
.bg-sage-light { background-color: var(--sage-bg) !important; }
.bg-white { background-color: #FDFCFA !important; }
.bg-forest { background-color: var(--forest) !important; }
.rounded { border-radius: var(--radius) !important; }
.rounded-pill { border-radius: var(--radius-pill) !important; }
.shadow { box-shadow: var(--shadow) !important; }
.shadow-lg { box-shadow: var(--shadow-lg) !important; }

@media print {
  .nav, .mobile-sticky-cta, .scroll-to-top { display: none !important; }
  body { background: #fff !important; }
}

.elementor-menu-cart__container {
	display: none;
}

.page-id-1243 .woocommerce-table--order-details tfoot:first-of-type {
	display: none;
}

.woocommerce-remove-coupon {
	color: #69727d!important;
    border: 1px solid #EDE7DD;
    background-color: #F5F1EB;
    font-family: "Carlito", Sans-serif;
    font-size: 13px;
    font-weight: 700;
    fill: #FFFFFF;
    border-radius: 50px 50px 50px 50px;
    padding: 10px 22px;
    display: inline-block;
    line-height: 1;
}