/* ===========================================================
   Gartenservice Kalz — Design System (Elementor build)
   Loaded site-wide via mu-plugin. Prefixed gk- to avoid clashes.
   =========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700;12..96,800&family=Hanken+Grotesk:wght@400;500;600;700&display=swap');

:root{
  --green-50:#eef4ea;--green-100:#e1ecdb;--green-200:#c4d9bb;--green-300:#9cc08c;
  --green-400:#6fa45b;--green-500:#4a8a3f;--green-600:#3a6f33;--green-700:#2c5528;
  --green-800:#1f3d22;--green-900:#14291a;
  --terracotta:#c1652f;--soil:#6b4f3a;--amber:#d8a13a;--bloom:#b1577a;--sky:#3f7e96;
  --canvas:#ffffff;--cream:#f7f5ee;--surface:#f1efe6;--surface-soft:#faf9f4;
  --hairline:#e6e3d8;--hairline-strong:#d4d0c2;--hairline-dark:rgba(244,247,241,.22);
  --ink:#1c2b20;--charcoal:#2f3a31;--slate:#586259;--steel:#7c857b;--stone:#99a094;
  --on-dark:#f4f7f1;--on-dark-muted:rgba(244,247,241,.66);--on-primary:#fff;
  --font-display:'Bricolage Grotesque',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-body:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --radius-lg:12px;--radius-xl:16px;--radius-xxl:24px;--radius-full:9999px;
  --shadow-3:0 12px 28px -6px rgba(20,41,26,.14);
}

/* Base typography on Elementor content */
body,.elementor-widget-text-editor,.elementor-widget-heading{font-family:var(--font-body);}
.elementor-heading-title{font-family:var(--font-display);letter-spacing:-.4px;}

/* Eyebrow */
.gk-eyebrow .elementor-heading-title,.gk-eyebrow{
  font-family:var(--font-body)!important;font-size:12px!important;font-weight:600!important;
  letter-spacing:1.4px!important;text-transform:uppercase;color:var(--green-600)!important;}
.gk-eyebrow--dark .elementor-heading-title{color:var(--green-300)!important;}

/* Badge pill */
.gk-badge .elementor-button,.gk-badge{
  display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;
  padding:6px 14px;border-radius:var(--radius-full);background:var(--green-100)!important;
  color:var(--green-700)!important;border:none;}
.gk-badge .elementor-button:hover{background:var(--green-100)!important;color:var(--green-700)!important;}

/* Buttons — pill style */
.gk-btn .elementor-button{
  border-radius:var(--radius-full)!important;font-family:var(--font-body)!important;
  font-weight:600!important;letter-spacing:.2px;padding:14px 28px;font-size:15px;
  transition:background-color .15s ease,transform .12s ease,box-shadow .15s ease;border:1px solid transparent;}
.gk-btn .elementor-button:active{transform:translateY(1px);}
.gk-btn--primary .elementor-button{background:var(--green-500)!important;color:var(--on-primary)!important;}
.gk-btn--primary .elementor-button:hover{background:var(--green-600)!important;}
.gk-btn--ghost .elementor-button{background:transparent!important;color:var(--on-dark)!important;border:1px solid var(--hairline-dark)!important;}
.gk-btn--ghost .elementor-button:hover{background:rgba(244,247,241,.1)!important;}
.gk-btn--secondary .elementor-button{background:transparent!important;color:var(--ink)!important;border:1px solid var(--hairline-strong)!important;}
.gk-btn--secondary .elementor-button:hover{background:var(--cream)!important;}
.gk-btn--lg .elementor-button{padding:16px 32px;font-size:16px;}

/* Hero overlay handled natively by Elementor; helper for meta rows */
.gk-hero-meta .elementor-icon-list-item a{color:var(--on-dark)!important;font-size:15px;}
.gk-hero-meta .elementor-icon-list-icon svg,.gk-hero-meta .elementor-icon-list-icon i{color:var(--green-300)!important;}

/* Service tile card */
.gk-tile{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius-lg);
  overflow:hidden;transition:transform .15s ease,box-shadow .15s ease;height:100%;}
