/*
Theme Name: Twenty Twenty-Four
Theme URI: https://kinder-box.ch/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Customized Kinder-Box family project website, based on Twenty Twenty-Four. Supports the original Gutenberg pages and multimedia.
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.0
Version: 1.6
Update URI: false
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfour
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/* Kinder-Box family product design refinement — scoped to this WordPress theme. */

/* One streamlined Kinder-Box footer across every page. */

/* Compact header: smaller logo, slimmer navigation and balanced spacing. */
header.wp-block-template-part > .kb-header-bar{
 background:rgba(255,251,248,.97)!important;
 width:100%!important;
 max-width:none!important;
 padding:0 clamp(16px,3vw,44px)!important;
 border-bottom:1px solid rgba(100,67,139,.16);
}
header .kb-header-inner{
 max-width:1210px;
 margin-inline:auto;
 min-height:70px;
 gap:18px;
 align-items:center;
}
header .kb-header-brand{display:flex;gap:10px;align-items:center;flex-shrink:0}
header .kb-header-brand .wp-block-site-logo{line-height:0;flex-shrink:0}
header .kb-header-brand .wp-block-site-logo img{
 width:42px!important;height:42px!important;border-radius:11px;object-fit:cover;
}
header .kb-header-brand .wp-block-site-title{
 margin:0;font-size:19px!important;line-height:1.15;font-weight:800;
}
header .kb-header-brand .wp-block-site-title a{color:#4a286f!important;text-decoration:none}
header .kb-primary-nav{font-size:13px}
header .kb-primary-nav .wp-block-navigation-item__content{
 padding:8px 11px;color:#4a286f;font-size:13px;white-space:nowrap
}
header .kb-primary-nav .wp-block-navigation-item__label{font-size:13px!important}
@media(max-width:880px){
 header .kb-header-inner{min-height:62px}
 header .kb-header-brand .wp-block-site-logo img{width:38px!important;height:38px!important}
 header .kb-header-brand .wp-block-site-title{font-size:17px!important}
 header .kb-primary-nav .wp-block-navigation__responsive-container-open{
  padding:7px;border:1px solid #d8c1ec;border-radius:11px
 }
}
@media(max-width:600px){
 header.wp-block-template-part > .kb-header-bar{padding:0 15px!important}
 header .kb-header-inner{min-height:60px}
}


/* Product page: compact hero and video without enlarging or changing the file. */
body.page-id-171 .entry-content > .wp-block-group:first-of-type{
 background:linear-gradient(135deg,#f2eafa 0%,#fffaf4 100%)!important;
 min-height:0!important;
 padding-block:clamp(42px,6vw,80px)!important;
}
body.page-id-171 .entry-content > .wp-block-group:first-of-type .wp-block-columns{
 gap:clamp(22px,4vw,62px);align-items:center;
}
body.page-id-171 .entry-content h1{
 font-family:"Avenir Next","Segoe UI",Arial,sans-serif!important;
 font-size:clamp(2rem,3.5vw,3.2rem)!important;line-height:1.13;letter-spacing:-.035em;
 color:#4a286f!important;
}
body.page-id-171 .entry-content > .wp-block-group:first-of-type p{color:#554565!important;font-size:clamp(1rem,1.4vw,1.14rem);line-height:1.7}
body.page-id-171 .entry-content > .wp-block-group:first-of-type .wp-block-column[style*="display:none"]{display:none!important}
body.page-id-171 .entry-content > .wp-block-group:first-of-type .wp-block-video{margin:0}
body.page-id-171 .entry-content > .wp-block-group:nth-of-type(2) .wp-block-column{
 background:#fff;border:1px solid #e2d6ec;border-radius:18px;
 padding:clamp(20px,2vw,28px);box-shadow:0 10px 30px rgba(48,34,67,.06);
}
@media(max-width:760px){
 body.page-id-171 .entry-content > .wp-block-group:first-of-type{padding-inline:18px!important}
 body.page-id-171 .entry-content > .wp-block-group:first-of-type .wp-block-column{flex-basis:100%!important}
}
/* Refined Story, Questions and Contact pages — maintain original WP media & form. */
body.page-id-136 .entry-content{background:#fffaf4}
body.page-id-136 .entry-content > .wp-block-group:first-child{padding-top:clamp(40px,6vw,88px)!important;padding-bottom:clamp(35px,6vw,75px)!important;background:linear-gradient(155deg,#efe4fa 0%,#fff5ec 90%)!important}
body.page-id-136 .entry-content h1{color:#4a286f!important;font-weight:800;max-width:960px;margin-inline:auto;font-size:clamp(2.5rem,5.8vw,5.2rem)!important;line-height:1.12}
body.page-id-136 .entry-content > .wp-block-group:first-child figure.wp-block-image{max-width:650px;margin:32px auto 0}
body.page-id-136 .entry-content > .wp-block-group:first-child figure.wp-block-image img{width:100%;height:auto;max-height:690px;object-fit:contain;border-radius:22px;box-shadow:0 22px 65px rgba(74,40,111,.15)}
body.page-id-136 .entry-content > .wp-block-group:nth-child(2){background:#fff9f3!important;padding-block:clamp(50px,7vw,100px)!important}
body.page-id-136 .entry-content > .wp-block-group:nth-child(2) > .wp-block-group{max-width:1080px}
body.page-id-136 .entry-content h2{color:#4a286f;font-weight:780}
body.page-id-136 .entry-content h3{color:#553380;font-weight:750}
body.page-id-136 .entry-content > .wp-block-group:nth-child(2) .wp-block-columns{gap:25px}
body.page-id-136 .entry-content > .wp-block-group:nth-child(2) .wp-block-column:not(:empty){background:#fff;border:1px solid #e3d6ee;border-radius:19px;padding:clamp(20px,3vw,34px);box-shadow:0 12px 35px rgba(74,40,111,.055)}
body.page-id-136 .entry-content > .wp-block-group:nth-child(2) .wp-block-column:empty{display:none}
body.page-id-136 .entry-content > .wp-block-group:nth-child(2) .wp-block-column:not(:empty){flex:1 1 280px!important}
body.page-id-136 .entry-content > .wp-block-group:nth-child(3){padding-block:clamp(55px,7vw,95px)!important}
body.page-id-136 .entry-content > .wp-block-group:nth-child(3) .wp-block-columns{align-items:center;gap:clamp(25px,5vw,70px)}
body.page-id-136 .entry-content > .wp-block-group:nth-child(3) .wp-block-columns figure{margin:0}
body.page-id-136 .entry-content > .wp-block-group:nth-child(3) .wp-block-columns figure img{width:100%;height:auto;border-radius:18px}
body.page-id-136 .entry-content > .wp-block-group:nth-child(3) ul{padding-left:1.3rem}
body.page-id-136 .entry-content > .wp-block-group:nth-child(3) li{padding-block:.2rem}
body.page-id-232 .entry-content{max-width:920px!important;padding:clamp(35px,6vw,85px) 20px 90px!important}
body.page-id-232 .entry-content>h4:first-child{font-size:clamp(2.2rem,5vw,4rem)!important;letter-spacing:-.05em;color:#4a286f;padding-bottom:14px}
body.page-id-232 .wp-block-accordion{margin:14px 0!important;border-radius:18px!important}
body.page-id-232 .wp-block-accordion-heading__toggle{background:#fff;color:#4a286f;min-height:70px;display:flex;justify-content:space-between;gap:12px;font-size:clamp(1rem,1.9vw,1.17rem);cursor:pointer;border:0!important}
body.page-id-232 .wp-block-accordion-heading__toggle:hover{background:#f7efff}
body.page-id-232 .wp-block-accordion-heading__toggle[aria-expanded="true"]{background:#f4eafa}
body.page-id-232 .wp-block-accordion-heading__toggle-icon{font-size:23px;color:#7545af;font-weight:500}
body.page-id-232 .wp-block-accordion-panel{background:white;color:#463950;line-height:1.7}
body.page-id-232 .wp-block-accordion-panel ul{margin-bottom:0}
body.page-id-190 .entry-content{padding:clamp(38px,7vw,88px) 20px 100px!important;background:linear-gradient(145deg,#faf1ff,#fffaf4 65%)}
body.page-id-190 .entry-content .fl-row-content{max-width:900px}
body.page-id-190 .entry-content .fl-module-rich-text{background:#fff;border:1px solid #e6d9ed;padding:clamp(25px,4.5vw,62px);border-radius:24px;box-shadow:0 20px 60px rgba(62,35,95,.08)}
body.page-id-190 .entry-content .fl-module-rich-text > .fl-module-content{margin:0}
body.page-id-190 .entry-content .fl-rich-text > p:first-child{color:#4a286f;font-weight:800;font-size:clamp(2.1rem,4.5vw,3.4rem);letter-spacing:-.04em;margin:0 0 25px!important}
body.page-id-190 .entry-content .fl-rich-text > p:first-child span{font-size:inherit!important}
body.page-id-190 .wpforms-field{margin-bottom:15px}
body.page-id-190 .wpforms-field input,body.page-id-190 .wpforms-field textarea{background:#fffafc;border:1px solid #dac9e7!important;border-radius:11px!important;min-height:47px}
body.page-id-190 .wpforms-field textarea{min-height:150px}
body.page-id-190 .wpforms-submit-container button{font-weight:750;border-radius:100px!important;background:#67429b!important;color:#fff!important;padding:13px 27px!important}
body.page-id-190 .wpforms-confirmation-container-full{background:#f0e6fb;border:1px solid #9875bc;border-radius:16px;padding:28px;color:#4a286f}
@media(max-width:700px){
body.page-id-136 .entry-content > .wp-block-group:first-child{padding-inline:18px!important}
body.page-id-136 .entry-content > .wp-block-group:nth-child(2) .wp-block-column:empty{display:none}
body.page-id-190 .entry-content .fl-module-rich-text{padding:24px 19px}
body.page-id-232 .wp-block-accordion-heading__toggle{min-height:65px}
}

footer.wp-block-template-part > .kb-site-footer{background:linear-gradient(125deg,#f4eafa,#fff9f2)!important;border-top:1px solid rgba(103,66,155,.18);padding:38px 24px 17px;margin:0}
.kb-site-footer .kb-footer-layout{gap:22px;padding-bottom:23px}
.kb-site-footer .kb-footer-identity{align-items:center;gap:13px}
.kb-site-footer .kb-footer-brand{margin:0;color:#4a286f;font-size:19px;line-height:1.2;letter-spacing:-.02em}
.kb-site-footer .kb-footer-subtitle{margin:5px 0 0;font-size:13px;color:#765f88;line-height:1.5}
.kb-site-footer .kb-footer-links{display:flex;gap:23px;flex-wrap:wrap;margin:0;font-size:14px;font-weight:700}
.kb-site-footer .kb-footer-links a{color:#4a286f;text-decoration:none}
.kb-site-footer .kb-footer-links a:hover{text-decoration:underline}
.kb-site-footer .kb-footer-copy{border-top:1px solid rgba(103,66,155,.15);padding-top:18px;margin:0;font-size:12px;color:#766b7f}
@media(max-width:650px){.kb-site-footer .kb-footer-layout{align-items:flex-start;flex-direction:column}.kb-site-footer .kb-footer-links{gap:16px}}

:root{
 --kb-ink:#302243;
 --kb-purple:#67429b;
 --kb-purple-dark:#4a286f;
 --kb-lavender:#f3edfb;
 --kb-cream:#fffaf4;
 --kb-peach:#f8e6d8;
 --kb-border:rgba(100,67,139,.19);
 --kb-shadow:0 18px 55px rgba(48,34,67,.09);
}
body{color:var(--kb-ink);background:var(--kb-cream);font-family:"Avenir Next","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;}
body :is(h1,h2,h3,h4){text-wrap:balance;letter-spacing:-.026em;}
body p{line-height:1.75;}
header.wp-block-template-part{
 position:sticky;top:0;z-index:90;
 box-shadow:0 5px 25px rgba(48,34,67,.05);
 backdrop-filter:blur(18px);
}
header.wp-block-template-part > .wp-block-group{
 background:rgba(255,252,249,.96)!important;
 border-bottom:1px solid var(--kb-border);
}
header .wp-block-site-title a{
 color:var(--kb-purple-dark);
 font-weight:800;
 text-decoration:none;
}
header .wp-block-navigation-item__content{
 border-radius:100px;
 padding:.48rem .82rem;
 transition:background .2s ease,color .2s ease;
}
header .wp-block-navigation-item__content:hover,
header .wp-block-navigation-item__content:focus-visible{
 background:var(--kb-lavender);color:var(--kb-purple-dark)!important;
}
header .wp-block-navigation-item__label{font-weight:650;font-size:.92rem;}
body.admin-bar header.wp-block-template-part{top:32px}
body .entry-content{overflow-wrap:anywhere}
body .entry-content h1{font-size:clamp(2.5rem,5.6vw,4.7rem);line-height:1.12;}
body .entry-content h2{font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.2;}
body .entry-content h3{font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.3;}
body .entry-content .wp-block-button__link,
body .entry-content :is(button[type=submit],input[type=submit]){
 background:var(--kb-purple)!important;
 color:white!important;
 border:1px solid var(--kb-purple)!important;
 border-radius:100px!important;
 padding:.84em 1.6em!important;
 font-weight:750;
 text-decoration:none!important;
 box-shadow:0 6px 16px rgba(85,51,125,.13);
 transition:transform .16s ease,background .16s ease,box-shadow .16s ease;
}
body .entry-content .wp-block-button__link:hover,
body .entry-content :is(button[type=submit],input[type=submit]):hover{
 background:var(--kb-purple-dark)!important;
 transform:translateY(-2px);
 box-shadow:0 10px 20px rgba(85,51,125,.20);
}
body .entry-content .is-style-outline > .wp-block-button__link{
 background:transparent!important;
 color:var(--kb-purple-dark)!important;
 border:1.5px solid var(--kb-purple)!important;
 box-shadow:none;
}
body .entry-content .is-style-outline > .wp-block-button__link:hover{
 background:var(--kb-lavender)!important;
}
body.home .entry-content > .wp-block-group:first-child{
 background:radial-gradient(ellipse at 94% 7%,rgba(226,210,255,.7),transparent 45%),var(--kb-lavender)!important;
 border-bottom:1px solid var(--kb-border);
}
body.home .entry-content > .wp-block-group:first-child .wp-block-columns{
 align-items:center;
 gap:clamp(2rem,5vw,5rem);
}
body.home .entry-content > .wp-block-group:first-child p.has-large-font-size{
 color:#3a235c;
 font-family:"Avenir Next","Segoe UI",Arial,sans-serif!important;
 font-size:clamp(1.5rem,2.15vw,2.05rem)!important;
 line-height:1.42!important;
 font-weight:670;
 letter-spacing:-.025em;
 max-width:740px;
 margin-block:0;
}
body.home .entry-content > .wp-block-group:first-child figure.wp-block-image{
 margin-top:2rem;
 max-width:min(100%,1060px);
}
body.home .entry-content > .wp-block-group:first-child figure.wp-block-image img{
 border-radius:22px;
 box-shadow:var(--kb-shadow);
 height:auto;
}
body.home .entry-content > .wp-block-group:nth-of-type(2){
 padding-inline:clamp(14px,3vw,45px);
}
body.home .entry-content > .wp-block-group:nth-of-type(2) .wp-block-column{
 background:#fff;
 border:1px solid var(--kb-border);
 box-shadow:var(--kb-shadow);
 border-radius:18px;
 padding:clamp(1.25rem,2.4vw,2rem);
}
body.home .entry-content .wp-block-video,
body.page-id-171 .entry-content .wp-block-video{
 border-radius:22px;
 overflow:hidden;
 background:#2d2445;
 box-shadow:var(--kb-shadow);
}
body .entry-content .wp-block-video video{
 display:block;max-height:640px;max-width:100%;width:100%;height:auto;
 object-fit:contain;
}
body.page-id-157 .entry-content > .wp-block-group:first-child{
 background:linear-gradient(135deg,var(--kb-lavender),#fff5ef)!important;
}
body.page-id-157 .entry-content img.wp-image-188{
 border-radius:22px!important;
 box-shadow:var(--kb-shadow);
}
body.page-id-136 .entry-content > .wp-block-group:first-child{
 background:linear-gradient(130deg,#f2eafa,#fffbf7)!important;
}
body.page-id-136 .entry-content figure.wp-block-image img{
 border-radius:16px;
 box-shadow:0 10px 35px rgba(38,28,55,.11);
}
body.page-id-232 .entry-content{
 max-width:920px;
 margin-inline:auto;
 padding-block:3rem 5rem;
}
body.page-id-232 .entry-content > h4.wp-block-heading{
 font-size:clamp(2rem,4vw,3.2rem);
 line-height:1.14;
 margin:0 0 2.4rem;
 color:var(--kb-purple-dark);
}
body.page-id-232 .wp-block-accordion{
 margin:.8rem 0;
 border:1px solid var(--kb-border);
 border-radius:14px;
 overflow:hidden;
 background:#fff;
 box-shadow:0 5px 22px rgba(53,37,75,.045);
}
body.page-id-232 .wp-block-accordion-heading__toggle{
 padding:1.15rem 1.4rem;
 width:100%;
 color:var(--kb-purple-dark);
 text-align:left;
 font-weight:700;
}
body.page-id-232 .wp-block-accordion-panel{
 padding:.3rem 1.4rem 1.4rem;
}
body.page-id-190 .entry-content{
 padding-block:3rem 5rem;
}
body.page-id-190 .wpforms-container,
body.page-id-190 .fl-builder-content{
 max-width:850px;
 margin-inline:auto;
}
body.page-id-190 .wpforms-field :is(input,textarea,select){
 border:1px solid #cfbddf;
 border-radius:10px;
 background:#fff;
 color:#392b45;
 max-width:100%;
}
body.page-id-190 .wpforms-field :is(input,textarea,select):focus{
 outline:2px solid #9a75ca;
 outline-offset:2px;
}
footer.wp-block-template-part{
 background:linear-gradient(135deg,#f0e5fb,#fcf5f0);
 border-top:1px solid var(--kb-border);
 margin-block-start:0;
}
footer.wp-block-template-part > .wp-block-group{
 min-height:190px;
 justify-content:center;
 padding:2.7rem 1rem;
 gap:.55rem;
}
footer.wp-block-template-part .wp-block-site-title{
 color:var(--kb-purple-dark);
 font-weight:750;
}
body a:focus-visible,body button:focus-visible{outline:2px solid var(--kb-purple);outline-offset:3px;}
@media(max-width:800px){
 body.home .entry-content > .wp-block-group:first-child .wp-block-columns{gap:1rem;}
 body .entry-content .wp-block-column{min-width:0}
 header .wp-block-navigation__responsive-container.is-menu-open{
  background:#fffbf7!important;
  color:var(--kb-purple-dark)!important;
 }
 header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
  font-size:1.12rem;padding:.5rem;
 }
}
@media(max-width:600px){
 body.admin-bar header.wp-block-template-part{top:46px}
 header.wp-block-template-part > .wp-block-group{padding-block:.6rem!important}
 body.home .entry-content > .wp-block-group:first-child{padding:1.4rem!important}
 body.home .entry-content > .wp-block-group:first-child p.has-large-font-size{
  font-size:clamp(1.35rem,5.3vw,1.65rem)!important;
  line-height:1.45!important;
 }
 body.home .entry-content > .wp-block-group:nth-of-type(2) .wp-block-column{
  padding:1.3rem;
 }
 body.page-id-232 .entry-content{padding-block:2rem 3.5rem}
 body.page-id-232 .wp-block-accordion-heading__toggle{padding:1rem}
}
@media(prefers-reduced-motion:reduce){
 body .entry-content .wp-block-button__link{transition:none}
}

