/*
Theme Name: Wim Wolke – Wunderbar bunt
Description: Individuelles, responsives WordPress-Theme für Ballonkunst und Kindertheater. Inhalte mit dem Block-Editor bearbeitbar.
Version: 1.0.0
Author: SCREENUS
Text Domain: wimwolke
*/
@font-face{font-family:Fredoka;src:url('assets/fredoka.ttf') format('truetype');font-weight:300 700;font-style:normal;font-display:swap}
:root{--purple:#49239d;--deep:#271544;--lime:#deff88;--orange:#ff784f;--paper:#fffcf5;--pink:#f7e9ff;--muted:#635b70;--line:#e7e0ef;--heading:Fredoka,'Trebuchet MS',sans-serif;--body:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--deep);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a,button{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #da693d;outline-offset:5px}button{cursor:pointer}h1,h2,h3,h4,.display{font-family:var(--heading);font-weight:550;line-height:1.04;letter-spacing:-.035em}h1,h2,h3,h4,p,figure{margin:0}p+p{margin-top:1em}h2{font-size:clamp(2.6rem,4.6vw,4.3rem)}h3{font-size:2rem}strong{font-weight:700}::selection{background:var(--lime);color:var(--deep)}.skip-link{position:fixed;left:20px;top:-100px;background:#fff;z-index:999;padding:12px}.skip-link:focus{top:10px}.shell{max-width:1320px;margin-inline:auto;padding-inline:48px}.site-header{position:sticky;top:0;background:rgba(255,252,245,.96);backdrop-filter:blur(16px);z-index:50;border-bottom:1px solid rgba(73,35,157,.1)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:96px}.brand{font-family:var(--heading);font-weight:650;font-size:1.8rem;line-height:.95;letter-spacing:-.045em;display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;color:var(--purple)}.brand span span{display:block}.brand-symbol{width:48px;height:48px;flex-shrink:0}.site-nav ul{display:flex;list-style:none;gap:29px;margin:0;padding:0}.site-nav a{font-size:.92rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:color .2s}.site-nav a:hover{color:var(--purple)}.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:16px;border-radius:100px;padding:16px 27px;background:var(--purple);color:white;border:1px solid transparent;font-size:1rem;font-weight:700;text-decoration:none;line-height:1.25;box-shadow:none;transition:transform .2s,background .2s}.button:hover,.wp-block-button__link:hover{transform:translateY(-3px);background:#351577;color:white}.header-cta{padding:13px 22px;font-size:.9rem}.menu-toggle{display:none;background:none;border:0;padding:8px;color:var(--purple)}.menu-toggle svg{width:28px;height:28px}.ww-hero{position:relative;background:var(--purple);color:white;border-radius:32px;margin:24px auto 0;padding:65px 58px 48px;max-width:1360px;isolation:isolate;overflow:hidden}.ww-hero:after{content:'';position:absolute;width:600px;height:600px;border:1px solid #ffffff12;border-radius:50%;right:-70px;top:-100px;z-index:-1}.ww-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:34px}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;line-height:1.5}.ww-hero .eyebrow{color:var(--lime);margin-bottom:25px}.hero-title{font-size:clamp(3.6rem,5.8vw,5.8rem);line-height:.96;letter-spacing:-.047em;font-weight:500;max-width:660px}.hero-title em{font-style:normal;color:var(--lime)}.hero-copy{font-size:1.075rem;max-width:400px;margin-top:26px;color:#ede7fc;line-height:1.7}.wp-block-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:13px;margin-top:28px}.ww-hero .wp-block-button__link{background:var(--lime);color:var(--deep)}.ww-hero .wp-block-button__link:hover{background:white}.is-style-outline .wp-block-button__link{border:1px solid currentColor;background:transparent!important;color:inherit}.ww-hero .is-style-outline .wp-block-button__link{color:white}.hero-note{font-size:.8rem;color:#ddd2f5;margin-top:24px!important;display:flex;align-items:center;gap:8px}.hero-note:before{content:'✦';color:var(--lime)}.hero-visual{position:relative;padding:8px 0 25px 10px}.hero-portrait{transform:rotate(3deg);overflow:hidden;border:9px solid #fffaf2;border-radius:160px 160px 28px 28px;background:#fffaf2;box-shadow:0 22px 50px #19083838}.hero-portrait img{width:100%;height:430px;object-fit:cover;object-position:53% center}.hero-sticker{position:absolute;right:-13px;bottom:0;background:var(--orange);color:var(--deep);font-family:var(--heading);font-size:1.35rem;font-weight:550;line-height:1.1;transform:rotate(-9deg);width:137px;height:137px;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:50%;box-shadow:0 8px 0 #2d125329}.portrait-caption{position:absolute;left:-4px;bottom:27px;transform:rotate(-4deg);background:var(--paper);color:var(--deep);padding:9px 19px;border-radius:7px;font-size:.85rem;font-weight:700}.hero-bottom{border-top:1px solid #ffffff2d;margin-top:51px;padding-top:25px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.8rem;color:#eee6ff}.hero-bottom p+p{margin:0}.hero-bottom .scroll-cue{color:var(--lime)}.occasion-ribbon{overflow:hidden;border-bottom:1px solid var(--line);padding:26px 0;font-family:var(--heading);font-size:1.3rem;font-weight:500;color:var(--purple);display:flex;justify-content:center;flex-wrap:wrap;gap:16px 28px}.occasion-ribbon p+p{margin:0}.occasion-ribbon p:before{content:'✳';color:var(--orange);margin-right:28px}.section{max-width:1320px;margin:auto;padding:100px 48px}.section .eyebrow{color:var(--purple);margin-bottom:17px}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:55px;margin-bottom:45px}.section-heading p{color:var(--muted);max-width:400px}.programs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.program{border-radius:24px;overflow:hidden;background:#f0eafb;display:flex;flex-direction:column;transition:transform .2s}.program:hover{transform:translateY(-5px)}.program:nth-child(2){background:#eaf2db}.program:nth-child(3){background:#ffe8dc}.program-image{overflow:hidden}.program-image img{width:100%;height:242px;object-fit:cover;transition:transform .5s}.program:hover img{transform:scale(1.045)}.program:nth-child(1) img{object-position:center 40%}.program:nth-child(3) img{object-position:center 24%}.program-copy{padding:28px 29px 32px;display:flex;flex-direction:column;flex:1}.program-number{font-family:var(--heading);font-size:.9rem;font-weight:500;color:var(--purple);margin-bottom:13px}.program h3{font-size:2.2rem;margin-bottom:18px}.program-copy>p:not(.program-number):not(.program-meta){font-size:.98rem;color:#51455d;margin-top:0}.program-meta{border-top:1px solid #2715441c;padding-top:17px;font-size:.8rem;font-weight:600;margin-top:25px!important}.program .wp-block-buttons{margin-top:auto;padding-top:23px}.program .wp-block-button__link{background:none;color:var(--purple);padding:0;border-radius:0;font-size:.92rem}.program .wp-block-button__link:hover{transform:none;text-decoration:underline}.about-section{background:var(--lime);position:relative}.about-inner{display:grid;grid-template-columns:1fr 1.03fr;gap:100px;align-items:center}.about-photo{position:relative;transform:rotate(-3deg)}.about-photo figure{border-radius:28px;overflow:hidden;border:8px solid var(--paper)}.about-photo img{width:100%;height:470px;object-fit:cover}.photo-label{position:absolute;right:-18px;bottom:25px;background:var(--purple);color:white;padding:15px 25px;font-family:var(--heading);font-size:1.5rem;transform:rotate(6deg);border-radius:10px}.about-copy h2{margin-bottom:26px}.about-copy>p:not(.eyebrow){color:#3c4330;font-size:1.025rem}.about-line{font-family:var(--heading);font-size:1.65rem!important;line-height:1.2;margin-top:26px!important;color:var(--purple)!important}.gallery-section{padding-bottom:85px}.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr 1fr;gap:18px;align-items:center}.gallery-grid figure{border-radius:20px;overflow:hidden;background:#f0eafb}.gallery-grid figure:nth-child(2){transform:rotate(3deg)}.gallery-grid figure:nth-child(4){transform:rotate(-3deg)}.gallery-grid img{height:285px;width:100%;object-fit:cover;transition:transform .4s}.gallery-grid figure:nth-child(2) img,.gallery-grid figure:nth-child(4) img{height:340px;object-fit:contain;background:#f2efeb}.gallery-grid a:hover img{transform:scale(1.04)}.gallery-hint{font-size:.8rem;color:var(--muted);margin-top:21px;text-align:right}.press-section{background:#f1eafb;padding-top:90px;padding-bottom:90px}.press-section .section{padding-top:0;padding-bottom:0}.press-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.press-card{padding:32px;border:1px solid #d4c7e9;border-radius:19px;background:#fffcf578}.press-card .eyebrow{font-size:.72rem;letter-spacing:.09em;margin-bottom:18px}.press-card h3{font-size:2rem;margin-bottom:17px;max-width:420px}.press-card>p{font-size:.97rem;color:var(--muted)}.press-card .wp-block-button__link{background:none;color:var(--purple);padding:0;border-radius:0;font-size:.9rem}.faq-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-copy p{margin-top:22px;color:var(--muted);max-width:350px}.wp-block-details{border-bottom:1px solid var(--line);padding:24px 0}.wp-block-details:first-child{border-top:1px solid var(--line)}.wp-block-details summary{font-weight:700;cursor:pointer;list-style:none;position:relative;padding-right:40px}.wp-block-details summary::-webkit-details-marker{display:none}.wp-block-details summary:after{content:'+';font-size:1.7rem;color:var(--purple);position:absolute;right:2px;top:-9px;font-weight:400}.wp-block-details[open] summary:after{content:'−'}.wp-block-details>p{color:var(--muted);font-size:.95rem;margin-top:15px}.contact-section{max-width:1360px;margin:0 auto 25px;background:var(--purple);color:white;padding:65px 65px 60px;border-radius:32px;display:grid;grid-template-columns:1fr 1fr;gap:85px}.contact-section .eyebrow{color:var(--lime);margin-bottom:20px}.contact-section h2{font-size:clamp(3rem,4.5vw,4.5rem);margin-bottom:26px}.contact-section h2 em{font-style:normal;color:var(--lime)}.contact-copy>p:not(.eyebrow){color:#e4d9f8;max-width:385px}.contact-links{margin-top:30px;display:flex;flex-direction:column;gap:7px}.contact-links a{font-family:var(--heading);font-size:1.65rem;text-decoration:none}.contact-links a:hover{color:var(--lime)}.contact-links p+p{margin:0}.contact-address{font-size:.86rem!important;line-height:1.8;margin-top:28px!important}.request-form{background:var(--paper);border-radius:22px;padding:32px;color:var(--deep)}.request-form h3{font-size:1.9rem;margin-bottom:8px}.request-form>p{font-size:.87rem;color:var(--muted);margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field label{display:block;font-size:.82rem;font-weight:700;margin-bottom:6px}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;border:1px solid #d7cde0;border-radius:9px;background:white;padding:12px 10px;color:var(--deep);font-size:16px;min-width:0}.field textarea{resize:vertical;min-height:80px}.request-form button{width:100%;margin-top:21px;background:var(--orange);color:var(--deep)}.request-form button:hover{background:#ef6840}.form-help{font-size:.75rem!important;line-height:1.5;margin-top:15px!important;margin-bottom:0!important}.form-result{margin-top:18px}.form-result textarea{width:100%;height:170px;background:white;color:var(--deep);border:1px solid var(--line);font-size:14px}.site-footer{padding-top:38px;padding-bottom:38px;display:flex;align-items:center;justify-content:space-between;gap:28px}.footer-copy{font-size:.78rem;color:var(--muted)}.footer-links{display:flex;gap:24px;font-size:.8rem}.site-footer .brand{font-size:1.55rem}.site-footer .brand-symbol{width:40px}.content-page{max-width:850px;margin:60px auto 100px;padding:0 28px}.content-page h1{font-size:clamp(3rem,7vw,5rem);margin-bottom:42px}.content-page h2{font-size:2rem;margin-top:35px;margin-bottom:18px}.content-page h3{font-size:1.5rem;margin-top:22px;margin-bottom:12px}.content-page p{margin-bottom:17px}.content-page ul{padding-left:20px}.lightbox{border:0;padding:0;background:transparent;color:white;width:min(980px,94vw);max-width:94vw;overflow:visible}.lightbox::backdrop{background:#140e26eb;backdrop-filter:blur(7px)}.lightbox img{max-height:80vh;max-width:100%;width:auto;margin:auto;border-radius:12px;object-fit:contain}.lightbox-close{position:absolute;right:0;top:-49px;border:1px solid #ffffff66;background:#271544;color:white;border-radius:50%;height:40px;width:40px;font-size:26px}.lightbox-caption{text-align:center;margin:14px 0;font-size:.9rem}.back-top{position:fixed;right:23px;bottom:23px;background:var(--paper);color:var(--purple);border:1px solid var(--line);border-radius:50%;width:45px;height:45px;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 5px 20px #26103d18;z-index:30}.admin-bar .site-header{top:32px}.editor-styles-wrapper{font-family:var(--body);color:var(--deep);background:var(--paper)}.editor-styles-wrapper .wp-block{max-width:1200px}.editor-styles-wrapper .wp-block-button__link{cursor:text}
@media(min-width:1500px){.ww-hero,.contact-section{max-width:1360px}.hero-portrait img{height:465px}}
@media(max-width:1200px){.ww-hero,.contact-section{margin-left:22px;margin-right:22px}.ww-hero{padding:50px 40px 35px}.hero-title{font-size:6.8vw}.hero-portrait img{height:390px}.site-nav ul{gap:19px}.shell{padding-inline:30px}.section{padding:80px 36px}.about-inner{gap:65px}.contact-section{gap:45px;padding:50px 40px}.hero-sticker{right:-12px}.hero-bottom{font-size:.75rem}.header-inner{gap:15px}.header-cta{padding:13px 16px}.section-heading{gap:30px}}
@media(max-width:980px){.header-inner{min-height:82px}.site-nav{display:none;position:fixed;top:82px;left:0;right:0;height:calc(100dvh - 82px);background:var(--paper);padding:40px 30px}.site-nav.open{display:block}.site-nav ul{flex-direction:column;gap:24px}.site-nav a{font-family:var(--heading);font-size:2.1rem}.menu-toggle{display:block}.header-cta{margin-left:auto}.brand{font-size:1.55rem}.brand-symbol{width:42px}.hero-portrait img{height:350px}.hero-sticker{width:115px;height:115px;font-size:1.15rem}.ww-hero{padding:46px 30px 30px}.hero-copy{font-size:1rem}.ww-hero .wp-block-buttons{gap:14px}.ww-hero .wp-block-button__link{font-size:.9rem;padding:14px 21px}.hero-bottom{margin-top:40px;flex-wrap:wrap;justify-content:center}.hero-bottom .scroll-cue{display:none}.programs{gap:15px}.program-copy{padding:24px 20px}.program h3{font-size:1.8rem}.program-image img{height:190px}.about-inner{gap:42px}.about-photo img{height:390px}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:12px}.gallery-grid img{height:220px}.gallery-grid figure:nth-child(2) img,.gallery-grid figure:nth-child(4) img{height:260px}.faq-inner{gap:35px;grid-template-columns:1fr 1.2fr}.contact-section{gap:30px;padding:45px 30px}.request-form{padding:25px}.site-footer{flex-wrap:wrap}.footer-copy{order:3;width:100%;text-align:center}.admin-bar .site-nav{top:114px}}
@media(max-width:720px){html{scroll-padding-top:95px}.shell{padding-inline:22px}.header-inner{min-height:76px}.header-cta{font-size:.79rem;padding:11px 16px}.brand{font-size:1.35rem;gap:6px}.brand-symbol{width:37px;height:37px}.site-nav{top:76px;height:calc(100dvh - 76px)}.ww-hero{margin:12px 12px 0;border-radius:23px;padding:39px 25px 26px}.ww-hero-grid{grid-template-columns:1fr;gap:32px}.ww-hero .eyebrow{font-size:.7rem;letter-spacing:.1em;margin-bottom:21px}.hero-title{font-size:clamp(3.5rem,13vw,5.8rem);max-width:540px}.hero-copy{font-size:1rem;max-width:450px;margin-top:22px}.hero-visual{width:100%;max-width:430px;justify-self:center;padding:6px 15px 19px}.hero-portrait{border-width:7px;border-radius:140px 140px 22px 22px;transform:rotate(2deg)}.hero-portrait img{height:360px;object-position:50% 50%}.hero-sticker{right:0;bottom:7px}.portrait-caption{left:0;bottom:23px;font-size:.78rem}.hero-note{margin-top:20px!important}.hero-bottom{margin-top:25px;padding-top:21px;gap:8px 18px;font-size:.72rem}.occasion-ribbon{padding:22px 18px;font-size:1.1rem;gap:8px 20px}.occasion-ribbon p:before{margin-right:15px}.section{padding:66px 24px}.section-heading{grid-template-columns:1fr;gap:21px;margin-bottom:30px}.section h2{font-size:2.8rem}.section .eyebrow{font-size:.72rem}.programs{grid-template-columns:1fr;gap:22px}.program-image img{height:245px}.program h3{font-size:2.2rem}.program-copy{padding:25px 27px}.about-inner{grid-template-columns:1fr;gap:46px}.about-photo{max-width:450px;margin:0 auto}.about-photo img{height:390px}.about-copy{max-width:500px}.gallery-grid{grid-template-columns:1fr 1fr;gap:15px}.gallery-grid img{height:230px}.gallery-grid figure:nth-child(2) img,.gallery-grid figure:nth-child(4) img{height:270px}.gallery-grid figure:nth-child(4){transform:rotate(-2deg)}.press-section{padding-top:65px;padding-bottom:65px}.press-grid{grid-template-columns:1fr;gap:18px}.press-card{padding:27px}.faq-inner{grid-template-columns:1fr;gap:35px}.faq-copy p{max-width:none}.contact-section{margin:0 12px 15px;border-radius:23px;padding:42px 25px;grid-template-columns:1fr;gap:35px}.contact-section h2{font-size:3.5rem}.contact-copy>p:not(.eyebrow){max-width:480px}.contact-address{margin-top:23px!important}.request-form{padding:26px 22px}.site-footer{gap:24px;padding-top:27px;padding-bottom:30px}.footer-links{font-size:.76rem;gap:15px}.site-footer .brand{font-size:1.3rem}.site-footer .brand-symbol{width:32px}.footer-copy{font-size:.72rem;text-align:left}.back-top{right:12px;bottom:12px;width:39px;height:39px}.admin-bar .site-header{top:46px}.admin-bar .site-nav{top:122px}.content-page{margin-top:40px}}
@media(max-width:380px){.header-cta{padding:10px 12px}.header-inner{gap:8px}.shell{padding-inline:15px}.hero-title{font-size:3.25rem}.hero-portrait img{height:290px}.ww-hero .wp-block-buttons{align-items:stretch;flex-direction:column}.wp-block-button__link{width:100%}.hero-sticker{width:99px;height:99px;font-size:1rem}.hero-bottom p{font-size:.68rem}.form-grid{grid-template-columns:1fr}.field{grid-column:1/-1}.gallery-grid img{height:195px}.gallery-grid figure:nth-child(2) img,.gallery-grid figure:nth-child(4) img{height:230px}.site-footer{align-items:flex-start}.footer-links{flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.request-form button:disabled{opacity:.5;cursor:not-allowed}.content-page .wp-block-image img{border-radius:20px;margin:25px auto;max-height:520px;width:auto}

/* Documented client recommendations and press excerpts. */
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.review-card{display:flex;flex-direction:column;min-width:0;padding:33px 30px 29px;border-radius:23px;background:var(--paper);border:1px solid #d9cbed}
.review-card-featured{grid-column:span 2;background:var(--purple);color:white;border-color:var(--purple)}
.review-card>.eyebrow{font-size:.69rem;letter-spacing:.12em;margin-bottom:20px}
.review-card-featured>.eyebrow{color:var(--lime)}
.review-card .review-quote{border:0;padding:0;margin:0 0 23px;font-family:var(--heading);font-size:1.7rem;line-height:1.17;font-weight:500;letter-spacing:-.025em}
.review-card .review-quote p{margin:0}
.review-card-featured .review-quote{font-size:clamp(2rem,3.2vw,3.1rem);max-width:650px;color:var(--lime)}
.review-card .review-summary{font-size:.94rem;line-height:1.7;color:var(--muted);margin:0 0 28px;max-width:680px}
.review-card-featured .review-summary{color:#e8defb;font-size:1rem}
.review-source{margin-top:auto;padding-top:21px;border-top:1px solid #d9cbed}
.review-card-featured .review-source{border-color:#ffffff40}
.review-author{font-size:.88rem;line-height:1.45}
.review-source .wp-block-buttons{margin-top:12px}
.review-source .wp-block-button__link{padding:0;background:none;color:var(--purple);border-radius:0;font-size:.8rem;font-weight:600;line-height:1.5;text-align:left;justify-content:flex-start}
.review-card-featured .wp-block-button__link{color:var(--lime)}
.review-source .wp-block-button__link:hover{background:none;color:var(--deep);transform:none;text-decoration:underline}
.review-card-featured .wp-block-button__link:hover{color:white}
.review-evidence-note{font-size:.79rem;line-height:1.7;color:var(--muted);margin-top:25px}
.review-archive{margin-top:30px;border-top:1px solid #d4c7e9!important;border-bottom:0;padding-bottom:0}
.review-archive .press-grid{margin-top:25px}
@media(max-width:1000px){.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-card-featured{grid-column:span 2}.review-card{padding:28px 25px}}
@media(max-width:720px){.reviews-grid{grid-template-columns:1fr;gap:18px}.review-card-featured{grid-column:auto}.review-card{padding:29px 25px}.review-card-featured .review-quote{font-size:2.1rem}.review-card .review-summary{font-size:.95rem}.review-evidence-note{font-size:.75rem}.review-source .wp-block-button__link{width:auto}.review-archive summary{font-size:.91rem}}
