/*
Theme Name: Sedum Tectum Child
Template: hello-elementor
Description: Child theme voor Sedum Tectum (design tokens, componenten, offerteformulier).
Version: 1.0.0
Text Domain: sedum-tectum
*/

:root{
  --st-green:#4a7c59; --st-green-dark:#3b6a4a; --st-mint:#8bc99b;
  --st-bg:#f6f7f2; --st-ink:#1f251c; --st-text:#55594f; --st-dark:#20261f;
  --st-radius:16px; --st-shadow:0 2px 10px rgba(0,0,0,.07);
}
body{font-family:'Inter',system-ui,sans-serif;color:var(--st-text);background:var(--st-bg);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Inter',sans-serif;color:var(--st-ink);font-weight:700;letter-spacing:-.02em}
.st-section .e-con-inner{max-width:1140px}
.st-section h2.elementor-heading-title{font-size:clamp(28px,3.4vw,40px);line-height:1.15;text-align:center}
.st-sub,.st-sub p{text-align:center;font-size:18px;color:var(--st-text);max-width:640px;margin-inline:auto}

/* Badge */
.st-badge .elementor-heading-title{display:inline-block;background:var(--st-mint);color:var(--st-ink)!important;font-size:14px;font-weight:500;padding:6px 14px;border-radius:999px}
.st-center-badge{text-align:center}

/* Buttons */
.st-btn .elementor-button{background:var(--st-mint);color:var(--st-ink);font-weight:600;border-radius:999px;padding:16px 32px;box-shadow:0 6px 14px rgba(0,0,0,.15);transition:transform .15s,filter .15s}
.st-btn .elementor-button:hover{transform:translateY(-1px);filter:brightness(.97);color:var(--st-ink)}
.st-btn-ghost .elementor-button{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:none}
.st-btn-ghost .elementor-button:hover{background:rgba(255,255,255,.2);color:#fff}
.st-btn-dark .elementor-button{background:var(--st-green);color:#fff}
.st-btn-dark .elementor-button:hover{background:var(--st-green-dark);color:#fff}

/* Hero */
.st-hero{background:linear-gradient(160deg,var(--st-green),var(--st-green-dark));position:relative;padding-bottom:110px!important;color:#fff}
.st-hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:70px;background:var(--st-bg);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 40C240 80 480 0 720 30s480 50 720 10V80H0z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 40C240 80 480 0 720 30s480 50 720 10V80H0z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.st-hero h1{color:#fff;font-size:clamp(34px,4.6vw,56px);line-height:1.1}
.st-hero p{color:rgba(255,255,255,.9);font-size:18px;line-height:1.6}
.st-hero img{border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.25);width:100%;object-fit:cover}

/* Wij zijn */
.st-about p{line-height:1.7;margin-bottom:1.1em}
.st-about .st-logo-card{background:#fff;border-radius:var(--st-radius);box-shadow:var(--st-shadow);padding:24px;text-align:center}

/* Cards */
.st-grid{display:grid!important;gap:20px}
.st-grid-3{grid-template-columns:repeat(3,1fr)}
.st-grid-2{grid-template-columns:repeat(2,1fr)}
.st-grid-4{grid-template-columns:repeat(4,1fr)}
.st-grid-5{grid-template-columns:repeat(5,1fr)}
.st-card{background:#fff;border-radius:var(--st-radius);box-shadow:var(--st-shadow);border:1px solid rgba(0,0,0,.04);padding:24px!important}
.st-card-soft{background:var(--st-bg)!important;box-shadow:none;border:0}
.st-card .elementor-icon-box-wrapper{gap:16px}
.st-card .elementor-icon-box-title{font-size:18px;font-weight:600;margin:6px 0 8px}
.st-card .elementor-icon-box-description{font-size:15px;line-height:1.6}
.st-card .elementor-icon-box-icon .elementor-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:14px;font-size:24px}
.st-i-green .elementor-icon{background:#e9f9f0;color:#16a34a}
.st-i-blue .elementor-icon{background:#eaf1ff;color:#2563eb}
.st-i-purple .elementor-icon{background:#f7efff;color:#9333ea}
.st-i-amber .elementor-icon{background:#fff8e1;color:#d97706}
.st-i-solid .elementor-icon{background:var(--st-green);color:#fff}
.st-card .elementor-icon-list-items{margin-top:8px;padding-left:72px}
.st-card .elementor-icon-list-icon{color:var(--st-mint)}

/* Stats */
.st-stats{display:grid!important;grid-template-columns:repeat(4,1fr);gap:16px;background:#fff;border-radius:var(--st-radius);box-shadow:var(--st-shadow);padding:28px!important;text-align:center}
.st-stat strong{display:block;font-size:34px;color:var(--st-green);font-weight:700}
.st-stat span{font-size:14px}

/* Subsidie */
.st-subsidie{background:linear-gradient(160deg,var(--st-green),var(--st-green-dark));border-radius:24px;color:#fff;text-align:center;padding:48px 32px!important}
.st-subsidie h2,.st-subsidie h3{color:#fff!important}
.st-subsidie p{color:rgba(255,255,255,.92)}
.st-subsidie .st-card{background:rgba(255,255,255,.12);border:0;box-shadow:none;text-align:left}
.st-subsidie .st-card h3{font-size:18px;color:#fff}
.st-subsidie .st-card p{font-size:15px;margin:0}

/* Stappen */
.st-step .num{width:48px;height:48px;border-radius:50%;background:var(--st-green);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.st-step h3{font-size:18px;margin:0 0 6px}.st-step p{font-size:15px;line-height:1.6;margin:0}

/* Projecten slider */
.st-slider{position:relative;overflow:hidden;border-radius:var(--st-radius)}
.st-slider .st-track{display:flex!important;transition:transform .4s ease}
.st-slide{flex:0 0 100%;background:#fff;border-radius:var(--st-radius);overflow:hidden;box-shadow:var(--st-shadow)}
.st-slide .st-slide-body{padding:24px}
.st-slide .st-slide-body h3{font-size:24px;margin:0 0 8px}
.st-slide .st-meta{font-size:15px;display:flex;gap:16px;flex-wrap:wrap}
.st-slide img{width:100%;height:340px;object-fit:cover;display:block}
.st-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}
.st-nav button{width:48px;height:48px;border-radius:50%;border:0;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.12);cursor:pointer;font-size:18px}
.st-dots{display:flex;gap:8px}.st-dots i{width:10px;height:10px;border-radius:999px;background:#d3d6cc}.st-dots i.on{width:32px;background:var(--st-green)}

/* FAQ (Elementor accordion) */
.st-faq .elementor-accordion-item{background:var(--st-bg);border:0!important;border-radius:14px;margin-bottom:12px;overflow:hidden}
.st-faq .elementor-tab-title{padding:20px 24px;font-weight:600;color:var(--st-ink)}
.st-faq .elementor-tab-title a{color:var(--st-ink)}
.st-faq .elementor-tab-content{border:0!important;padding:0 24px 20px;color:var(--st-text)}
.st-faq .elementor-accordion-icon{background:var(--st-green);color:#fff;border-radius:50%;width:32px;height:32px;display:inline-flex!important;align-items:center;justify-content:center}
.st-faq .elementor-accordion-icon i,.st-faq .elementor-accordion-icon svg{color:#fff;fill:#fff}
.st-faq-cta{background:var(--st-bg);border-radius:var(--st-radius);text-align:center;padding:32px!important}

/* Contact */
.st-contact-grid{display:grid!important;grid-template-columns:1fr 1.6fr;gap:32px;align-items:start}
.st-form{background:#fff;border-radius:var(--st-radius);box-shadow:var(--st-shadow);padding:28px}
.st-form label{display:block;font-size:14px;font-weight:500;color:var(--st-ink);margin:14px 0 6px}
.st-form input,.st-form select,.st-form textarea{width:100%;border:1px solid #e3e5dd;border-radius:14px;padding:14px 16px;font:inherit;background:#fff}
.st-form input:focus,.st-form select:focus,.st-form textarea:focus{outline:2px solid var(--st-mint);border-color:transparent}
.st-form .st-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.st-form button{margin-top:20px;width:100%;background:var(--st-green);color:#fff;border:0;border-radius:999px;padding:16px;font:600 16px 'Inter',sans-serif;cursor:pointer;box-shadow:0 6px 14px rgba(0,0,0,.15)}
.st-form button:hover{background:var(--st-green-dark)}
.st-form small{display:block;margin-top:12px;text-align:center;font-size:12px}
.st-hp{position:absolute!important;left:-9999px}
.st-notice{padding:14px 18px;border-radius:12px;margin-bottom:16px}
.st-ok{background:#e9f9f0;color:#116b36}.st-err{background:#fdecec;color:#a02020}

/* Footer */
.st-footer{background:var(--st-dark);color:#c9cdc2}
.st-footer h4{color:#fff;font-size:16px;margin:0 0 14px}
.st-footer a{color:#c9cdc2;text-decoration:none}.st-footer a:hover{color:#fff}
.st-footer ul{list-style:none;margin:0;padding:0}.st-footer li{margin-bottom:10px}
.st-footer .st-copy{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;text-align:center;font-size:14px}

html{scroll-behavior:smooth}
.st-anchor{scroll-margin-top:20px}

@media(max-width:1024px){
  .st-grid-5,.st-grid-4{grid-template-columns:repeat(2,1fr)}
  .st-grid-3{grid-template-columns:repeat(2,1fr)}
  .st-contact-grid{grid-template-columns:1fr}
}
@media(max-width:767px){
  .st-grid-5,.st-grid-4,.st-grid-3,.st-grid-2,.st-stats{grid-template-columns:1fr 1fr}
  .st-grid-3,.st-grid-2,.st-grid-5{grid-template-columns:1fr}
  .st-form .st-row{grid-template-columns:1fr}
  .st-slide img{height:220px}
  .st-card .elementor-icon-list-items{padding-left:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.st-slider .st-track{transition:none}}

.st-stats .elementor-widget,.st-stats .elementor-widget-container{display:contents}
