/*
Theme Name: Kefirboer Theme
Theme URI: https://kefirboer.nl
Author: Kefirboer.nl
Author URI: https://kefirboer.nl
Description: Lichtgewicht WooCommerce thema voor Kefirboer.nl met moderne kefir homepage.
Version: 1.0.5
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: kefirboer-theme
License: GNU General Public License v2 or later
*/

:root{--kb-green:#2f6f3e;--kb-green-dark:#1f4f2d;--kb-green-light:#edf7ef;--kb-text:#10242c;--kb-muted:#5d6b70;--kb-cream:#faf7f1;--kb-white:#fff;--kb-border:#e7e2d8;--kb-shadow:0 10px 30px rgba(0,0,0,.08);--kb-radius:18px}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--kb-text);background:var(--kb-cream);line-height:1.6}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.kb-container{width:min(1180px,92%);margin:0 auto}.kb-button,.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex!important;align-items:center;gap:10px;background:var(--kb-green)!important;color:#fff!important;padding:15px 24px!important;border-radius:10px!important;font-weight:700!important;text-decoration:none!important;border:0!important;transition:.2s ease}.kb-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--kb-green-dark)!important;transform:translateY(-1px)}.kb-topbar{background:var(--kb-green-dark);color:#fff;font-size:14px;padding:10px 0}.kb-topbar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}.site-header{background:#fff;border-bottom:1px solid var(--kb-border);position:sticky;top:0;z-index:20}.kb-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0}.kb-logo{font-size:26px;font-weight:800;color:var(--kb-green-dark);letter-spacing:.5px}.kb-logo span{color:var(--kb-green)}.kb-menu{display:flex;gap:26px;font-size:15px;font-weight:600;align-items:center}.kb-menu ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}.kb-cart{font-size:20px}.kb-hero{background:linear-gradient(135deg,#fffaf2 0%,#f2f8ef 55%,#ffffff 100%);padding:90px 0 96px;border-bottom:1px solid var(--kb-border);position:relative;overflow:hidden}.kb-hero:after{content:'';position:absolute;right:-120px;top:30px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(47,111,62,.16),rgba(47,111,62,.05) 45%,transparent 70%);pointer-events:none}.kb-hero .kb-container{position:relative;z-index:1}.kb-section:first-of-type{padding-top:48px}.kb-hero-content{max-width:570px}.kb-hero h1{font-size:clamp(42px,6vw,72px);line-height:1.05;margin:0 0 20px;letter-spacing:-1px;color:var(--kb-text)}.kb-hero h1 span{color:var(--kb-green)}.kb-subtitle{font-size:24px;font-weight:700;margin-bottom:22px}.kb-hero p{font-size:18px;color:var(--kb-muted);max-width:520px;margin-bottom:30px}.kb-review-line{margin-top:22px;font-weight:700}.kb-stars{color:#f5b301;margin-right:8px}.kb-usp-strip{background:#fff;border-bottom:1px solid var(--kb-border);padding:26px 0}.kb-usp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.kb-usp{display:flex;align-items:center;gap:14px}.kb-usp-icon{width:44px;height:44px;border-radius:50%;background:var(--kb-green-light);color:var(--kb-green);display:grid;place-items:center;font-size:22px;flex:0 0 auto}.kb-usp strong{display:block;font-size:15px}.kb-usp small{color:var(--kb-muted);font-size:13px}.kb-section{padding:34px 0}.kb-split,.kb-card,.kb-cta,.kb-woocommerce-products{background:#fff;border:1px solid var(--kb-border);border-radius:var(--kb-radius);box-shadow:var(--kb-shadow);overflow:hidden}.kb-split{display:grid;grid-template-columns:1fr 1fr}.kb-content{padding:40px;display:flex;flex-direction:column;justify-content:center}.kb-split h2,.kb-section-title,.kb-card h3,.kb-cta h2{color:var(--kb-green-dark);line-height:1.2;margin:0 0 16px}.kb-split h2,.kb-section-title{font-size:34px}.kb-card h3{font-size:28px}.kb-split p,.kb-card p,.kb-cta p{color:var(--kb-muted);margin-bottom:18px}.kb-two-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.kb-three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.kb-card{padding:28px}.kb-category-card{padding:0}.kb-category-card img{width:100%;height:230px;object-fit:cover}.kb-category-content{padding:26px}.kb-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}.kb-step{background:var(--kb-cream);border-radius:12px;overflow:hidden;text-align:center;font-size:13px;font-weight:700;position:relative;border:1px solid var(--kb-border)}.kb-step-number{position:absolute;top:8px;left:8px;width:26px;height:26px;border-radius:50%;background:var(--kb-green);color:#fff;display:grid;place-items:center;font-size:14px}.kb-step img{height:105px;width:100%;object-fit:cover}.kb-step span{display:block;padding:10px 6px}.kb-product-highlight{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:center}.kb-product-highlight img{border-radius:14px}.kb-benefits{list-style:none;display:grid;gap:10px;margin:18px 0 0;padding:0}.kb-benefits li:before{content:'✓';color:#fff;background:var(--kb-green);width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;margin-right:10px;font-size:13px}.kb-woocommerce-products{padding:36px}.kb-cta{display:grid;grid-template-columns:1fr 1fr;align-items:center}.kb-cta-content{padding:44px}.kb-cta img,.kb-split>img{width:100%;height:100%;min-height:320px;object-fit:cover}.site-footer{background:var(--kb-green-dark);color:#fff;padding:36px 0;text-align:center;margin-top:40px}.site-footer a{color:#fff}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{background:#fff;border:1px solid var(--kb-border);border-radius:16px;padding:16px!important;box-shadow:var(--kb-shadow);overflow:hidden}.woocommerce ul.products li.product .woocommerce-loop-product__title{color:var(--kb-green-dark);font-weight:800}.woocommerce div.product{width:min(1180px,92%);margin:34px auto;background:#fff;border-radius:var(--kb-radius);padding:34px;border:1px solid var(--kb-border);box-shadow:var(--kb-shadow)}.page-content,.entry-content{width:min(1180px,92%);margin:34px auto}.kb-placeholder{background:linear-gradient(135deg,#f7f1e8,#e9f5eb);min-height:230px;display:grid;place-items:center;color:var(--kb-green-dark);font-weight:800;text-align:center;padding:20px}@media(max-width:900px){.kb-topbar-grid,.kb-usp-grid,.kb-two-grid,.kb-three-grid,.kb-split,.kb-cta{grid-template-columns:1fr}.kb-menu{display:none}.kb-hero{padding:64px 0;background-position:center}.kb-steps{grid-template-columns:repeat(2,1fr)}.kb-product-highlight{grid-template-columns:1fr}}@media(max-width:520px){.kb-hero h1{font-size:40px}.kb-subtitle{font-size:20px}.kb-content,.kb-card,.kb-cta-content,.kb-woocommerce-products{padding:24px}.kb-steps{grid-template-columns:1fr}}

/* Algemene pagina-opmaak */
.kb-page-hero{background:linear-gradient(135deg,var(--kb-green-light),var(--kb-cream));padding:54px 0 42px;border-bottom:1px solid var(--kb-border)}
.kb-page-eyebrow{margin:0 0 8px;color:var(--kb-green);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:13px}
.kb-page-hero h1{margin:0;color:var(--kb-green-dark);font-size:clamp(34px,5vw,56px);line-height:1.1;letter-spacing:-.5px}
.kb-page-card{background:#fff;border:1px solid var(--kb-border);border-radius:var(--kb-radius);box-shadow:var(--kb-shadow);padding:42px;max-width:980px;margin:0 auto}
.kb-entry-content{font-size:17px;color:var(--kb-text)}
.kb-entry-content h1,.kb-entry-content h2,.kb-entry-content h3,.kb-entry-content h4{color:var(--kb-green-dark);line-height:1.25;margin:34px 0 14px}
.kb-entry-content h2{font-size:30px;border-top:1px solid var(--kb-border);padding-top:28px}
.kb-entry-content h2:first-child,.kb-entry-content h3:first-child{margin-top:0;border-top:0;padding-top:0}
.kb-entry-content p{margin:0 0 18px;color:var(--kb-muted)}
.kb-entry-content ul,.kb-entry-content ol{margin:0 0 22px 24px;color:var(--kb-muted)}
.kb-entry-content li{margin-bottom:8px}
.kb-entry-content a{color:var(--kb-green);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.kb-entry-content table{width:100%;border-collapse:collapse;margin:24px 0;background:#fff;border:1px solid var(--kb-border)}
.kb-entry-content th,.kb-entry-content td{padding:14px;border:1px solid var(--kb-border);text-align:left}
.kb-entry-content th{background:var(--kb-green-light);color:var(--kb-green-dark)}
.kb-entry-content blockquote{margin:24px 0;padding:20px 24px;border-left:5px solid var(--kb-green);background:var(--kb-green-light);border-radius:12px;color:var(--kb-green-dark)}
.kb-legal-links{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin-top:18px;font-size:14px}
.kb-legal-links a{text-decoration:none;color:#fff;opacity:.9}
.kb-legal-links a:hover{opacity:1;text-decoration:underline}
@media(max-width:520px){.kb-page-card{padding:24px}.kb-page-hero{padding:38px 0 30px}.kb-entry-content{font-size:16px}.kb-entry-content h2{font-size:25px}}

.kb-legal-links{margin-top:18px}.kb-legal-links ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.kb-legal-links a{color:#fff;text-decoration:none;font-weight:700}.kb-legal-links a:hover{text-decoration:underline}


/* v1.0.5 Customizer uitbreidingen */
.kb-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;position:relative;z-index:1}
.kb-hero-image-wrap{border-radius:28px;overflow:hidden;box-shadow:var(--kb-shadow);background:#fff;border:1px solid var(--kb-border)}
.kb-hero-image-wrap img{width:100%;height:480px;object-fit:cover}
.kb-hero .kb-placeholder{min-height:480px;border-radius:28px}
.kb-review-line{white-space:pre-wrap}.kb-review-line::first-letter{color:#f5b301}
.kb-split>img,.kb-split>.kb-placeholder{width:100%;height:100%;min-height:320px;object-fit:cover}
.kb-product-highlight>img,.kb-product-highlight>.kb-placeholder{width:100%;min-height:260px;object-fit:cover;border-radius:14px}
.kb-category-card>.kb-placeholder{height:230px;min-height:230px}
.kb-category-card>img{width:100%;height:230px;object-fit:cover}
.kb-step>.kb-placeholder{height:105px;min-height:105px;font-size:13px;padding:8px}
.kb-step>img{height:105px;width:100%;object-fit:cover}
.kb-cta>img,.kb-cta>.kb-placeholder{width:100%;height:100%;min-height:320px;object-fit:cover}
.kb-content .kb-button,.kb-category-content .kb-button,.kb-cta-content .kb-button{width:max-content}
@media(max-width:900px){.kb-hero-grid{grid-template-columns:1fr}.kb-hero-image-wrap img,.kb-hero .kb-placeholder{height:auto;min-height:260px}.kb-hero-image-wrap{order:-1}.kb-hero{padding:42px 0 58px}}
