
:root {
  --terra:    oklch(52% 0.19 35);
  --terra-dk: oklch(38% 0.17 33);
  --olive:    oklch(30% 0.07 135);
  --olive-lt: oklch(40% 0.09 135);
  --cream:    oklch(97% 0.016 80);
  --sand:     oklch(93% 0.025 75);
  --charcoal: oklch(17% 0.012 60);
  --gold:     rgb(238, 162, 48);
  --success:  oklch(52% 0.14 155);
  --error: oklch(48% 0.18 25);
  --white:    #fffcf7;
  --r-sm: 8px; --r-md: 14px; --r-lg: 24px;
  --shadow: 0 4px 24px oklch(17% 0.012 60 / .12);
  --shadow-lg: 0 16px 56px oklch(17% 0.012 60 / .16);
  --ff-display: 'Playfair Display', Georgia, serif;
  --ff-body: 'DM Sans', system-ui, sans-serif;
  --knp-width: 1260px;
  --step-anim: .38s cubic-bezier(.4,0,.2,1);
}
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{appearance:none;border-radius:0}input[type="search"]{appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}
body {font-family: var(--ff-body);}
p {margin:10px 0;}
a {text-decoration: none;color: #000;}
.flatpickr-day.today {border-color: #00b7ff;}
.flatpickr-day {border-radius: 12px;margin: 0 0 5px;}
.flatpickr-day.is-free {background: #fff;}
.flatpickr-day.is-blocked {background: #f3b3b3; color: #8a1f1f; border-color: #e09a9a; }
.flatpickr-day.is-partial-from.nextMonthDay, .flatpickr-day.is-partial-from, .flatpickr-day.flatpickr-disabled.is-partial-from, .flatpickr-day.flatpickr-disabled.is-partial-from:hover, .flatpickr-day.is-partial-from.is-nolief, .flatpickr-day.is-partial-from.is-nolief:hover {background: linear-gradient(to bottom right, #fff0 50%, #f3b3b3 50%); border-color: #e09a9a;background-size:102%; }
.flatpickr-day.is-partial-until, .flatpickr-day.is-partial-until.is-nolief, .flatpickr-day.is-partial-until.is-nolief:hover, .flatpickr-day.prevMonthDay.is-partial-until:hover, .flatpickr-day.is-partial-until.nextMonthDay:hover,
.flatpickr-day.flatpickr-disabled.is-partial-until, .flatpickr-day.flatpickr-disabled.is-partial-until:hover {background: linear-gradient(to bottom right, #f3b3b3 50%, #fff0 50%); border-color: #e09a9a;background-size:102%; }
.flatpickr-day.flatpickr-disabled.is-partial-from, .flatpickr-day.flatpickr-disabled.is-partial-until, .flatpickr-day.flatpickr-disabled.is-partial-from:hover, .flatpickr-day.flatpickr-disabled.is-partial-until:hover {background: transparent;border: none;}
.flatpickr-day.is-partial-mixed {background: linear-gradient(to right, #f3b3b3 50%, #fff0 50%); border-color: #e09a9a; }
.flatpickr-day.flatpickr-disabled.is-blocked, .flatpickr-day.flatpickr-disabled.is-blocked:hover {background: transparent; color: rgba(57,57,57,0.1); border-color: transparent; }
.flatpickr-day.flatpickr-disabled.is-partial-from {border-color: #e09a9a; }
.flatpickr-day.selected.is-free, .flatpickr-day.selected.is-partial-until, .flatpickr-day.selected.is-partial-from, .flatpickr-day.is-blocked.selected, .flatpickr-day.is-blocked.selected:hover,
.flatpickr-day.is-partial-until.selected.nextMonthDay:hover {color:#fff;background: var(--kk-red);border-color:var(--kk-red);}
.flatpickr-day.is-gesperrt {background: repeating-linear-gradient(135deg, #e8e8e8, #e8e8e8 3px, #f5f5f5 3px, #f5f5f5 8px);color: #bbb;border-color: #ddd;position: relative;}
.flatpickr-day.is-gesperrt:hover {background: repeating-linear-gradient(135deg, #ddd, #ddd 3px, #eee 3px, #eee 8px);}
body:not(.home )#content {margin: 10px;}
#content h1.entry-title {font-size: 24px;font-weight: bold;}
#booking-calendar {display: none;}
.staedte-liste {background: #f4f4f4;padding: 10px;}
.stadt-item {background: rgba(0,0,0,.1);margin: 10px;padding: 10px;}
.pac-logo::after {display: none;}
.display { font-family: var(--ff-display); line-height: 1.05; }
.eyebrow { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .7; }
.tag { display: inline-block; padding:7px 10px 5px; border: 1.5px solid currentColor; border-radius: 100px; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.container { width: min(100%, var(--knp-width)); margin-inline: auto; padding-inline: 20px; }
.section { padding-block: 72px; }
.section-hd { margin-bottom: 40px; }
.section-hd h2 { font-family: var(--ff-display); font-size: clamp(1.6rem, 5vw, 2.5rem); line-height: 1.15; }
.section-hd .eyebrow { margin-bottom: 8px; color: var(--terra); }
.btn { display: inline-flex; align-items: center; gap: .45em; padding: .85em 1.6em; border-radius: var(--r-md); font-weight: 700; font-size: .95rem; letter-spacing: .02em; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; white-space: nowrap; border: none; cursor: pointer; }
.btn:active { transform: scale(.97); }
.btn--primary { background: var(--terra); color: #fff; box-shadow: 0 4px 20px oklch(52% 0.19 35 / .35); }
.btn--primary:hover { background: var(--terra-dk); box-shadow: 0 8px 28px oklch(52% 0.19 35 / .45); transform: translateY(-2px); }
.btn--olive { background: var(--olive); color: #fff; box-shadow: 0 4px 20px oklch(30% 0.07 135 / .3); }
.btn--olive:hover { background: var(--olive-lt); transform: translateY(-2px); }
.btn--cream:hover {transform: translateY(-2px); }
.btn--ghost { background: oklch(100% 0 0 / .15); color: #fff;  }
.btn--ghost:hover { background: oklch(100% 0 0 / .28); }
.btn--wa { background: #25D366; color: #fff; box-shadow: 0 4px 20px #25D36640; }
.btn--wa:hover { background: #1dba57; transform: translateY(-2px); }
.btn--lg { padding: 1em 2em; font-size: 1.05rem; }
.btn--full { width: 100%; justify-content: center; }
#nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; transition: background .3s, box-shadow .3s; }
#nav.scrolled { background: var(--white); box-shadow: 0 2px 16px oklch(17% 0.012 60 / .1); }
.nav-inner { display: flex; align-items: center; justify-content: space-between; height: 64px; padding-inline: 20px; max-width: var(--knp-width); margin-inline: auto; }
.logo { display: flex; align-items: center; gap: 10px; font-family: var(--ff-display); font-weight: 900; font-size: 1.15rem; color: var(--terra); letter-spacing: .02em; }
body.home .logo-icon {width: 140px; height: 90px; background: url('/media/Knusperkiste-Logo-white.png') no-repeat top left / auto 100%; text-indent: -9999px; transition: all .2s; transform: translateY(20px); }
#nav.scrolled .logo-icon {width: 80px; height: 50px;background: url('/media/Knusperkiste-Logo.png') no-repeat top left / auto 100%;transform: translateY(0px);}
body:not(.home) .logo-icon {width: 70px; height: 40px; background: url('/media/Knusperkiste-Logo.png') no-repeat top left / auto 100%; transform: translateY(0px); text-indent: -9999px; }
.nav-links { display: flex; gap: 28px; font-size: .88rem; font-weight: 500; }
.nav-links a { transition: opacity .18s;color:#fff; }
.scrolled .nav-links a {color: #000;}
.nav-links a:hover { opacity: 1; }
.nav-actions { display: none; gap: 10px; align-items: center; }
.hamburger { display: flex; flex-direction: column; gap: 5px; background: none; padding: 4px; border: none; cursor: pointer; }
.hamburger span { display: block; width: 24px; height: 2px; background: #fff; border-radius: 2px; transition: .3s; }
.scrolled .hamburger span {background:var(--charcoal);}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.nav-drawer { position: fixed; top: 64px; left: 0; right: 0; bottom: 0; background: var(--white); z-index: 99; padding: 32px 20px; display: flex; flex-direction: column; gap: 8px; transform: translateX(100%); transition: transform .35s cubic-bezier(.4,0,.2,1); }
.nav-drawer.open { transform: none; }
.nav-drawer a { font-size: 1.25rem; font-weight: 600; padding: 12px 0; border-bottom: 1px solid var(--sand); display: block;text-align:right; }
.nav-drawer .drawer-btns { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; }
#hero { min-height: 100svh; position: relative; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 95px; padding-top: 64px; overflow: hidden; }
.hero-bg {position: absolute;inset: 0;background: linear-gradient(175deg, rgba(2, 2, 1, 0.83) 0%, rgba(189, 41, 0, 0.16) 60%, rgba(19, 14, 10, 0.83) 100%);}
.hero-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:-1;}
.hero-img { position: absolute; inset: 0; z-index: -1; background: linear-gradient(160deg, oklch(55% 0.10 55) 0%, oklch(35% 0.08 40) 100%); }
.hero-img img { width: 100%; height: 100%; object-fit: cover; }
.hero-img-placeholder {position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient( -45deg, oklch(73% 0.13 74 / .12) 0px, oklch(73% 0.13 74 / .12) 2px, oklch(52% 0.19 35 / .06) 2px, oklch(52% 0.19 35 / .06) 28px ), linear-gradient(160deg, oklch(55% 0.10 55) 0%, oklch(35% 0.08 40) 100%); font-family: monospace; display: flex; align-items: center; justify-content: center; color: oklch(80% 0.04 70 / .5); font-size: .75rem; letter-spacing: .08em;}
.hero-img-placeholder::after {content: 'HERO PHOTO — Friends around pizza oven, warm golden hour';}
.hero-content { position: relative; z-index: 1; padding-inline: 20px; max-width: 880px; }
.hero-tag { color: var(--gold); border-color: var(--gold); margin-bottom: 16px; }
.hero-h1 { color: #fff; font-size: clamp(2.6rem, 10vw, 5.5rem); }
.hero-sub { color: oklch(97% 0.016 80 / .85); font-size: 16px;line-height: 20px; margin-top: 12px; margin-bottom: 28px; max-width: 480px; }
.hero-badges { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 32px; }
.hero-badge { display: flex; align-items: center; gap: 8px; color: #fff; font-size: .82rem; font-weight: 600; }
.hero-badge-icon { font-size: 1rem; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.hero-hint { color: oklch(97% 0.016 80 / .65); font-size: .78rem; margin-top: 12px; display: flex; align-items: center; gap: 6px;margin-left:10px; }
.hero-quote { position: absolute; top: 100px; right: 20px; z-index: 2; text-align: right; color: #fff; font-family: var(--ff-display); font-style: italic; font-size: clamp(.85rem, 2.5vw, 1.1rem); line-height: 1.4; text-shadow: 0 2px 8px oklch(17% 0 0 / .4); display: none; }
.hero-quote::after { content: '♡'; display: block; margin-top: 4px; color: var(--terra); font-style: normal; }
#problem { background: var(--sand); }
.problem-grid { display: grid; gap: 20px; grid-template-columns: 1fr; }
.problem-card { background: var(--white); border-radius: var(--r-lg); padding: 28px 24px; text-align: center; border: 1px solid oklch(17% 0.012 60 / .06); transition: transform .2s, box-shadow .2s; }
.problem-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.problem-icon { font-size: 2.2rem; margin-bottom: 12px; }
.problem-title { font-weight: 700; font-size: .95rem; margin-bottom: 6px; }
.problem-desc { font-size: .84rem; opacity: .65; line-height: 1.5; }
.problem-solution { background: var(--olive); color: #fff; border-radius: var(--r-lg); padding: 36px 28px; }
.problem-solution .eyebrow { color: var(--gold); opacity: 1; margin-bottom: 10px; }
.problem-solution h2 { font-family: var(--ff-display); font-size: clamp(1.5rem, 5vw, 2.2rem); line-height: 1.15; margin-bottom: 16px; }
.problem-solution p { opacity: .85; font-size: .95rem; line-height: 1.65; }
.solution-img {border-radius: var(--r-lg); overflow: hidden; margin-top: 24px; height: 300px; display: flex; align-items: center; justify-content: center; font-family: monospace; color: oklch(80% 0.04 70 / .5); font-size: .7rem; text-align: center; }
#atmosphere { position: relative; min-height: 580px; display: flex; align-items: center; overflow: hidden; }
.atmo-bg {position: absolute; inset: 0; z-index: 0; background: repeating-linear-gradient(-60deg, oklch(52% 0.09 55 / .18) 0px, oklch(52% 0.09 55 / .18) 2px, transparent 2px, transparent 32px), linear-gradient(135deg, oklch(30% 0.07 135) 0%, oklch(20% 0.04 60) 100%); display: flex; align-items: center; justify-content: center; font-family: monospace; font-size: .7rem; color: oklch(70% 0.04 70 / .35); letter-spacing: .08em; }
.atmo-bg::after {content: 'PHOTO — Group dinner, outdoor setting, festive lights';}
.atmo-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(100deg, oklch(17% 0.012 60 / .8) 0%, oklch(17% 0.012 60 / .35) 70%); }
.atmo-content { position: relative; z-index: 2; padding: 72px 20px; max-width: 800px; }
.atmo-content h2 { font-family: var(--ff-display); font-weight: 900; font-style: italic; color: #fff; font-size: clamp(1.8rem, 7vw, 3.5rem); line-height: 1.1; margin-bottom: 24px; }
.atmo-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 28px; }
.atmo-list li { color: oklch(97% 0.016 80 / .85); font-size: .95rem; display: flex; align-items: center; gap: 10px; }
.atmo-list li::before { content: '—'; color: var(--terra); font-weight: 700; }
.atmo-pill { display: inline-flex; align-items: center; gap: 8px; background: var(--terra); color: #fff; padding: .6em 1.2em; border-radius: 100px; font-size: .85rem; font-weight: 700; }
#how { background: var(--cream); }
.steps { display: grid; gap: 32px; grid-template-columns: 1fr; }
.step { display: flex; gap: 20px; align-items: flex-start; }
.step-num { flex-shrink: 0; width: 52px; height: 52px;text-align: center; background: var(--terra); color: #fff; border-radius: 50%;line-height: 44px;font-family: var(--ff-display); font-weight: 900; font-size: 1.3rem; }
.step-text h3 { font-weight: 700; font-size: 1.05rem; margin-bottom: 6px; }
.step-text p { font-size: .88rem; opacity: .7; line-height: 1.55; }
.how-note { margin-top: 40px; padding: 20px 24px; background: oklch(30% 0.07 135 / .07); border-radius: var(--r-md); border-left: 4px solid var(--olive); font-size: .9rem; font-style: italic; color: var(--olive-lt); }
.packages-eyebrow { text-align: center; margin-bottom: 40px; }
.packages-eyebrow h2 { font-family: var(--ff-display); font-size: clamp(1.6rem, 5vw, 2.6rem); }
.packages-eyebrow .tag { margin-bottom: 10px; border-color: var(--terra); color: var(--terra); }
.pkg-grid { display: grid; gap: 20px; grid-template-columns: 1fr; }
.pkg-card { border: 2px solid oklch(17% 0.012 60 / .1); border-radius: var(--r-lg); padding: 32px 28px; position: relative; transition: box-shadow .2s, transform .2s;background: var(--cream); }
.pkg-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.pkg-card--featured { border-color: var(--terra); background: var(--terra); color: #fff; }
.pkg-badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); background: var(--gold); color: var(--charcoal); padding:7px 10px 5px; border-radius: 100px; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.pkg-day { font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; opacity: .65; }
.pkg-name { font-family: var(--ff-display); font-size: 1.3rem; font-weight: 900; margin-bottom: 4px; }
.pkg-period { font-size: .8rem; opacity: .6; margin-bottom: 20px; }
.pkg-price { font-family: var(--ff-display); font-size: 3.5rem; font-weight: 900; line-height: 1; margin-bottom: 4px; }
.pkg-currency { font-size: 2rem; }
.pkg-features { margin: 20px 0 24px; display: flex; flex-direction: column; gap: 8px; }
.pkg-features li { font-size: .88rem; display: flex; align-items: center; gap: 10px; }
.pkg-features li::before { content: '✓'; font-weight: 800; color: var(--gold); }
.pkg-card--featured .pkg-features li::before { color: oklch(97% 0 0 / .9); }
#addons { background: var(--white); }
.addons-grid { display: grid; gap: 16px; }
.addon-item { background: var(--cream); border-radius: var(--r-md); padding: 20px; display: flex; gap: 16px; align-items: center; border: 1px solid oklch(17% 0.012 60 / .06); transition: transform .2s, box-shadow .2s; }
.addon-item:hover { transform: translateX(4px); box-shadow: var(--shadow); }
.addon-icon { width: 44px; height: 44px; flex-shrink: 0; background: #fff; border-radius: var(--r-sm); display: grid; place-items: center; font-size: 1.3rem; }
.addon-name { font-weight: 700; margin-bottom: 4px; font-size: .95rem; }
.addon-price { font-size: .82rem; opacity: .65; }
.addon-desc { font-size: .82rem; opacity: .7; margin-top: 2px; line-height: 1.4; }
#info {background: var(--white);}
.included-grid { display: grid; gap: 32px; }
.included-list { display: flex; flex-direction: column; gap: 12px; }
.included-list li { display: flex; align-items: center; gap: 14px; font-size: .95rem; font-weight: 500; }
.included-list li .check { width: 26px; height: 26px; flex-shrink: 0; background: var(--gold); border-radius: 50%; line-height: 28px;text-align: center; font-size: .8rem; font-weight: 900; color: var(--charcoal); }
.included-h { font-family: var(--ff-display); font-size: clamp(1.4rem, 5vw, 2rem); margin-bottom: 8px; }
.included-sub { opacity: .7; font-size: .9rem; margin-bottom: 28px; font-style: italic; }
.included-visual {border-radius: var(--r-lg); overflow: hidden; height: 380px; background: repeating-linear-gradient( -45deg, oklch(73% 0.13 74 / .08) 0px, oklch(73% 0.13 74 / .08) 2px, transparent 2px, transparent 24px), oklch(25% 0.06 50); display: flex; align-items: center; justify-content: center; font-family: monospace; color: oklch(75% 0.04 70 / .4); font-size: .7rem; text-align: center; padding: 24px; }
.included-visual img { width: 100%; height: 100%; object-fit: cover; }
#anlaesse { background: var(--cream); } 
.anlaesse-header { margin-bottom: 44px; } 
.anlaesse-header h2 {font-family: var(--ff-display); font-weight: 900; font-size: clamp(2rem, 6vw, 3.2rem); line-height: 1.1; margin-bottom: 16px; max-width: 700px; } 
.anlaesse-header p:not(.eyebrow) {font-size: .95rem; opacity: .65; max-width: 520px; line-height: 1.65; } 
.anlaesse-grid {display: grid; gap: 24px; grid-template-columns: 1fr; } 
.anlass-card {background: var(--white); border-radius: var(--r-lg); overflow: hidden; border: 1px solid oklch(17% 0.012 60 / .07); transition: transform .22s ease, box-shadow .22s ease; } 
.anlass-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); } 
.anlass-img {width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; background: linear-gradient(135deg, oklch(42% 0.09 45) 0%, oklch(28% 0.06 35) 100%); color: rgba(251, 244, 233, 0.42); font-size: 12px; display: flex; justify-content: center; align-items: center; letter-spacing: 4.2px; text-align: center; text-transform: uppercase; line-height: 17px; padding: 0 20px; }
.anlass-body { padding: 24px 24px 28px; } 
.anlass-body h3 {font-family: var(--ff-display); font-size: 1.35rem; font-weight: 900; margin-bottom: 10px; color: var(--charcoal); } 
.anlass-body p { font-size: .88rem; line-height: 1.65; opacity: .7; } 
.anlass-card img {width: 100%;height: 260px;object-fit: cover;}
@media (min-width: 640px) {
  .anlaesse-grid { grid-template-columns: repeat(3, 1fr); } 
  .anlass-img { aspect-ratio: 3/2; } 
}
.info-list { display: flex; flex-direction: column; gap: 14px; }
.info-item { display: flex; gap: 12px; align-items: center; padding: 16px 20px; background: var(--sand); border-radius: var(--r-md); }
.info-item .fa-badge-check { font-size: 20px; color: var(--success);}
.info-item p { font-size: .88rem; line-height: 1.5; }
.info-item strong { display: block; font-weight: 700; margin-bottom: 2px; }
#cta-final { background: var(--terra); padding-block: 120px; text-align: center; color: #fff; position: relative; overflow: hidden; }
#cta-final::before {content: ''; position: absolute; top: -38%; left: 50%; transform: translateX(-50%); width: 76%; padding-top: 120%; border-radius: 50%; background: oklch(100% 0 0 / .09); filter: blur(50px); }
.cta-final-h { font-family: var(--ff-display); font-weight: 900; font-style: italic; font-size: clamp(2rem, 8vw, 4rem); line-height: 1.1; margin-bottom: 12px; position: relative; }
.cta-final-sub { opacity: .85; font-size: 1rem; position: relative; max-width: 460px; margin-inline: auto; margin-bottom: 36px; }
.cta-final-btns { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; position: relative; }
#footer-landing { background: var(--charcoal); color: oklch(97% 0.016 80 / .65); padding: 60px 20px 20px; }
.footer-inner { max-width: var(--knp-width); margin-inline: auto; }
.footer-top { display: flex; flex-direction: column; gap: 28px; margin-bottom:50px; }
.footer-logo { font-family: var(--ff-display); color: var(--terra); font-size: 1.25rem; font-weight: 900; margin-bottom: 8px; }
.footer-desc { font-size: .84rem; max-width: 280px; line-height: 1.6; }
.footer-links h4 {color: #fff; font-size: 16px; margin-bottom: 19px; font-family: var(--ff-display); }
.footer-links ul { display: flex; flex-direction: column; gap: 8px; }
.footer-links a { font-size: .85rem; transition: color .18s;color:#999; }
.footer-links a:hover { color: #fff; }
.footer-bottom { border-top: 1px solid oklch(100% 0 0 / .08); padding-top: 20px; font-size: .78rem; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; }
.footer-bottom a { transition: color .18s;color:#999; }
.footer-bottom a:hover { color: #fff; }
.footer-links li {padding: 5px 0;}
#trailer { background: var(--charcoal); color: #fff; }
.trailer-grid { display: grid; gap: 48px; }
.trailer-photo {border-radius: var(--r-lg); overflow: hidden;aspect-ratio: 4/3; background: oklch(25% 0.03 60);position: relative;}
.trailer-photo img { width: 100%; height: 100%; object-fit: cover; }
.trailer-photo-label {position: absolute; bottom: 16px; left: 16px; background: oklch(0% 0 0 / .5); color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .08em; padding: .35em .8em; border-radius: 100px; text-transform: uppercase; backdrop-filter: blur(8px); }
.trailer-specs { display: grid; gap: 16px; }
.spec-item {display: grid; grid-template-columns: 48px 1fr; gap: 16px; align-items: start; padding: 20px; background: oklch(100% 0 0 / .05); border-radius: var(--r-md); border: 1px solid oklch(100% 0 0 / .08); transition: background .2s; }
.spec-item:hover { background: oklch(100% 0 0 / .09); }
.spec-icon {width: 48px; height: 48px; background: var(--terra); border-radius: var(--r-sm); display: grid; place-items: center; font-size: 1.25rem; flex-shrink: 0; }
.spec-title { font-weight: 700; font-size: .95rem; margin-bottom: 4px; color: #fff; }
.spec-desc { font-size: .84rem; opacity: .65; line-height: 1.5; }
.trailer-eyebrow { color: var(--gold); opacity: 1; margin-bottom: 8px; }
.trailer-h { font-family: var(--ff-display); font-size: clamp(1.6rem, 5vw, 2.4rem); line-height: 1.1; margin-bottom: 8px; }
.trailer-sub { opacity: .65; font-size: .92rem; margin-bottom: 60px; line-height: 1.6; }
@media (min-width: 768px) {
  .trailer-grid { grid-template-columns: 1fr 1fr; align-items: start; }
  .trailer-specs { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
  .trailer-grid { grid-template-columns: 1fr 1.1fr; gap: 64px; }
}
@media (min-width: 640px) {
  .problem-grid { grid-template-columns: repeat(3, 1fr); }
  .pkg-grid { grid-template-columns: repeat(3, 1fr); }
  .book-grid { grid-template-columns: 1fr 1fr; }
  .addons-grid { grid-template-columns:repeat(3, 1fr); }
  .included-grid { grid-template-columns: 1fr 1fr; align-items: center; }
  .hero-quote { display: block; }
  .steps { grid-template-columns: repeat(3, 1fr); }
  .step { flex-direction: column; text-align: center; }
  .step-num { margin-inline: auto; }
}
@media (min-width: 1024px) {
  .hamburger { display: none; }
  .section { padding-block: 130px; }
  .footer-top { flex-direction: row; justify-content: space-between; }
}
#step-1 .flatpickr-calendar.animate.inline {box-shadow: none; background: transparent; width: 100%; }
#step-1 .flatpickr-innerContainer, #step-1 .flatpickr-rContainer, #step-1 .flatpickr-weekdays, #step-1 .flatpickr-days {width: 100%;}
#step-1 .dayContainer {width: 100%;max-width: 100%;min-width: 100%;}
#step-1 .flatpickr-day {max-width:calc(14.2857143% - 10px);height: 52px;line-height: 52px;margin: 0px 5px 5px;overflow: hidden;}
#step-1 .flatpickr-day.is-free {background: transparent;}
#step-1 .flatpickr-months {margin: 0 0 15px;}
body.single-stadt, body.buchung-bestaetigung { background: var(--cream) ; font-family: var(--ff-body); }
body.single-stadt #header,
body.single-stadt #site-title,
body.single-stadt #site-description,
body.single-stadt #menu,
body.single-stadt #content { margin: 0; padding: 0; }
body.single-stadt #wrapper { background: var(--cream); }
body.single-stadt #container { max-width: none; padding: 0; margin: 0; }
body.single-stadt #content { margin: 0; }
body.single-stadt #footer {margin: 0;padding:20px 0;}
body.single-stadt section.single-stadt {min-height: calc(100vh - 113px);}
.pkg-date-header { font-size: .88rem; font-weight: 600; margin-bottom: 12px; margin-top: 16px; }
.pkg-options { display: grid; gap: 10px; margin-bottom: 4px; }
.pkg-option { padding: 16px 18px; border-radius: var(--r-md); border: 1.5px solid var(--sand); cursor: pointer; display: flex; justify-content: space-between; align-items: center; transition: border-color .18s, background .18s; background: var(--white); }
.pkg-option:hover { border-color: var(--terra); }
.pkg-option.is-active { border-color: var(--terra); background: oklch(52% 0.19 35 / .05); }
.pkg-option-name { font-weight: 700; font-size: .9rem; margin-bottom: 2px; }
.pkg-option-desc { font-size: .75rem; opacity: .6; }
.pkg-option-price { font-family: var(--ff-display); font-weight: 900; font-size: 1.2rem; color: var(--terra); white-space: nowrap; margin-left: 16px; flex-shrink: 0; }
.time-selects-claude { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 4px; }
@media (max-width: 540px) { .time-selects-claude { grid-template-columns: 1fr; } }
.time-selects-claude .field-group { margin-bottom: 0; }
.time-selects-claude .field-group label { display: block; font-size: .8rem; font-weight: 700; margin-bottom: 7px; color: var(--charcoal); }
.field-group-select { width: 100%; padding: 11px 14px; border: 1.5px solid oklch(17% 0.012 60 / .18); border-radius: var(--r-sm); font-size: .9rem; background: var(--white); color: var(--charcoal); appearance: none; -webkit-appearance: none; font-family: var(--ff-body); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px; }
.field-group-select:focus { outline: none; border-color: var(--terra); box-shadow: 0 0 0 3px oklch(52% 0.19 35 / .12); }
.book-layout { max-width: 1200px; margin-inline: auto; padding: 32px 20px 80px; display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 961px) { .book-layout { grid-template-columns: 1fr 340px; align-items: start; gap: 32px; } }
.book-nav {background: var(--white); border-bottom: 1px solid var(--sand); position: sticky; top: 0; z-index: 50; }
.book-nav-inner {max-width: 1200px; margin-inline: auto; padding: 0 20px; height: 60px; display: flex; align-items: center; justify-content: space-between; }
.nav-back { font-size: .82rem; color: var(--charcoal); opacity: .6; display: flex; align-items: center; gap: 6px; transition: opacity .18s; text-decoration: none; }
.nav-back:hover { opacity: 1;}
#price-sidebar .fa-cart-shopping {color: var(--olive-lt);}
.buchung-bestaetigung .book-nav-inner {justify-content: center;}
.hint-item--success strong {font-weight: 600;}
.book-header { margin-bottom: 8px; }
.book-header h1 {font-family: var(--ff-display); font-weight: 900; font-size: clamp(1.6rem, 4vw, 2.2rem); line-height: 1.1; margin-bottom: 6px; }
.book-header p { font-size: .9rem; opacity: .65; }
.anhaenger-section { margin: 30px 0; }
.anhaenger-label { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; opacity: .55; margin-bottom: 12px; display: block; color: var(--terra);}
.anhaenger-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.anhaenger-card { background: var(--white); border: 2px solid var(--sand); border-radius: var(--r-md); padding: 18px; cursor: pointer; text-align: left; transition: border-color .2s, box-shadow .2s, transform .2s; display: flex; flex-direction: column; gap: 6px; width: 100%; }
.anhaenger-card:hover { border-color: var(--terra); transform: translateY(-2px); box-shadow: var(--shadow); }
.anhaenger-card.is-active { border-color: var(--terra); background: oklch(52% 0.19 35 / .04); box-shadow: 0 0 0 4px oklch(52% 0.19 35 / .12); }
.anhaenger-card .card-icon { font-size: 1.6rem; margin-bottom: 4px; }
.anhaenger-card .card-name { font-weight: 800; font-size: 24px;font-family: var(--ff-display); color:#000;}
.anhaenger-card .card-desc { font-size: .78rem; opacity: .6; line-height: 1.4;color:#000; }
.anhaenger-card .card-check {position: absolute; width: 20px; height: 20px; border-radius: 50%; background: var(--terra); color: #fff; display: none; place-items: center; font-size: .7rem; align-self: flex-end; margin-top: auto; }
.anhaenger-card.is-active .card-check { display: grid; }
.steps-container { display: flex; flex-direction: column; gap: 12px; }
.step-card { background: var(--white); border-radius: var(--r-lg); border: 1.5px solid var(--sand); overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.step-card.active { border-color: var(--terra); box-shadow: var(--shadow); }
.step-card.completed { border-color: oklch(52% 0.14 155 / .3); }
.step-card.locked { opacity: .5; pointer-events: none; }
.step-header { display: flex; align-items: center; gap: 14px; padding: 18px 20px; cursor: pointer; user-select: none; }
.step-card.locked .step-header { cursor: default; }
.single-stadt .step-num { width: 36px; height: 36px; flex-shrink: 0; border-radius: 50%; text-align: center;line-height: 32px;font-weight: 800; font-size:16px; background: var(--sand); color: var(--charcoal); transition: background .2s, color .2s; }
.step-card.active .step-num { background: var(--terra); color: #fff; }
.step-card.completed .step-num { background: var(--success); color: #fff; font-size: 1rem; }
.step-header-text { flex: 1; min-width: 0; }
.step-title { font-weight: 700; font-size: .95rem; }
.step-summary-line { font-size: .8rem; opacity: .6; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding:2px 0;}
.step-chevron { width: 28px; height: 28px; display: grid; place-items: center; color: var(--terra); transition: transform .3s ease; flex-shrink: 0; }
.step-card.active .step-chevron { transform: rotate(180deg); }
.step-card.locked .step-chevron { opacity: .3; }
.step-edit-btn { font-size: .75rem; font-weight: 700; color: var(--terra); padding: .25em .7em; border-radius: 100px; border: 1.5px solid var(--terra); transition: background .18s, color .18s; flex-shrink: 0; white-space: nowrap; display: none; background: none; cursor: pointer; }
.step-card.completed .step-edit-btn { display: inline-flex; }
.step-edit-btn:hover { background: var(--terra); color: #fff; }
.step-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--step-anim); }
.step-body.open { grid-template-rows: 1fr; }
.step-body-inner { overflow: hidden; }
.step-body-content { padding: 0 20px 24px; }
.booking-summary { display: none; }
.field-group { margin-bottom: 18px; }
.field-group label { display: block; font-size: .8rem; font-weight: 700; margin-bottom: 7px; color: var(--charcoal); }
.field-group small { display: block; margin-top: 5px; font-size: .75rem; opacity: .6; line-height: 1.4; }
.field-group input[type="text"],
.field-group input[type="email"],
.field-group input[type="tel"],
.field-group input[type="number"],
.field-group input[type="date"],
.field-group select {width: 100%; padding: 11px 14px; border: 1.5px solid oklch(17% 0.012 60 / .18); border-radius: var(--r-sm); font-size: .9rem; background: var(--white); color: var(--charcoal); transition: border-color .18s, box-shadow .18s; appearance: none; -webkit-appearance: none; font-family: var(--ff-body); }
.field-group select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px; }
.field-group input:focus, .field-group select:focus { outline: none; border-color: var(--terra); box-shadow: 0 0 0 3px oklch(52% 0.19 35 / .12); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 480px) { .field-row { grid-template-columns: 1fr; } }
.btn-toggle-group { display: flex; flex-wrap: wrap; gap: 10px; }
.btn-toggle { padding: .7em 1.3em; border-radius: var(--r-md); border: 1.5px solid oklch(17% 0.012 60 / .18); font-size: .88rem; font-weight: 600; background: var(--white); color: var(--charcoal); transition: border-color .18s, background .18s, color .18s; cursor: pointer; font-family: var(--ff-body); }
.btn-toggle:hover { border-color: var(--terra); }
.btn-toggle.is-active { border-color: var(--terra); background: var(--terra); color: #fff; }
.btn-toggle.is-active i {color: var(--cream) !important;}
.checkboxes { display: flex; flex-direction: column; gap: 12px; }
.checkbox-label { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; font-size: .88rem; line-height: 1.5; }
.checkbox-label input[type="checkbox"] { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; accent-color: var(--terra); cursor: pointer; }
#step-card-6 .checkbox-label input[type="checkbox"] {top: 3px;margin:0 5px 0 0;position: relative;}
img.paypal-pp {height: 22px;width: auto;}
.btn-next { margin-top: 8px; padding: .85em 1.8em; background: var(--terra); color: #fff; border-radius: var(--r-md); font-weight: 700; font-size: .95rem; box-shadow: 0 4px 16px oklch(52% 0.19 35 / .3); transition: background .18s, transform .18s; display: inline-flex; align-items: center; gap: 8px; border: none; cursor: pointer; font-family: var(--ff-body); }
.btn-next:hover { background: var(--terra-dk); transform: translateY(-2px); }
.btn-book { width: 100%; padding: 1em 1.8em; background: var(--terra); color: #fff; border-radius: var(--r-md); font-weight: 800; font-size: 1rem; box-shadow: 0 4px 20px oklch(52% 0.19 35 / .35); transition: background .18s, transform .18s; display: flex; align-items: center; justify-content: center; gap: 10px; border: none; cursor: pointer; font-family: var(--ff-body); }
.btn-book:hover { background: var(--terra-dk); transform: translateY(-2px); }
.btn-book:disabled { opacity: .5; pointer-events: none; }
.btn-sm { font-size: .78rem; font-weight: 700; color: var(--terra); text-decoration: underline; background: none; border: none; cursor: pointer; font-family: var(--ff-body); }
#booking-options { margin-bottom: 4px; }
.booking-option { background: var(--white); border: 1.5px solid var(--sand); border-radius: var(--r-md); padding: 16px 18px; margin-bottom: 10px; cursor: pointer; transition: border-color .18s, background .18s; }
.booking-option:hover { border-color: var(--terra); }
.booking-option.is-active { border-color: var(--terra); background: oklch(52% 0.19 35 / .05); }
.booking-option h4 { font-weight: 700; font-size: .9rem; margin-bottom: 4px; }
.booking-option small { font-size: .78rem; opacity: .65; }
.booking-option-price { font-family: var(--ff-display); font-weight: 900; font-size: 1.2rem; color: var(--terra); }
.booking-option-header { display: flex; justify-content: space-between; align-items: center; }
.price-sidebar { background: var(--white); border-radius: var(--r-lg); border: 1.5px solid var(--sand); padding: 24px; position: sticky; top: 80px;margin-top: 50px;}
.price-sidebar h3 { font-family: var(--ff-display); font-weight: 900; font-size: 1.1rem; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1.5px solid var(--sand); }
.price-rows { display: flex; flex-direction: column; }
.price-row { display: flex; justify-content: space-between; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--sand); font-size: .88rem; }
.price-row.line:last-child { border-bottom: none; }
.price-row span:first-child { opacity: .7; }
.price-row span:last-child { font-weight: 700; }
.price-row.total { padding-top: 14px; border-top: 2px solid var(--charcoal) !important; font-size: 1rem; font-weight: 800; border-bottom: none !important; }
.price-row.total span:first-child { opacity: 1; }
.price-row.total span:last-child { font-family: var(--ff-display); font-size: 1.4rem; color: var(--terra); }
.price-placeholder { font-size: .82rem; opacity: .45; text-align: center; padding: 12px 0; font-style: italic; }
.price-kaution { margin-top: 16px; padding: 12px 14px; background: var(--cream); border-radius: var(--r-sm); font-size: .78rem; line-height: 1.5; }
.price-kaution strong { display: block; margin-bottom: 2px; font-size: .8rem; opacity: .75; }
.price-kaution img {width: 100%;max-width: 120px;margin-top: 10px;}
.price-bar-mobile { display: none; position: fixed;top: 0;right: 0;z-index: 222;justify-content: flex-end; align-items: center; padding: 5px 10px; text-align: right; background: var(--sand); margin: 10px; border-radius: 6px;}
.price-bar-mobile .bar-label { font-size: 11px; opacity: .7; }
.price-bar-mobile .bar-total { font-family: var(--ff-display); font-weight: 900; font-size:18px; color: var(--terra);margin-top: 2px; }
@media (max-width: 961px) { .price-sidebar { display: none; } .price-bar-mobile { display: flex; } }
#booking-price-summary { display: flex; flex-direction: column; margin-bottom: 20px; }
#booking-price-summary .price-row { display: flex; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid var(--sand); font-size: .88rem; }
#booking-price-summary .price-row span:first-child { width: auto; display: inline; opacity: .7; }
#booking-price-summary .price-row span:last-child { text-align: right; width: auto; display: inline; font-weight: 700; }
#booking-price-summary .price-row.total { border-top: 2px solid var(--charcoal); border-bottom: none; padding-top: 14px; font-weight: 800; }
#booking-price-summary .price-row.total span:last-child { font-family: var(--ff-display); font-size: 1.3rem; color: var(--terra); }
.hidden { display: none !important; }
.divider { height: 1px; background: var(--sand); margin: 18px 0; }
#step-6 .divider:last-child {height: 10px;background: transparent;margin: 0;}
#step-6 .field-group label {margin-bottom: 0;}
.hint-box { background: oklch(73% 0.13 74 / .12); border-radius: var(--r-sm); padding: 12px 14px; font-size: .82rem; line-height: 1.5; border-left: 3px solid var(--gold); margin-bottom: 16px; }
.step-intro { font-size: .88rem; opacity: .65; margin-bottom: 20px; line-height: 1.5; }
.booking-success { display: none; text-align: center; padding: 60px 24px; background: var(--white); border-radius: var(--r-lg); border: 1.5px solid var(--sand); }
.success-icon { width: 72px; height: 72px; background: var(--success); border-radius: 50%; display: grid; place-items: center; font-size: 2rem; margin: 0 auto 24px; }
.booking-success h2 { font-family: var(--ff-display); font-size: 1.8rem; font-weight: 900; margin-bottom: 8px; }
.booking-success p { opacity: .7; margin-bottom: 24px; }
#field-teiglinge-anzahl small {display: inline;}
.flatpickr-calendar { font-family: var(--ff-body) !important; }
.flatpickr-day.selected, .flatpickr-day.selected:hover { background: var(--terra) !important; border-color: var(--terra) !important; }
.flatpickr-day.today { border-color: var(--terra) !important; }
.flatpickr-day.is-partial-until.is-nolief::after {background: linear-gradient(to bottom right, #fdf3e7 50%, #fdf3e7 50%); content: ''; height: 100%; width: 100%; display: block; position: absolute; top: 0; z-index: -1; }
.flatpickr-day.is-partial-from.is-nolief::after {background: linear-gradient(to bottom right, #fdf3e7 50%, #fdf3e7 50%); content: ''; height: 100%; width: 100%; display: block; position: absolute; top: 0; z-index: -1; }
.flatpickr-day.is-nolief, #step-1 .flatpickr-day.is-free.is-nolief {background: rgba(230, 126, 34, 0.07);border-color: rgba(230, 126, 34, 0.24); position: relative;}
.flatpickr-day.is-nolief:hover {background: rgba(230, 126, 34, 0.12);border-color: rgba(230, 126, 34, 0.33);} 
.flatpickr-day.is-gesperrt.is-nolief {background: var(--terra, #c41d20) !important; border-color: #a90309 !important;} 
.flatpickr-day.is-blocked.is-nolief {background: #ccc !important; border-color: #bbb !important; }  
.cal-legend-dot.is-nolief {background: rgba(230, 126, 34, 0.16) !important;border-color: rgba(230, 126, 34, 0.3) !important;}
.flatpickr-day.selected.is-nolief, .flatpickr-day.selected.is-nolief:hover {background: var(--terra) !important;border-color: var(--terra) !important;}
.step-inner-content {display: block !important;}
.field-group.checkboxes a {color:var(--terra);}
#step-4 .checkbox-label {display: flex;}
.warn-info {color: red;display: inline-block;margin-top: 20px;font-size: .88rem;}
.load-info {font-size: .88rem;}
.confirm-card {
  background: var(--white); border-radius: var(--r-lg);
  border: 1.5px solid var(--sand);
  box-shadow: var(--shadow-lg);
  width: min(100%, 520px);
  overflow: hidden;
  animation: cardIn .55s cubic-bezier(.22,1,.36,1) both;
}
@keyframes cardIn {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: none; }
}
.card-band {
  padding: 36px 32px 28px;
  display: flex; flex-direction: column; align-items: center;
  text-align: center;
}
.card-band--success { background: linear-gradient(160deg, oklch(52% 0.14 155 / .08) 0%, var(--white) 100%); border-bottom: 1.5px solid oklch(52% 0.14 155 / .2); }
.card-band--error   { background: linear-gradient(160deg, oklch(48% 0.18 25 / .07) 0%, var(--white) 100%); border-bottom: 1.5px solid oklch(48% 0.18 25 / .2); }
.status-icon {
  width: 72px; height: 72px; border-radius: 50%;
  display: grid; place-items: center; font-size: 2rem;
  margin-bottom: 20px;
  animation: iconPop .5s .5s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes iconPop {
  from { transform: scale(0); opacity: 0; }
  to   { transform: scale(1); opacity: 1; }
}
.status-icon--success { background: var(--success); color: #fff; box-shadow: 0 8px 24px oklch(52% 0.14 155 / .35); }
.status-icon--error   { background: var(--error); color: #fff; box-shadow: 0 8px 24px oklch(48% 0.18 25 / .3); }
.card-band h1 {
  font-family: var(--ff-display); font-weight: 900;
  font-size: clamp(1.4rem, 5vw, 1.85rem); line-height: 1.15;
  margin-bottom: 8px;
}
.card-band--success h1 { color: var(--success); }
.card-band--error   h1 { color: var(--error); }
.card-band p { font-size: .95rem; opacity: .75; line-height: 1.55; max-width: 360px; }
.card-details { padding: 24px 32px; }
.details-label {
  font-size: .7rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; opacity: .45; margin-bottom: 14px;
  display: block;
}
.detail-rows { display: flex; flex-direction: column; gap: 0; }
.detail-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 11px 0; border-bottom: 1px solid var(--sand);
  font-size: .88rem;
}
.detail-row:last-child { border-bottom: none; }
.detail-row span { opacity: .65; }
.detail-row strong { font-weight: 700; }
.detail-row.total strong { font-family: var(--ff-display); font-size: 22px; color: var(--terra); }
.card-hints { padding: 0 32px 24px; display: flex; flex-direction: column; gap: 10px; }
.hint-item {display: flex; align-items: center; gap: 12px;padding: 13px 14px; border-radius: var(--r-sm);font-size: .84rem; line-height: 1.5;}
.hint-item--success { background: oklch(52% 0.14 155 / .07); border: 1px solid oklch(52% 0.14 155 / .18); }
.hint-item--neutral { background: oklch(73% 0.13 74 / .1); border: 1px solid oklch(73% 0.13 74 / .25); }
.hint-item--error   { background: oklch(48% 0.18 25 / .07); border: 1px solid oklch(48% 0.18 25 / .18); }
.hint-icon { font-size: 1.1rem; flex-shrink: 0; margin-top: 1px; }
.card-actions { padding: 0 32px 32px; display: flex; flex-direction: column; gap: 10px; }
.btn-primary {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: .9em 1.6em; border-radius: var(--r-md);
  font-family: var(--ff-body); font-weight: 800; font-size: .95rem;
  background: var(--terra); color: #fff; border: none; cursor: pointer;
  box-shadow: 0 4px 16px oklch(52% 0.19 35 / .3);
  transition: background .18s, transform .18s; text-decoration: none;
}
.btn-primary:hover { background: var(--terra-dk); transform: translateY(-2px); }
.btn-secondary {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: .85em 1.6em; border-radius: var(--r-md);
  font-family: var(--ff-body); font-weight: 700; font-size: .88rem;
  background: transparent; color: var(--charcoal);
  border: 1.5px solid oklch(17% 0.012 60 / .2); cursor: pointer;
  transition: border-color .18s, background .18s; text-decoration: none;
}
.btn-secondary:hover { border-color: var(--charcoal); background: var(--sand); }
.btn-wa {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: .85em 1.6em; border-radius: var(--r-md);
  font-family: var(--ff-body); font-weight: 700; font-size: .88rem;
  background: #25D366; color: #fff; border: none; cursor: pointer;
  box-shadow: 0 4px 14px #25D36630;
  transition: background .18s; text-decoration: none;
}
.btn-wa:hover { background: #1dba57; }
.card-divider { height: 1px; background: var(--sand); margin: 4px 32px 20px; }
.booking-num {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--sand); border-radius: 100px;
  padding: .4em 1em; font-size: .78rem; font-weight: 700;
  letter-spacing: .06em; font-family: monospace;
  margin-top: 12px; color: var(--charcoal);
}
.booking-num::before { content: '#'; opacity: .5; }
.buchung-bestaetigung-page {flex: 1;display: flex;align-items: center;justify-content: center;padding: 40px 20px 80px;}
#footer {padding: 20px;text-align: center;font-size: .78rem;}
#footer a {color: var(--terra);text-decoration: none;}
.book-main {width: 100%;}
#kiste-geo {color: var(--terra);}
.faq-list { gap: 8px; } 
.faq-category { border: 1.5px solid var(--sand-dark, #e2d9cc); border-radius: var(--r-md); overflow: hidden; } 
.faq-category-title {display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; margin: 0; font-size: 1rem; font-weight: 700; cursor: pointer; user-select: none; background: var(--sand); transition: background .2s; } 
.faq-category-title::after {content: '\f107'; font-family: 'Font Awesome 6 Pro', 'Font Awesome 6 Free', sans-serif; font-weight: 900; font-size: .9rem; transition: transform var(--step-anim); flex-shrink: 0; } 
.faq-category.open .faq-category-title::after {transform: rotate(180deg); } 
.faq-body {display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--step-anim); } 
.faq-category.open .faq-body {grid-template-rows: 1fr; } 
.faq-body-inner {overflow: hidden; display: flex; flex-direction: column; gap: 1px; background: var(--sand-dark, #e2d9cc); }
.faq-body-inner .info-item {border-radius: 0; margin: 0; }
#step-body-1 .step-intro {margin: 0 0 10px;}
#cal-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 12px; }
.cal-legend-item { display: flex; align-items: center; gap: 6px; font-size: .78rem; color: var(--text-muted, #888); }
.cal-legend-dot { width: 20px; height: 15px; border-radius: 4px; border: 1.5px solid #ddd; flex-shrink: 0; }
.cal-legend-dot.is-free { background: transparent; border-color: #ccc; }
.cal-legend-dot.is-blocked { background: #f3b3b3; border-color: #e09a9a; }
.cal-legend-dot.is-partial-from { background: linear-gradient(to bottom right, #fff0 50%, #f3b3b3 50%); border-color: #e09a9a; }
.cal-legend-dot.is-partial-until { background: linear-gradient(to bottom right, #f3b3b3 50%, #fff0 50%); border-color: #e09a9a; }
.cal-legend-dot.is-gesperrt { background: repeating-linear-gradient(135deg, #e8e8e8, #e8e8e8 3px, #f5f5f5 3px, #f5f5f5 8px); border-color: #ddd; }
body.impressum, body.datenschutz, body.agb, body.widerruf {background: var(--cream);}
.single-page.impressum #container, .single-page.datenschutz #container, .single-page.agb #container, .single-page.widerruf #container {margin: 40px auto;max-width: 1200px;width: 100%;padding: 20px;min-height: calc(100vh - 193px);}
.single-page.impressum #container .entry-content, .single-page.datenschutz #container .entry-content, .single-page.agb #container .entry-content, .single-page.widerruf #container .entry-content {font-size: .82rem;line-height: 1.2rem;}
.single-page.impressum #container .entry-content strong, .single-page.datenschutz #container .entry-content strong, .single-page.agb #container .entry-content strong, .single-page.widerruf #container .entry-content strong {font-weight: 600;margin-bottom: 5px;display: inline-block;}
.single-page.impressum #container .entry-content em, .single-page.datenschutz #container .entry-content em, .single-page.agb #container .entry-content em, .single-page.widerruf #container .entry-content em {font-style: italic;opacity: .5;}
.single-page.impressum #container .entry-content h3 {font-size: 20px;font-weight: bold;margin-top: 30px;}
#step-5 .field-group small {display: inline;}
@media screen and (max-width: 960px) {
.anlaesse-grid {grid-template-columns: repeat(2, 1fr);}
}
@media screen and (max-width: 752px) {
body.home .logo-icon {width: 100px;height: 50px;transform: translateY(0px);}
.nav-actions { display: flex;}
.nav-links { display: none; }
.pkg-grid {grid-template-columns: repeat(2, 2fr);}
.info-item {align-items: flex-start;}
.info-item .fa-badge-check {margin-top: 11px;}
.anlaesse-grid {grid-template-columns: repeat(2, 1fr);}
.pkg-options .pkg-option-name p {margin:0;}
.card-desc p {margin: 10px 0 0;}
}
@media screen and (max-width: 540px) {
body.home .logo-icon {width: 100px;height: 50px;transform: translateY(0px);}
#hero {padding-bottom: 25px;padding-top: 80px;}
.step-intro {font-size: 12px;line-height: 16px;}
#step-1 .flatpickr-day {height: 44px;line-height: 44px;max-width: calc(14.2857143% - 4px);margin: 0px 2px 5px;}
#step-1 .flatpickr-months {margin: 0 0 5px;}
.book-layout {padding: 20px 15px 60px;display: flex;}
.step-summary-line {font-size: 12px;}
.step-header {padding: 15px 5px 15px 15px;}
#step-2 .field-group small {display: block;}
#btn-copy-lieferadresse {width: 100%;background: var(--cream);}
.btn-next {width: 100%;justify-content: center;}
.single-stadt #copyright {padding: 0 10px;line-height: 18px;font-size: 11px;}
.nav-drawer .drawer-btns {position: absolute;bottom: 0;left: 0;width: 100%;padding: 20px;}
.nav-drawer .drawer-btns .btn.btn--primary.btn--full.btn--lg {text-align: center;}
.hero-h1 {padding-bottom: 30px;}
.hero-sub {display: none;}
.nav-actions { display: flex;}
.pkg-grid {grid-template-columns: 1fr;}
.info-item {align-items: flex-start;padding: 10px 15px;}
.info-item .fa-badge-check {margin-top: 11px;}
.info-item p {font-size: .72rem;}
.info-item strong, .faq-category-title {font-size: .88rem;}
.faq-category-title {padding: 15px;}
.cal-legend-item {font-size: .7rem;}
.anlaesse-grid {grid-template-columns: repeat(1, 1fr);}
#nav.scrolled {background: #fffcf7ad;backdrop-filter: blur(5px);-webkit-backdrop-filter: blur(5px);}
.hamburger {transform: scale(.85);}
.nav-inner {height: 56px;}
#nav.scrolled .logo-icon {width: 65px;height: 35px;margin-top: 0;}1
.nav-drawer {top: 56px;}
body.home .logo-icon {margin-top: 10px;}
.single-page.impressum #container, .single-page.datenschutz #container, .single-page.agb #container, .single-page.widerruf #container {margin: 0 auto;padding: 15px;min-height: calc(100vh - 113px);}
.single-page.impressum #container .entry-content, .single-page.datenschutz #container .entry-content, .single-page.agb #container .entry-content, .single-page.widerruf #container .entry-content {font-size: .72rem;line-height: 1rem;}
.single-page.impressum #content h1.entry-title, .single-page.datenschutz #content h1.entry-title, .single-page.agb #content h1.entry-title, .single-page.widerruf #content h1.entry-title {font-size: 20px;}
.pkg-options .pkg-option-name p {margin:0;}
.card-desc p {margin: 10px 0 0;}
.book-header h1 {font-size: 1.34rem;}
.book-header p {font-size: .8rem;line-height: 1.1rem;}
.btn-book {padding: 1em .8em;font-size: .9rem;}
}