.elementor-kit-9{--e-global-color-primary:#4A7C59;--e-global-color-secondary:#3A6347;--e-global-color-text:#333333;--e-global-color-accent:#666666;--e-global-color-e3f1a:#2D4F38;--e-global-color-b7c2d:#F9F9F7;--e-global-color-a1e3c:#E0E0DA;--e-global-color-ks-gold:#b08948;--e-global-color-ks-sage:#cdddc8;--e-global-color-ks-ssoft:#EAF1E7;--e-global-color-ks-soft:#5b6358;--e-global-color-ks-white:#FFFFFF;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-9 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:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --ks-green:#536942; --ks-green-dark:#2E3A24; --ks-green-deep:#252822; --ks-gold:#b08948; --ks-sage:#cdddc8; --ks-sage-soft:#EAF1E7; --ks-body:#333333; --ks-muted:#666666; --ks-soft:#5b6358; --ks-off-white:#F6F7F5; --ks-white:#fff; --ks-line:#E0E0DA; --ks-overlay:rgba(30, 55, 35, 0.62); --ks-card-shadow:0 2px 14px rgba(0, 0, 0, 0.07); --ks-card-shadow-hover:0 10px 28px rgba(44, 70, 50, 0.18); --ks-img-shadow:0 4px 20px rgba(0, 0, 0, 0.10); --e-gv-25886a3:'DM Sans', sans-serif; --e-gv-9830f58:'DM Sans', 'Segoe UI', sans-serif; --e-gv-e0b1b44:clamp(3.125rem, 2.465rem + 2.935vw, 4.813rem); --e-gv-7256940:clamp(2.5rem, 2.2799rem + 0.9783vw, 3.0625rem); --e-gv-5b95495:clamp(2.0625rem, 1.9158rem + 0.6522vw, 2.4375rem); --e-gv-33e8ba8:clamp(1.1rem, 2.5vw, 1.55rem); --e-gv-b2e156c:clamp(1.375rem, 0.69rem + 3.043vw, 3.125rem); --e-gv-c2ed1de:clamp(1.7rem, 3vw, 2.4rem); --e-gv-c8c96ae:clamp(1rem, 1.5vw, 1.063rem); --e-gv-a24bdb8:clamp(0.875rem,1.2vw, 0.938rem); --e-gv-cd4fab9:clamp(0.688rem,1vw, 0.75rem); --e-gv-dd3e8e7:clamp(0.813rem,1vw, 0.906rem); --e-gv-51b98aa:clamp(2.5rem, 5vw, 3.5rem); --e-gv-48a5d73:'DM Sans', sans-serif; --ks-font-display:DM Sans; --ks-font-body:DM Sans; ----ks-pad-section-v:clamp(3rem, 7vw, 5rem); ----ks-pad-section-h:clamp(1.25rem, 4vw, 2rem); ----ks-pad-card:clamp(1.25rem, 2.5vw, 1.875rem); --e-gv-1a09651:"DM Sans"; --e-gv-4600200:"DM Sans"; --e-gv-26382df:clamp(1.75rem, 1.6766rem + 0.3261vw, 1.9375rem); --e-gv-254838d:clamp(1.4375rem, 1.3886rem + 0.2174vw, 1.5625rem); --e-gv-0aa371f:clamp(1.1875rem, 1.163rem + 0.1087vw, 1.25rem); --e-gv-fb76a20:0.875rem; --e-gv-9b6cb38:1.125rem; --e-gv-a613708:1rem; --e-gv-97c0695:0.875rem; --e-gv-575a305:clamp(0.5rem, 1.5vw, 0.875rem); --e-gv-f0948bf:"DM Sans"; --e-gv-0a84339:"DM Sans"; --title-1:clamp(2.625rem, 1.769rem + 3.8043vw, 4.8125rem); --title-2:clamp(2.25rem, 1.6875rem + 2.5vw, 3.6875rem); --title-3:clamp(1.875rem, 1.4837rem + 1.7391vw, 2.875rem); --title-4:clamp(1.625rem, 1.4049rem + 0.9783vw, 2.1875rem); --title-5:clamp(1.375rem, 1.2527rem + 0.5435vw, 1.6875rem); --title-6:clamp(1.1875rem, 1.1386rem + 0.2174vw, 1.3125rem); --title-subtitle:0.875rem; --body-l:1.125rem; --body-m:1rem; --body-s:0.875rem; --Yellow:#ffd936; --gap-s:10px; }
/* Start custom CSS *//* ================================================================
   Kleingarten Service - Design Tokens (:root variables)
   ================================================================ */
:root {
  /* Colors */
  --ks-green:           #4A7C59;
  --ks-green-dark:      #3A6347;
  --ks-green-deep:      #2D4F38;
  --ks-gold:            #b08948;
  --ks-sage:            #cdddc8;
  --ks-sage-soft:       #EAF1E7;
  --ks-body:            #333333;
  --ks-muted:           #666666;
  --ks-soft:            #5b6358;
  --ks-off-white:       #F9F9F7;
  --ks-white:           #FFFFFF;
  --ks-line:            #E0E0DA;
  --ks-overlay:         rgba(30, 55, 35, 0.62);
  --ks-card-shadow:     0 2px 14px rgba(0, 0, 0, 0.07);
  --ks-card-shadow-hover: 0 10px 28px rgba(44, 70, 50, 0.18);
  --ks-img-shadow:      0 4px 20px rgba(0, 0, 0, 0.10);

  /* Typography: families */
  --ks-font-display:    'DM Sans', sans-serif;
  --ks-font-body:       'DM Sans', 'Segoe UI', sans-serif;

  /* Font sizes */
  --ks-size-h1:         clamp(2rem,    5vw,   3.4rem);
  --ks-size-h2:         clamp(1.6rem,  3vw,   2.2rem);
  --ks-size-h3:         clamp(1.1rem,  2vw,   1.25rem);
  --ks-size-h4-quote:   clamp(1.1rem,  2.5vw, 1.55rem);
  --ks-size-hero-sub:   clamp(1.1rem,  2.5vw, 1.5rem);
  --ks-size-h2-cta:     clamp(1.7rem,  3vw,   2.4rem);
  --ks-size-body-lg:    clamp(1rem,    1.5vw, 1.063rem);
  --ks-size-body-sm:    clamp(0.875rem,1.2vw, 0.938rem);
  --ks-size-label:      clamp(0.688rem,1vw,   0.75rem);
  --ks-size-cta-link:   clamp(0.813rem,1vw,   0.906rem);
  --ks-size-step-num:   clamp(2.5rem,  5vw,   3.5rem);

  /* Spacing */
  --ks-pad-section-v:   clamp(3rem,    7vw,   5rem);
  --ks-pad-section-h:   clamp(1.25rem, 4vw,   2rem);
  --ks-pad-card:        clamp(1.25rem, 2.5vw, 1.875rem);
  --ks-gap-cards:       clamp(1rem,    2.5vw, 1.875rem);
  --ks-gap-about:       clamp(2rem,    5vw,   3.75rem);
  --ks-pad-quote-v:     clamp(2.5rem,  6vw,   4.5rem);
  --ks-pad-title-top:   clamp(2.5rem,  6vw,   3.75rem);
  --ks-gap-faq:         clamp(2rem,    5vw,   3.75rem);

  /* Radii & borders */
  --ks-radius-card:     6px;
  --ks-radius-lg:       14px;
  --ks-radius-btn:      999px;
  --ks-radius-avatar:   50%;
  --ks-border-line:     1px solid var(--ks-line);

  /* Layout */
  --ks-max-width:       1280px;
  --ks-hero-min-h:      clamp(420px, 60vw, 580px);
}
/* ================================================================
   kleingarten-service.de - Homepage CSS Classes
   All sizing uses clamp(). Applied via class names.
   ================================================================ */

.ks-hero-section { min-height: clamp(420px, 60vw, 580px); display: flex; align-items: center; }
.ks-hero-inner, .ks-section-title-wrap, .ks-quote-inner, .ks-cta-row, .ks-about-row, .ks-steps-row, .ks-faq-grid, .ks-cards-row { max-width: 1140px; width: 100%; margin-left: auto; margin-right: auto; padding-left: clamp(1.25rem, 4vw, 2rem); padding-right: clamp(1.25rem, 4vw, 2rem); }
.ks-services-section, .ks-steps-section, .ks-faq-section { padding-top: clamp(3rem, 7vw, 5rem); padding-bottom: clamp(3rem, 7vw, 5rem); }
.ks-about-section { padding-top: clamp(3rem, 7vw, 5rem); padding-bottom: clamp(3rem, 7vw, 5rem); border-top: 1px solid #E0E0DA; border-bottom: 1px solid #E0E0DA; }
.ks-quote-section { padding-top: clamp(2.5rem, 6vw, 4.5rem); padding-bottom: clamp(2.5rem, 6vw, 4.5rem); }
.ks-cta-section { margin-left: clamp(1.25rem, 4vw, 2rem); margin-right: clamp(1.25rem, 4vw, 2rem); padding-top: clamp(2.5rem, 5vw, 4rem); padding-bottom: clamp(2.5rem, 5vw, 4rem); padding-left: clamp(2rem, 5vw, 4rem); padding-right: clamp(2rem, 5vw, 4rem); margin-bottom: clamp(3rem, 7vw, 5rem); }
.ks-section-title-wrap { padding-top: clamp(2.5rem, 6vw, 3.75rem); padding-bottom: clamp(1.25rem, 3vw, 2rem); text-align: center; align-items: center; }
.ks-section-intro { font-family: 'DM Sans', sans-serif; font-size: clamp(1rem, 1.5vw, 1.063rem); color: #666666; line-height: 1.7; max-width: 600px; margin-left: auto; margin-right: auto; text-align: center; }
.ks-eyebrow { font-family: 'DM Sans', sans-serif !important; font-size: clamp(0.688rem, 1vw, 0.75rem) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.2em !important; color: #b08948 !important; display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.ks-eyebrow::before { content: ""; width: 28px; height: 1px; background: #b08948; flex-shrink: 0; }
.ks-h1-hero .elementor-heading-title { font-family: 'DM Sans', sans-serif !important; font-size: clamp(2rem, 5vw, 3.4rem) !important; font-weight: 700 !important; color: #FFFFFF !important; line-height: 1.2 !important; text-align: center; text-shadow: 0 2px 12px rgba(0,0,0,0.35); margin-bottom: clamp(0.5rem, 1.5vw, 0.875rem); }
.ks-hero-subtitle .elementor-heading-title { font-family: 'DM Sans', sans-serif !important; font-size: clamp(1.1rem, 2.5vw, 1.5rem) !important; font-weight: 300 !important; font-style: italic !important; color: rgba(255,255,255,0.9) !important; letter-spacing: 0.04em !important; text-align: center; }
.ks-hero-paragraph { font-family: 'DM Sans', sans-serif; font-size: clamp(1rem, 1.5vw, 1.063rem); font-weight: 300; color: rgba(255,255,255,0.88); line-height: 1.7; text-align: center; max-width: 580px; margin-left: auto; margin-right: auto; margin-bottom: clamp(1.5rem, 3vw, 2rem); }
.ks-h2-section .elementor-heading-title { font-family: 'DM Sans', sans-serif !important; font-size: clamp(1.6rem, 3vw, 2.2rem) !important; font-weight: 600 !important; color: #3A6347 !important; line-height: 1.2 !important; margin-bottom: clamp(0.75rem, 2vw, 1rem); }
.ks-h3-card .elementor-heading-title { font-family: 'DM Sans', sans-serif !important; font-size: clamp(1.1rem, 2vw, 1.25rem) !important; font-weight: 600 !important; color: #3A6347 !important; line-height: 1.25 !important; margin-bottom: clamp(0.5rem, 1vw, 0.75rem); }
.ks-h2-cta .elementor-heading-title { font-family: 'DM Sans', sans-serif !important; font-size: clamp(1.7rem, 3vw, 2.4rem) !important; font-weight: 600 !important; color: #FFFFFF !important; line-height: 1.2 !important; }
.ks-cta-sub { font-family: 'DM Sans', sans-serif; font-size: clamp(1rem, 1.5vw, 1.063rem); color: rgba(255,255,255,0.88); line-height: 1.7; max-width: 480px; }
.ks-btn-primary .elementor-button { font-family: 'DM Sans', sans-serif !important; font-size: clamp(0.875rem, 1.2vw, 1rem) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; background-color: #4A7C59 !important; color: #FFFFFF !important; border-radius: 999px !important; padding: 14px clamp(1.5rem, 3vw, 1.75rem) !important; border: none !important; transition: background-color 0.2s ease, transform 0.15s ease !important; }
.ks-btn-primary .elementor-button:hover { background-color: #2D4F38 !important; transform: translateY(-1px); }
.ks-btn-outline .elementor-button { font-family: 'DM Sans', sans-serif !important; font-size: clamp(0.875rem, 1.2vw, 1rem) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; background-color: transparent !important; color: #4A7C59 !important; border: 1.5px solid #4A7C59 !important; border-radius: 999px !important; padding: 14px clamp(1.5rem, 3vw, 1.75rem) !important; transition: background-color 0.2s ease !important; }
.ks-btn-outline .elementor-button:hover { background-color: rgba(74,124,89,0.07) !important; }
.ks-btn-light .elementor-button { font-family: 'DM Sans', sans-serif !important; font-size: clamp(0.875rem, 1.2vw, 1rem) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; background-color: #FFFFFF !important; color: #2D4F38 !important; border-radius: 999px !important; padding: 14px clamp(1.5rem, 3vw, 1.75rem) !important; border: none !important; transition: background-color 0.2s ease !important; }
.ks-btn-light .elementor-button:hover { background-color: #EAF1E7 !important; }
.ks-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: clamp(1.25rem, 2.5vw, 1.75rem); }
.ks-cards-row { display: flex; flex-wrap: wrap; gap: clamp(1rem, 2.5vw, 1.875rem); align-items: stretch; padding-bottom: clamp(2.5rem, 6vw, 4.375rem); }
.ks-svc-card { background: #FFFFFF; border-radius: 6px; box-shadow: 0 2px 14px rgba(0,0,0,0.07); overflow: hidden; display: flex; flex-direction: column; flex: 1 1 clamp(260px, 30%, 360px); transition: transform 0.25s ease, box-shadow 0.25s ease; }
.ks-svc-card:hover { transform: translateY(-6px); box-shadow: 0 10px 28px rgba(44,70,50,0.18); }
.ks-card-image img { width: 100%; height: 220px; object-fit: cover; display: block; }
.ks-card-body { padding: clamp(1.25rem, 2.5vw, 1.875rem); display: flex; flex-direction: column; flex: 1; gap: clamp(0.5rem, 1vw, 0.75rem); align-items: flex-start; }
.ks-card-num { font-family: 'DM Sans', sans-serif; font-size: clamp(0.813rem, 1vw, 0.875rem); font-weight: 600; color: #b08948; letter-spacing: 0.08em; }
.ks-card-text { font-family: 'DM Sans', sans-serif; font-size: clamp(0.875rem, 1.2vw, 0.938rem); color: #666666; line-height: 1.65; flex: 1; }
.ks-card-link .elementor-button { font-family: 'DM Sans', sans-serif !important; font-size: clamp(0.813rem, 1vw, 0.906rem) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; color: #4A7C59 !important; background: none !important; border: none !important; border-bottom: 2px solid #4A7C59 !important; border-radius: 0 !important; padding: 0 0 2px 0 !important; margin-top: auto; transition: color 0.2s, border-color 0.2s !important; }
.ks-card-link .elementor-button:hover { color: #3A6347 !important; border-color: #3A6347 !important; }
.ks-steps-row { display: flex; flex-direction: row; border: 1px solid #E0E0DA; border-radius: 14px; overflow: hidden; }
.ks-step { padding: clamp(1.5rem, 3vw, 2.375rem) clamp(1.25rem, 2.5vw, 2rem); display: flex; flex-direction: column; align-items: flex-start; gap: clamp(0.5rem, 1vw, 0.75rem); flex: 1; }
.ks-step-mid { border-left: 1px solid #E0E0DA; border-right: 1px solid #E0E0DA; }
.ks-step-num .elementor-heading-title { font-family: 'DM Sans', sans-serif !important; font-size: clamp(2.5rem, 5vw, 3.5rem) !important; font-weight: 600 !important; color: #cdddc8 !important; line-height: 1 !important; margin-bottom: clamp(0.75rem, 1.5vw, 1rem); }
.ks-about-row { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: clamp(2rem, 5vw, 3.75rem); }
.ks-about-img-col { flex: 1 1 clamp(280px, 45%, 540px); }
.ks-about-img img { width: 100%; height: clamp(260px, 35vw, 380px); object-fit: cover; border-radius: 6px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); display: block; }
.ks-about-text-col { flex: 1 1 clamp(280px, 45%, 540px); display: flex; flex-direction: column; align-items: flex-start; gap: clamp(0.75rem, 2vw, 1rem); }
.ks-about-label { font-family: 'DM Sans', sans-serif; font-size: clamp(0.688rem, 1vw, 0.75rem); font-weight: 700; text-transform: uppercase; letter-spacing: 0.18em; color: #4A7C59; }
.ks-about-body { font-family: 'DM Sans', sans-serif; font-size: clamp(1rem, 1.5vw, 1.063rem); color: #666666; line-height: 1.75; }
.ks-about-quote { font-family: 'DM Sans', sans-serif; font-style: italic; font-size: clamp(1rem, 1.8vw, 1.25rem); color: #2D4F38; border-left: 3px solid #b08948; padding-left: 20px; margin: clamp(0.5rem, 1.5vw, 0.75rem) 0; line-height: 1.5; }
.ks-author-row, .ks-quote-author-row { display: flex; flex-direction: row; align-items: center; gap: 14px; margin-top: clamp(0.5rem, 1.5vw, 1rem); }
.ks-author-avatar img, .ks-quote-avatar img { width: 54px; height: 54px; border-radius: 50%; object-fit: cover; border: 2px solid #cdddc8; flex-shrink: 0; }
.ks-author-name .elementor-heading-title, .ks-quote-author-name .elementor-heading-title { font-family: 'DM Sans', sans-serif !important; font-size: clamp(1rem, 1.5vw, 1.063rem) !important; font-weight: 600 !important; color: #2D4F38 !important; }
.ks-author-role, .ks-quote-author-role { font-family: 'DM Sans', sans-serif; font-size: clamp(0.75rem, 1vw, 0.813rem); color: #5b6358; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; }
.ks-project-card { background: #EAF1E7; border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; gap: clamp(0.75rem, 1.5vw, 1rem); padding: clamp(1.25rem, 2.5vw, 1.875rem); margin-top: clamp(1rem, 2.5vw, 1.5rem); }
.ks-project-img img { width: 100%; height: clamp(160px, 25vw, 240px); object-fit: cover; border-radius: 8px; display: block; margin-bottom: clamp(0.5rem, 1vw, 0.75rem); }
.ks-quote-inner { display: flex; flex-direction: column; align-items: center; gap: clamp(1rem, 2.5vw, 1.5rem); text-align: center; }
.ks-quote-icon img { width: 54px; height: auto; opacity: 0.9; display: block; margin: 0 auto; }
.ks-quote-text { font-family: 'DM Sans', sans-serif; font-style: italic; font-size: clamp(1.1rem, 2.5vw, 1.55rem); color: #FFFFFF; line-height: 1.6; text-align: center; max-width: 820px; }
.ks-quote-author-row { justify-content: center; }
.ks-quote-avatar img { border-color: rgba(255,255,255,0.4); }
.ks-quote-author-name .elementor-heading-title { color: #FFFFFF !important; }
.ks-quote-author-role { color: rgba(255,255,255,0.75); }
.ks-faq-grid { display: flex; flex-wrap: wrap; gap: clamp(2rem, 5vw, 3.75rem); align-items: flex-start; padding-top: clamp(3rem, 7vw, 5rem); padding-bottom: clamp(3rem, 7vw, 5rem); }
.ks-faq-intro-col { flex: 1 1 clamp(240px, 35%, 400px); }
.ks-faq-acc-col { flex: 1 1 clamp(280px, 55%, 680px); }
.ks-faq-accordion .elementor-accordion-item { border: 1px solid #E0E0DA !important; border-radius: 12px !important; margin-bottom: 12px !important; overflow: hidden !important; background: #FFFFFF !important; }
.ks-faq-accordion .elementor-tab-title { font-family: 'DM Sans', sans-serif !important; font-size: clamp(1rem, 1.5vw, 1.063rem) !important; font-weight: 600 !important; color: #2D4F38 !important; padding: clamp(1rem, 2vw, 1.25rem) clamp(1rem, 2.5vw, 1.5rem) !important; background: #FFFFFF !important; }
.ks-faq-accordion .elementor-tab-title.elementor-active { color: #4A7C59 !important; }
.ks-faq-accordion .elementor-tab-content { font-family: 'DM Sans', sans-serif !important; font-size: clamp(0.875rem, 1.2vw, 0.938rem) !important; color: #666666 !important; line-height: 1.65 !important; padding: 0 clamp(1rem, 2.5vw, 1.5rem) clamp(1rem, 2vw, 1.25rem) !important; }
.ks-cta-row { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: clamp(1.5rem, 3vw, 2.5rem); }
.ks-cta-text-col { flex: 1 1 clamp(260px, 55%, 520px); }
.ks-cta-btn-col { flex-shrink: 0; }
@media (max-width: 820px) { .ks-about-row, .ks-faq-grid { flex-direction: column; } .ks-steps-row { flex-direction: column !important; } .ks-step-mid { border-left: none; border-right: none; border-top: 1px solid #E0E0DA; border-bottom: 1px solid #E0E0DA; } .ks-cta-row { flex-direction: column; text-align: center; align-items: center; } }
@media (max-width: 620px) { .ks-cards-row { flex-direction: column; } .ks-svc-card { flex-basis: 100% !important; } .ks-hero-actions { flex-direction: column; align-items: center; } }

/* ================================================================
   Button text-wrap fix - e-button-base sets white-space:nowrap
   by default; override so long labels wrap gracefully.
   ================================================================ */
.Primary-btn {
  white-space: normal;
  word-break: break-word;
}

/* === KAUFANGEBOTE PAGE - Component Styles === */
.ks-filter-bar{max-width:1140px;width:100%;margin:0 auto clamp(1.5rem,3vw,2rem);background:#FFF;border:1px solid var(--ks-line);border-radius:var(--ks-radius-card);padding:clamp(1rem,2vw,1.25rem) clamp(1.25rem,3vw,1.5rem);display:flex;flex-wrap:wrap;gap:clamp(0.75rem,1.5vw,1rem);align-items:center;box-shadow:var(--ks-card-shadow);}
.ks-filter-label{font-family:var(--ks-font-body);font-size:clamp(0.75rem,1vw,0.813rem);font-weight:600;color:var(--ks-muted);text-transform:uppercase;letter-spacing:0.08em;white-space:nowrap;}
.ks-filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ks-filter-bar select,.ks-filter-bar input{font-family:var(--ks-font-body);font-size:clamp(0.875rem,1.2vw,0.938rem);color:var(--ks-body);border:1px solid var(--ks-line);border-radius:6px;padding:8px 12px;background:var(--ks-off-white);outline:none;}
.ks-filter-checkbox-label{font-family:var(--ks-font-body);font-size:clamp(0.875rem,1.2vw,0.938rem);color:var(--ks-body);display:flex;align-items:center;gap:6px;cursor:pointer;}
.ks-empty-state{max-width:520px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;}
.ks-form{display:flex;flex-direction:column;gap:clamp(1.25rem,2.5vw,1.5rem);}
.ks-form-row{display:flex;gap:clamp(1rem,2vw,1.25rem);flex-wrap:wrap;}
.ks-form-field{display:flex;flex-direction:column;gap:6px;flex:1 1 clamp(200px,45%,360px);}
.ks-form-field.full{flex:1 1 100%;}
.ks-form-label{font-family:var(--ks-font-body);font-size:clamp(0.813rem,1.2vw,0.875rem);font-weight:600;color:var(--ks-green-deep);}
.ks-form-label .req{color:var(--ks-green);}
.ks-form-input,.ks-form-select,.ks-form-textarea{font-family:var(--ks-font-body);font-size:clamp(0.875rem,1.2vw,0.938rem);color:var(--ks-body);border:1.5px solid var(--ks-line);border-radius:6px;padding:10px 14px;background:#FFF;outline:none;transition:border-color 0.2s,box-shadow 0.2s;width:100%;box-sizing:border-box;}
.ks-form-input:focus,.ks-form-select:focus,.ks-form-textarea:focus{border-color:var(--ks-green);box-shadow:0 0 0 3px rgba(74,124,89,0.08);}
.ks-form-textarea{min-height:120px;resize:vertical;}
.ks-form-radio-group,.ks-form-upload-group{display:flex;gap:clamp(0.75rem,1.5vw,1rem);flex-wrap:wrap;align-items:center;}
.ks-form-radio-label{font-family:var(--ks-font-body);font-size:clamp(0.875rem,1.2vw,0.938rem);color:var(--ks-body);display:flex;align-items:center;gap:6px;cursor:pointer;}
.ks-form-hint{font-family:var(--ks-font-body);font-size:clamp(0.75rem,1vw,0.813rem);color:var(--ks-muted);margin-top:2px;}
.ks-form-divider{border:none;border-top:1px solid var(--ks-line);margin:4px 0;}
.ks-form-section-label{font-family:var(--ks-font-body);font-size:clamp(0.688rem,1vw,0.75rem);font-weight:700;text-transform:uppercase;letter-spacing:0.15em;color:var(--ks-muted);}
.ks-form-upload-btn{font-family:var(--ks-font-body);font-size:clamp(0.875rem,1.2vw,0.938rem);font-weight:600;color:var(--ks-green);background:var(--ks-sage-soft);border:1.5px dashed var(--ks-sage);border-radius:6px;padding:14px 20px;cursor:pointer;display:flex;align-items:center;gap:8px;}
.ks-form-upload-btn:hover{background:var(--ks-sage);border-color:var(--ks-green);}
.ks-form-checkbox-label{font-family:var(--ks-font-body);font-size:clamp(0.875rem,1.2vw,0.938rem);color:var(--ks-body);display:flex;align-items:flex-start;gap:10px;cursor:pointer;line-height:1.5;}
.ks-form-checkbox-label a{color:var(--ks-green);text-decoration:underline;}
.ks-form-submit{margin-top:clamp(0.5rem,1vw,0.75rem);}
.ks-faq-simple{max-width:800px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:clamp(1rem,2vw,1.25rem);}
.ks-faq-item{background:#FFF;border:1px solid var(--ks-line);border-radius:var(--ks-radius-card);padding:clamp(1.25rem,2.5vw,1.5rem);display:flex;flex-direction:column;gap:0.5rem;}
@media(max-width:820px){.ks-filter-bar{flex-direction:column;align-items:flex-start;}}
/* === PAGE 144 - PATCH CSS (props that did not compile via typed system) === */
.elementor .e-cab0101{border-left:3px solid var(--ks-gold);border-radius:var(--ks-radius-card);padding:clamp(1.25rem,2.5vw,1.875rem);width:100%;box-sizing:border-box;}
.elementor .e-cab0300{border-top:1px solid var(--ks-line);border-bottom:1px solid var(--ks-line);}
.elementor .e-cab0006,.elementor .e-cab0007{font-size:var(--body-m);line-height:1.6em;}
.elementor .e-cab0205{margin:3rem auto;}
.elementor .e-cab0302{margin-bottom:2rem;}
.elementor .e-cab0301,.elementor .e-cab0201,.elementor .e-cab0401{margin-left:auto;margin-right:auto;}
.elementor .e-cab0502{flex:1 1 auto;}
.elementor .e-cab0505{flex-shrink:0;}/* End custom CSS */