.gk-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-3);}
.gk-tile .gk-tile-media img{transition:transform .25s ease;aspect-ratio:3/2;object-fit:cover;width:100%;display:block;}
.gk-tile:hover .gk-tile-media img{transform:scale(1.04);}
.gk-tile-tag .elementor-button,.gk-tile-tag{position:absolute;top:12px;left:12px;font-size:12px;font-weight:600;
  padding:4px 12px;border-radius:var(--radius-full);background:var(--green-500)!important;color:#fff!important;border:none;}
.gk-tile-link .elementor-button{background:transparent!important;color:var(--green-600)!important;
  padding:0!important;font-weight:600;font-size:15px;border:none!important;}
.gk-tile-link .elementor-button:hover{color:var(--green-700)!important;}

/* Numbered process step */
.gk-step{position:relative;background:var(--canvas);border:1px solid var(--hairline);
  border-radius:var(--radius-lg);padding:24px 24px 24px 72px;height:100%;}
.gk-step::before{counter-increment:gkstep;content:counter(gkstep);position:absolute;left:24px;top:24px;
  width:36px;height:36px;border-radius:var(--radius-full);background:var(--green-500);color:#fff;
  font-family:var(--font-display);font-weight:600;font-size:17px;display:grid;place-items:center;}
.gk-timeline{counter-reset:gkstep;}

/* CTA banner */
.gk-cta{background:var(--green-800);border-radius:var(--radius-xxl);}

/* Google reviews chip */
.gk-reviews{display:inline-flex;align-items:center;gap:12px;background:var(--canvas);
  border:1px solid var(--hairline);border-radius:var(--radius-full);padding:10px 20px;}
.gk-reviews .stars{color:#f5b301;letter-spacing:2px;}

/* Quote card */
.gk-quote{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:24px;height:100%;}
.gk-quote .stars{color:#f5b301;letter-spacing:2px;margin-bottom:12px;}
.gk-quote blockquote{font-size:16px;color:var(--charcoal);line-height:1.6;margin:0 0 16px;border:none;padding:0;}

/* Stat card */
.gk-stat{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:24px;height:100%;}
.gk-stat .num .elementor-heading-title{color:var(--green-600)!important;font-size:38px;letter-spacing:-1px;}

/* layout helpers */
.gk-tile-media{position:relative;overflow:hidden;}
.gk-hero-text{max-width:760px;}
.gk-section-head{max-width:640px;}
.gk-section-head--center{max-width:680px;margin-left:auto;margin-right:auto;align-items:center;}
.gk-section-head--center .elementor-heading-title,.gk-section-head--center .elementor-widget-container{text-align:center;}
.gk-cta{text-align:center;}
.gk-cta .elementor-heading-title{text-align:center;}
.gk-cta .elementor-widget-text-editor{text-align:center;}
.gk-quote .name{font-weight:600;color:var(--ink);}
.gk-quote .where{font-size:13px;color:var(--steel);}
.gk-avatar img{border-radius:9999px;width:44px;height:44px;object-fit:cover;}

/* ---- inner pages ---- */
.gk-page-hero{position:relative;}
.gk-page-hero .gk-hero-text{max-width:820px;}
.gk-compare{width:100%;border-radius:16px;overflow:hidden;border:1px solid var(--hairline,#e4e0d4);background:#fff;}
.gk-compare .gk-crow{display:grid;grid-template-columns:1.4fr 1fr 1fr;align-items:center;}
.gk-compare .gk-crow > div{padding:16px 18px;border-bottom:1px solid var(--hairline,#ece8dc);font-size:15px;color:var(--ink,#1c2b20);}
.gk-compare .gk-crow:last-child > div{border-bottom:none;}
.gk-compare .gk-crow--head > div{background:var(--green-800,#1f3d22);color:#f4f7f1;font-weight:600;font-size:14px;}
.gk-compare .gk-crow > div:first-child{font-weight:600;}
.gk-compare .gk-cell-no{color:#a23b2f;}
.gk-compare .gk-cell-yes{color:var(--green-600,#3a6f33);font-weight:600;}
.gk-compare .gk-crow > div:nth-child(3){background:#f3f7f0;}
.gk-compare .gk-crow--head > div:nth-child(3){background:var(--green-700,#2c5528);}
.gk-faq-card{background:#fff;border:1px solid var(--hairline,#e4e0d4);border-radius:14px;padding:22px 24px;}
.gk-faq-card .gk-q .elementor-heading-title{font-size:17px;font-weight:600;color:var(--ink,#1c2b20);}
.gk-faq-card .gk-a p{color:var(--steel,#586259);font-size:15px;margin:6px 0 0;}
.gk-anchor{scroll-margin-top:110px;}

/* before/after + gallery */
.gk-ba-card{background:#fff;border:1px solid var(--hairline,#e4e0d4);border-radius:16px;overflow:hidden;}
.gk-ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:2px;position:relative;}
.gk-ba-pair img{display:block;width:100%;height:230px;object-fit:cover;}
.gk-ba-tag{position:absolute;top:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;padding:5px 12px;border-radius:9999px;color:#fff;z-index:2;}
.gk-ba-tag--before{left:12px;background:rgba(28,43,32,.82);}
.gk-ba-tag--after{right:12px;background:var(--green-500,#4a8a3f);}
.gk-ba-body{padding:20px 22px;}
.gk-ba-body .elementor-heading-title{font-size:18px;font-weight:600;color:var(--ink,#1c2b20);}
.gk-gallery img{display:block;width:100%;border-radius:12px;}
.gk-ba-side{position:relative;overflow:hidden;}
.gk-ba-side img{display:block;width:100%;height:230px;object-fit:cover;}
.gk-gitem{overflow:hidden;border-radius:12px;}
.gk-gitem img{display:block;width:100%;height:220px;object-fit:cover;transition:transform .5s ease;}
.gk-gitem:hover img{transform:scale(1.05);}

/* about page */
.gk-story-media img{display:block;width:100%;border-radius:16px;object-fit:cover;box-shadow:0 12px 28px -6px rgba(20,41,26,.14);}
.gk-value-card{background:#fff;border:1px solid var(--hairline,#e4e0d4);border-radius:14px;}
.gk-check-list .elementor-icon-list-item{align-items:center;}
.gk-check-list .elementor-icon-list-text{color:var(--ink,#1c2b20);font-size:15px;}

/* contact page */
.gk-form-card{background:#fff;border:1px solid var(--hairline,#e4e0d4);border-radius:18px;padding:32px;box-shadow:0 12px 28px -6px rgba(20,41,26,.10);}
.gk-contact-card{background:#fff;border:1px solid var(--hairline,#e4e0d4);border-radius:16px;padding:26px;}
.gk-contact-card + .gk-contact-card{margin-top:20px;}
.gk-ci-label{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--green-600,#3a6f33);font-weight:600;}
.gk-ci-value .elementor-heading-title{font-size:16px;color:var(--ink,#1c2b20);}
.gk-hours-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--hairline,#ece8dc);font-size:15px;}
.gk-hours-row:last-child{border-bottom:none;}
.gk-hours-row .day{color:var(--steel,#586259);}
.gk-hours-row .time{color:var(--ink,#1c2b20);font-weight:500;}
.gk-form-card .wpforms-field-label{font-weight:600;color:var(--ink,#1c2b20);font-size:14px;}
.gk-form-card input[type=text],.gk-form-card input[type=email],.gk-form-card input[type=tel],.gk-form-card select,.gk-form-card textarea{border:1px solid #d9d5c8 !important;border-radius:10px !important;padding:11px 14px !important;font-size:15px !important;background:#fbfaf6;}
.gk-form-card input:focus,.gk-form-card select:focus,.gk-form-card textarea:focus{border-color:var(--green-500,#4a8a3f) !important;outline:none;}
.gk-form-card .wpforms-submit{background:var(--green-500,#4a8a3f) !important;border:none !important;border-radius:9999px !important;padding:14px 30px !important;font-weight:600 !important;color:#fff !important;font-size:15px !important;cursor:pointer;}
.gk-form-card .wpforms-submit:hover{background:var(--green-600,#3a6f33) !important;}

/* ===== header ===== */
.gk-header{background:#fff;border-bottom:1px solid var(--hairline,#e7e3d7);position:sticky;top:0;z-index:999;}
.gk-brand .elementor-heading-title{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:19px;color:var(--ink,#1c2b20);line-height:1.1;letter-spacing:-0.3px;}
.gk-brand-sub .elementor-heading-title{font-size:12px;color:var(--green-600,#3a6f33);font-weight:500;letter-spacing:.4px;}
.gk-header .xpro-elementor-horizontal-navbar-nav{gap:4px;}
.gk-header .xpro-elementor-horizontal-navbar-nav a{font-weight:500;font-size:15px;}
.gk-footer{background:var(--green-800,#1f3d22);color:#f4f7f1;}
.gk-footer .elementor-heading-title{color:#f4f7f1;}
.gk-foot-brand .elementor-heading-title{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:18px;}
.gk-foot-h4 .elementor-heading-title{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:#9cc08c !important;font-weight:600;}
.gk-foot-links .elementor-icon-list-text{color:rgba(244,247,241,0.72);font-size:15px;}
.gk-foot-links a:hover .elementor-icon-list-text{color:#fff;}
.gk-foot-text p,.gk-foot-text .elementor-widget-container{color:rgba(244,247,241,0.62);font-size:15px;line-height:1.6;}
.gk-foot-bottom{border-top:1px solid rgba(244,247,241,0.14);}
.gk-foot-bottom .elementor-heading-title,.gk-foot-bottom p{color:rgba(244,247,241,0.55);font-size:13px;}
.gk-foot-bottom .gk-btn.gk-tile-link{color:rgba(244,247,241,0.72);}

/* legal pages */
.gk-legal .elementor-widget-heading .elementor-heading-title{color:var(--ink,#1c2b20);}
.gk-legal h2.elementor-heading-title{font-size:22px;margin-top:8px;}
.gk-legal h3.elementor-heading-title{font-size:17px;}
.gk-legal .elementor-widget-text-editor{color:#3f4a41;font-size:15px;line-height:1.7;}
.gk-legal .elementor-widget-text-editor a{color:var(--green-600,#3a6f33);}

/* header brand v2 (dark header) */
.gk-brand{display:inline-flex !important;align-items:center;gap:11px;text-decoration:none;}
.gk-brand:hover{text-decoration:none;opacity:.92;}
.gk-mark{width:38px;height:38px;border-radius:11px;background:var(--green-500,#4A8A3F);display:grid;place-items:center;transform:rotate(-8deg);box-shadow:0 6px 18px rgba(0,0,0,.20);flex:none;}
.gk-mark svg{width:21px;height:21px;transform:rotate(8deg);display:block;}
.gk-wordmark{display:flex;flex-direction:column;font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:19px;color:#F7F5EE;letter-spacing:-0.4px;line-height:1.05;}
.gk-wordmark small{font-family:'Hanken Grotesk',sans-serif;font-weight:500;font-size:10.5px;letter-spacing:.7px;color:rgba(247,245,238,.62);text-transform:uppercase;margin-top:3px;}
