/* CB Photobooth Booking – Buchungsformular. Gestaltung wie die neuen Seiten: runde Karten, Orange und Gold, dunkle Akzente.
   Bewusst ohne aspect-ratio, flex-gap und inset, damit es auch auf älteren iPhones sauber aussieht. */
.cbpb-app{--o:#f66600;--o2:#ff8a2b;--gold:#d4af37;--ink:#1f2330;--mut:#667085;--line:#e9e4da;--bg:#fff;--soft:#faf7f2;--dark:#0e0e0e;--card:#fff;--on-dark:#fff;--on-o:#fff;--on-gold:#1b1503;--err:#b42318;--ok:#0b7a43;--o-rgb:246,102,0;--gold-rgb:212,175,55;--err-rgb:180,35,24;--ok-rgb:11,122,67;--rs:1;--rb:1;--f-head:Poppins,'Open Sans',sans-serif;--f-body:'Open Sans',-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  position:relative;max-width:1000px;margin:0 auto;padding:0 0 110px;color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-align:left}
.cbpb-app,.cbpb-app *,.cbpb-app *::before,.cbpb-app *::after{box-sizing:border-box}
.cbpb-app h2,.cbpb-app h3,.cbpb-app b{font-family:var(--f-head)}
.cbpb-app h2,.cbpb-app h3,.cbpb-app p,.cbpb-app ul,.cbpb-app ol{margin:0;padding:0;text-transform:none;letter-spacing:normal;text-shadow:none}
.cbpb-app button{font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
.cbpb-app button[disabled]{cursor:not-allowed}
.cbpb-app [hidden]{display:none!important}
.cbpb-loading,.cbpb-checking{color:var(--mut);padding:18px 4px}

/* Fortschritt */
.cbpb-app .cbpb-progress{list-style:none;display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;margin:0 0 18px;padding:14px 18px;border-radius:calc(999px * var(--rb));background:var(--dark);color:var(--on-dark);overflow-x:auto}
.cbpb-pstep{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;font:600 13px/1 var(--f-head);color:rgba(255,255,255,.45);white-space:nowrap;margin-right:14px}
.cbpb-pstep:last-child{margin-right:0}
.cbpb-pn{display:inline-block;width:26px;height:26px;line-height:26px;border-radius:50%;text-align:center;background:rgba(255,255,255,.12);margin-right:8px;font-size:12px}
.cbpb-pstep.is-done{color:rgba(255,255,255,.85)}
.cbpb-pstep.is-done .cbpb-pn{background:var(--gold);color:var(--on-gold)}
.cbpb-pstep.is-now{color:var(--on-dark)}
.cbpb-pstep.is-now .cbpb-pn{background:linear-gradient(135deg,var(--o),var(--o2));color:var(--on-o)}
@media (max-width:640px){.cbpb-pl{display:none}.cbpb-pstep.is-now .cbpb-pl{display:inline}.cbpb-app .cbpb-progress{padding:12px 14px}}

/* Panel */
.cbpb-panel{background:var(--bg);border:1px solid var(--line);border-radius:calc(30px * var(--rs));padding:30px;box-shadow:0 30px 70px -45px rgba(20,22,30,.45)}
.cbpb-in{-webkit-animation:cbpb-in .35s ease both;animation:cbpb-in .35s ease both}
@-webkit-keyframes cbpb-in{from{opacity:0;-webkit-transform:translateY(8px)}to{opacity:1;-webkit-transform:none}}
@keyframes cbpb-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.cbpb-in{-webkit-animation:none;animation:none}}
@media (max-width:640px){.cbpb-panel{padding:20px 16px;border-radius:calc(24px * var(--rs))}}
.cbpb-head{margin-bottom:20px}
.cbpb-head h2{font-weight:800;font-size:clamp(22px,3.4vw,32px);line-height:1.15;color:var(--ink)}
.cbpb-head p{margin-top:8px;color:var(--mut)}
.cbpb-sub{font:700 17px/1.3 var(--f-head);margin:26px 0 12px;color:var(--ink)}

/* Karten */
.cbpb-card{display:block;width:100%;text-align:left;background:var(--card);border:2px solid var(--line);border-radius:calc(22px * var(--rs));padding:0;color:var(--ink);transition:border-color .15s,box-shadow .15s,-webkit-transform .15s,transform .15s}
.cbpb-card:hover:not([disabled]){border-color:rgba(var(--o-rgb),.55);-webkit-transform:translateY(-2px);transform:translateY(-2px)}
.cbpb-card.is-on{border-color:var(--o);background:linear-gradient(180deg,rgba(var(--o-rgb),.06),var(--card));box-shadow:0 18px 40px -26px rgba(var(--o-rgb),.75)}
.cbpb-card:focus-visible,.cbpb-btn:focus-visible,.cbpb-cd:focus-visible,.cbpb-opt-top:focus-visible,.cbpb-bg:focus-visible{outline:3px solid rgba(var(--o-rgb),.45);outline-offset:2px}
.cbpb-ph{display:block;position:relative;width:100%;padding-top:66%;overflow:hidden;background:#f1ede6;border-radius:calc(18px * var(--rs)) calc(18px * var(--rs)) 0 0}
.cbpb-ph img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}
/* Paketbilder sind quadratisch (2000 x 2000): nicht auf 3:2 zuschneiden, sonst werden Titel und Beschriftung abgeschnitten */
.cbpb-pkg .cbpb-ph{padding-top:100%}
.cbpb-card-b{display:block;padding:14px 16px 16px}
.cbpb-card-b b{display:block;font-size:16px;font-weight:700;line-height:1.3}
.cbpb-card-b small{display:block;color:var(--mut);font-size:13px;margin-top:2px}
.cbpb-from{display:inline-block;margin-top:8px;font:700 15px/1.2 var(--f-head);color:var(--o)}
.cbpb-boxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:16px;gap:16px}
.cbpb-pkgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:16px;gap:16px;margin-top:18px}
.cbpb-card.is-gone{opacity:.45}

/* Hinweise */
.cbpb-note{border-radius:calc(16px * var(--rs));padding:13px 16px;font-size:15px;margin:14px 0;border:1px solid var(--line);background:var(--soft)}
.cbpb-note.ok{border-color:rgba(var(--ok-rgb),.35);background:rgba(var(--ok-rgb),.08)}
.cbpb-note.warn{border-color:rgba(var(--o-rgb),.4);background:rgba(var(--o-rgb),.08)}
.cbpb-note.err{border-color:rgba(var(--err-rgb),.4);background:rgba(var(--err-rgb),.07);color:var(--err)}
.cbpb-fine{font-size:13px;color:var(--mut);margin-top:10px}
.cbpb-warn{color:var(--err)!important}

/* Kalender */
.cbpb-cal{max-width:430px;margin:0 auto 6px}
.cbpb-cal-h{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between;margin-bottom:10px}
.cbpb-cal-h b{font-size:18px;font-weight:700}
.cbpb-cal-nav{width:44px;height:44px;border-radius:50%;border:2px solid var(--line);background:var(--card);font-size:22px;line-height:1;color:var(--ink)}
.cbpb-cal-nav:hover:not([disabled]){border-color:var(--o);color:var(--o)}
.cbpb-cal-nav[disabled]{opacity:.35}
.cbpb-cal-g{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}
.cbpb-wd{text-align:center;font:600 12px/1 var(--f-head);color:var(--mut);padding:6px 0}
.cbpb-cd{height:46px;border-radius:calc(14px * var(--rs));border:2px solid transparent;background:var(--soft);font:600 15px/1 var(--f-head);color:var(--ink);padding:0}
.cbpb-cd.empty{background:none;border:0}
.cbpb-cd:hover:not([disabled]):not(.sel){border-color:rgba(var(--o-rgb),.55);background:var(--card)}
.cbpb-cd.booked{background:repeating-linear-gradient(135deg,#f3eee6,#f3eee6 5px,#ebe5da 5px,#ebe5da 10px);color:#8b8576}
.cbpb-cd.off{background:none;color:#c6c1b6;text-decoration:line-through}
.cbpb-cd.sel{background:linear-gradient(135deg,var(--o),var(--o2));color:var(--on-o);border-color:var(--o)}
.cbpb-legend{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;margin-top:12px;font-size:13px;color:var(--mut)}
.cbpb-legend span{margin:0 9px;display:inline-block}
.cbpb-legend .lg{display:inline-block;width:14px;height:14px;border-radius:5px;margin-right:6px;vertical-align:-2px;background:var(--soft);border:1px solid var(--line)}
.cbpb-legend .lg.booked{background:repeating-linear-gradient(135deg,#f3eee6,#f3eee6 3px,#ddd6c8 3px,#ddd6c8 6px)}
.cbpb-legend .lg.sel{background:var(--o);border-color:var(--o)}
.cbpb-day{margin-top:16px}
.cbpb-alt-t{margin:14px 0 12px;font-weight:600}
.cbpb-alts{margin-top:4px}

/* Gäste */
.cbpb-guests{background:var(--soft);border-radius:calc(22px * var(--rs));padding:18px 20px}
.cbpb-guest-h{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:baseline;align-items:baseline;font-weight:600}
.cbpb-guest-n{font:800 34px/1 var(--f-head);color:var(--o)}
.cbpb-guest-s{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;font-size:12px;color:var(--mut)}
.cbpb-range{-webkit-appearance:none;appearance:none;width:100%;height:10px;margin:18px 0 8px;border-radius:calc(999px * var(--rb));background:linear-gradient(90deg,rgba(var(--o-rgb),.25),#e8e3da);outline:none}
.cbpb-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--o),var(--o2));border:4px solid var(--card);box-shadow:0 6px 16px -4px rgba(var(--o-rgb),.8);cursor:pointer}
.cbpb-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--o);border:4px solid var(--card);box-shadow:0 6px 16px -4px rgba(var(--o-rgb),.8);cursor:pointer}
.cbpb-tip{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between;flex-wrap:wrap;margin-top:14px;padding:14px 16px;border-radius:calc(18px * var(--rs));background:rgba(var(--gold-rgb),.14);border:1px solid rgba(var(--gold-rgb),.5);font-size:15px}
.cbpb-tip .cbpb-btn{margin-top:8px}
.cbpb-offer{grid-column:1/-1;padding:20px;border-radius:calc(22px * var(--rs));background:var(--dark);color:var(--on-dark)}
.cbpb-offer p{color:rgba(255,255,255,.82);margin:6px 0 14px}
.cbpb-offer .cbpb-btn{display:inline-block;text-decoration:none}

/* Extras */
.cbpb-opts{display:grid;grid-gap:12px;gap:12px}
.cbpb-opt{border:2px solid var(--line);border-radius:calc(22px * var(--rs));background:var(--card);overflow:hidden;transition:border-color .15s}
.cbpb-opt.is-on{border-color:var(--o);background:linear-gradient(180deg,rgba(var(--o-rgb),.05),var(--card))}
.cbpb-opt.is-off{opacity:.6}
.cbpb-opt-top{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;width:100%;text-align:left;border:0;background:none;padding:16px 18px;color:var(--ink)}
.cbpb-opt-t{-webkit-box-flex:1;flex:1;min-width:0;padding-right:10px}
.cbpb-opt-t b{display:block;font-size:16px}
.cbpb-opt-t small{display:block;color:var(--mut);font-size:13px;margin-top:2px}
.cbpb-opt-p{font:700 14px/1.2 var(--f-head);color:var(--o);white-space:nowrap;margin-right:14px;text-align:right}
.cbpb-sw{position:relative;display:inline-block;width:52px;height:30px;border-radius:calc(999px * var(--rb));background:#d8d2c6;border:0;padding:0;-webkit-flex-shrink:0;flex-shrink:0;transition:background .2s}
.cbpb-sw i{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:-webkit-transform .2s,transform .2s}
.cbpb-opt.is-on .cbpb-sw{background:var(--o)}
.cbpb-opt.is-on .cbpb-sw i{-webkit-transform:translateX(22px);transform:translateX(22px)}
.cbpb-opt-body{padding:0 18px 18px}
.cbpb-step{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between;background:var(--soft);border-radius:calc(16px * var(--rs));padding:10px 14px;font-weight:600}
.cbpb-qty{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}
.cbpb-qty button{width:42px;height:42px;border-radius:50%;border:2px solid var(--line);background:var(--card);font-size:22px;line-height:1;color:var(--ink)}
.cbpb-qty button:hover{border-color:var(--o);color:var(--o)}
.cbpb-qty b{min-width:74px;text-align:center}
.cbpb-vars{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:10px;gap:10px;margin-top:10px}
.cbpb-var{padding:14px 16px}
.cbpb-var b{display:block}
.cbpb-var small{display:block;margin-top:4px;color:var(--mut);font-size:12.5px}
.cbpb-var .cbpb-from{margin-top:4px}
.cbpb-vip-t{display:block;margin-top:14px;font-size:14px}
.cbpb-bg-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:12px;gap:12px;margin-top:10px}
.cbpb-bg{text-align:left;background:var(--card);border:2px solid var(--line);border-radius:calc(18px * var(--rs));padding:0 0 10px;color:var(--ink);transition:border-color .15s}
/* Ein button zentriert seinen Inhalt senkrecht: Karten mit kürzerem Namen rutschten nach unten. Inhalt oben anfangen lassen. */
.cbpb-bg{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-items:stretch;align-items:stretch}
.cbpb-bg .cbpb-ph{-webkit-flex:none;flex:none}
.cbpb-bg:hover:not([disabled]){border-color:rgba(var(--o-rgb),.55)}
.cbpb-bg.is-on{border-color:var(--o);box-shadow:0 14px 30px -22px rgba(var(--o-rgb),.8)}
.cbpb-bg .cbpb-ph{padding-top:75%;border-radius:calc(14px * var(--rs)) calc(14px * var(--rs)) 0 0}
.cbpb-bg b{display:block;padding:8px 10px 0;font-size:13.5px;line-height:1.25}
.cbpb-bg small{display:block;padding:2px 10px 0;color:var(--o);font-weight:700;font-size:13px}
.cbpb-bg.is-gone{opacity:.5;cursor:not-allowed}
.cbpb-bg.is-gone .cbpb-ph img{-webkit-filter:grayscale(1);filter:grayscale(1)}
.cbpb-gone{position:absolute;left:8px;top:8px;background:rgba(14,14,14,.85);color:var(--on-dark);font:600 11px/1 var(--f-head);font-style:normal;padding:6px 10px;border-radius:calc(999px * var(--rb))}

/* Formularfelder */
.cbpb-fields{display:-webkit-box;display:flex;flex-wrap:wrap;margin:14px -7px 0}
.cbpb-f{width:100%;padding:0 7px;margin-bottom:14px}
.cbpb-f.half{width:50%}
@media (max-width:640px){.cbpb-f.half{width:100%}}
@media (min-width:641px){.cbpb-f.half.cbpb-solo{margin-right:50%}}
.cbpb-narrow .cbpb-f.half.cbpb-solo{margin-right:0}
.cbpb-f label,.cbpb-lbl{display:block;font-size:13px;font-weight:600;color:var(--mut);margin-bottom:5px}
.cbpb-f .req,.cbpb-lbl .req{color:var(--o)}
.cbpb-app input[type=text],.cbpb-app input[type=email],.cbpb-app input[type=tel],.cbpb-app input[type=time],.cbpb-app select,.cbpb-app textarea{display:block;width:100%;min-height:52px;padding:12px 14px;border:2px solid var(--line);border-radius:calc(14px * var(--rs));background:var(--card);font:inherit;font-size:16px;color:var(--ink);-webkit-appearance:none;appearance:none;box-shadow:none;margin:0}
.cbpb-app select{background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),linear-gradient(135deg,var(--mut) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.cbpb-app textarea{min-height:96px;resize:vertical}
.cbpb-app input:focus,.cbpb-app select:focus,.cbpb-app textarea:focus{outline:none;border-color:var(--o);box-shadow:0 0 0 4px rgba(var(--o-rgb),.15)}
.cbpb-app input[disabled]{background:var(--soft);color:#9a958a}
.cbpb-err{display:block;color:var(--err);font-size:13px;margin-top:4px;min-height:0}
.cbpb-err:empty{display:none}
.cbpb-radios{display:grid;grid-gap:8px;gap:8px}
.cbpb-radio{display:-webkit-box!important;display:flex!important;-webkit-box-align:center;align-items:center;font-size:15px!important;font-weight:400!important;color:var(--ink)!important;margin:0!important;padding:11px 14px;border:2px solid var(--line);border-radius:calc(14px * var(--rs));cursor:pointer}
.cbpb-radio input{margin:0 10px 0 0;width:20px;height:20px;accent-color:var(--o)}
.cbpb-consent{display:-webkit-box;display:flex;-webkit-box-align:start;align-items:flex-start;margin:16px 0;padding:14px 16px;border-radius:calc(18px * var(--rs));background:var(--soft);font-size:14px;cursor:pointer}
.cbpb-consent input{margin:3px 12px 0 0;width:22px;height:22px;-webkit-flex-shrink:0;flex-shrink:0;accent-color:var(--o)}
.cbpb-consent a{color:var(--o);font-weight:600}
.cbpb-addr{position:relative;margin-top:6px}
.cbpb-addr-row{display:-webkit-box;display:flex}
.cbpb-addr-row input{-webkit-box-flex:1;flex:1;margin-right:10px}
.cbpb-sug{position:absolute;z-index:20;left:0;right:0;top:100%;margin:6px 0 0!important;padding:6px!important;list-style:none;background:var(--card);border:2px solid var(--line);border-radius:calc(16px * var(--rs));box-shadow:0 24px 50px -24px rgba(20,22,30,.5)}
.cbpb-sug li{padding:11px 12px;border-radius:10px;cursor:pointer;font-size:15px}
.cbpb-sug li:hover{background:rgba(var(--o-rgb),.08)}
.cbpb-dist{margin-top:6px}
.cbpb-code{display:-webkit-box;display:flex;margin-top:18px}
.cbpb-code input{-webkit-box-flex:1;flex:1;margin-right:10px;text-transform:uppercase}

/* Zusammenfassung */
.cbpb-sum{border:2px solid var(--line);border-radius:calc(22px * var(--rs));padding:16px 18px;background:var(--soft)}
.cbpb-sum-h{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;flex-wrap:wrap;margin-bottom:8px}
.cbpb-sum-t{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;padding-top:12px;margin-top:6px;border-top:2px solid var(--line);font-size:18px}
.cbpb-sum-vat{font-size:13px;color:var(--mut);margin-top:4px}
.cbpb-lines{list-style:none;margin:0;padding:0}
.cbpb-lines li{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;padding:7px 0;border-bottom:1px dashed var(--line);font-size:15px}
.cbpb-lines li:last-child{border-bottom:0}
.cbpb-lines b{white-space:nowrap;margin-left:12px}
.cbpb-lines small{display:block;color:var(--mut);font-size:12.5px}
.cbpb-disc{color:var(--ok)}
.cbpb-done{text-align:center;padding:10px 0}
.cbpb-done h2{font-weight:800;font-size:clamp(22px,3.4vw,30px);margin:10px 0}
.cbpb-done .cbpb-lines{text-align:left;max-width:520px;margin:16px auto 0}
.cbpb-done .cbpb-sum-t{max-width:520px;margin:6px auto 0}
.cbpb-check{width:70px;height:70px;line-height:70px;margin:0 auto;border-radius:50%;background:linear-gradient(135deg,var(--o),var(--o2));color:var(--on-o);font-size:36px}
.cbpb-ref{font-size:18px}

/* Knöpfe */
.cbpb-btn{display:inline-block;border-radius:calc(999px * var(--rb));border:2px solid var(--line);background:var(--card);color:var(--ink);padding:13px 26px;font:600 15px/1.2 var(--f-head);text-align:center;transition:-webkit-transform .15s,transform .15s,box-shadow .15s}
.cbpb-btn.primary{background:linear-gradient(135deg,var(--o),var(--o2));border-color:var(--o);color:var(--on-o);box-shadow:0 16px 32px -14px rgba(var(--o-rgb),.85)}
.cbpb-btn.primary:hover:not([disabled]){-webkit-transform:translateY(-2px);transform:translateY(-2px)}
.cbpb-btn.ghost{background:none}
.cbpb-btn.small{padding:10px 18px;font-size:14px;white-space:nowrap}
.cbpb-btn.big{display:block;width:100%;padding:18px 26px;font-size:17px;margin-top:20px}
.cbpb-btn[disabled]{opacity:.45;box-shadow:none}
.cbpb-nav{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:center;align-items:center;margin-top:18px}

/* Preisleiste */
.cbpb-bar{position:relative;margin-top:22px;padding:14px 20px;border-radius:calc(24px * var(--rs));background:var(--dark);color:var(--on-dark)}
.cbpb-bar-sum{display:-webkit-box;display:flex;-webkit-box-align:baseline;align-items:baseline;flex-wrap:wrap}
.cbpb-bar-l{font-size:13px;color:rgba(255,255,255,.7);margin-right:12px}
.cbpb-bar-v{font-size:26px;font-weight:800;margin-right:12px;background:linear-gradient(90deg,var(--o),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.cbpb-bar-t{font-size:12.5px;color:rgba(255,255,255,.65)}
.cbpb-bar-toggle{position:absolute;right:16px;top:13px;padding:6px 16px;border:1px solid rgba(255,255,255,.55);border-radius:calc(999px * var(--rb));background:rgba(255,255,255,.08);color:var(--on-dark);font-size:13px;font-weight:600;line-height:1.3;cursor:pointer;text-decoration:none;-webkit-transition:background .15s,border-color .15s;transition:background .15s,border-color .15s}
.cbpb-bar-toggle:hover,.cbpb-bar-toggle:focus-visible{background:rgba(255,255,255,.2);border-color:var(--on-dark)}
.cbpb-bar .cbpb-lines{margin-top:10px;color:var(--on-dark)}
.cbpb-bar .cbpb-lines li{border-color:rgba(255,255,255,.14)}
.cbpb-bar .cbpb-lines small{color:rgba(255,255,255,.6)}
@media (max-width:640px){.cbpb-bar{border-radius:calc(20px * var(--rs));padding:12px 16px}.cbpb-bar-v{font-size:22px}}

/* Schmale Einbettung (z. B. enge Textspalte): Fortschritt kompakt, Felder untereinander */
.cbpb-tight .cbpb-pl{display:none}
.cbpb-tight .cbpb-pstep.is-now .cbpb-pl{display:inline}
.cbpb-app.cbpb-narrow .cbpb-progress{padding:12px 14px}
.cbpb-narrow .cbpb-panel{padding:20px 16px;border-radius:calc(24px * var(--rs))}
.cbpb-narrow .cbpb-f.half{width:100%}
.cbpb-narrow .cbpb-boxes,.cbpb-narrow .cbpb-pkgs{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}
.cbpb-narrow .cbpb-opt-top{-webkit-flex-wrap:wrap;flex-wrap:wrap}
.cbpb-narrow .cbpb-bar{border-radius:calc(20px * var(--rs));padding:12px 16px}

.cbpb-ph.is-empty::after{content:'?';position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font:800 38px/1 var(--f-head);color:rgba(31,35,48,.22)}
@media (max-width:460px){.cbpb-app.cbpb-narrow .cbpb-pkgs{grid-template-columns:1fr}}

/* Breite: das Formular darf breiter sein als die Textspalte der Seite (wie die neuen Seiten: Fensterbreite minus Rand, höchstens 1240 px).
   Ältere Browser ohne min()/clamp() bleiben bei der normalen Spaltenbreite. */
.cbpb-app[data-wide="1"]{max-width:1240px}
@supports (width:min(1px,2px)) and (width:clamp(1px,2px,3px)){
.cbpb-app[data-wide="1"]{--gut:clamp(16px,3.4vw,50px);--w:min(calc(100vw - 2 * var(--gut)),1240px);width:var(--w);max-width:none;margin:0 0 0 calc(50% - var(--w) / 2)}
}
@media (min-width:1000px){.cbpb-panel{padding:38px 42px}.cbpb-boxes{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.cbpb-pkgs{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}


/* Link zur Unterseite einer Option (neuer Tab) */
.cbpb-more-w{padding:0 18px 14px;margin-top:-6px}
.cbpb-link{display:inline-block;padding:6px 0;color:var(--o);font:600 14px/1.2 var(--f-head);text-decoration:none}
.cbpb-link::after{content:'\2197';display:inline-block;margin-left:6px;font-size:13px}
.cbpb-link:hover{text-decoration:underline}
.cbpb-link:focus-visible{outline:3px solid rgba(var(--o-rgb),.45);outline-offset:2px;border-radius:6px}

/* Rückmeldungen 25.10.2026: Bildrahmen, Abstände, MwSt-Block */
.cbpb-bg{overflow:hidden}
.cbpb-bg .cbpb-ph{border-radius:0}
.cbpb-addr-row input{margin-right:0}
.cbpb-app .cbpb-sub{margin:52px 0 18px}
.cbpb-app .cbpb-code{margin:28px auto 0;max-width:380px}
.cbpb-app .cbpb-code input{min-height:46px;padding-top:9px;padding-bottom:9px;font-size:15px;margin-right:20px;text-align:center}
#cbpb-code-msg{max-width:380px;margin-left:auto;margin-right:auto}
.cbpb-app .cbpb-code .cbpb-btn{padding-top:10px;padding-bottom:10px}
.cbpb-app .cbpb-consent.cbpb-legal{margin-top:44px}
.cbpb-app .cbpb-btn.big{margin-top:16px}
.cbpb-fields{margin-bottom:6px}
#cbpb-final-err{margin-top:8px}

/* Fortschrittsleiste: großzügiger, mit Verbindungslinien zwischen den Schritten */
.cbpb-app .cbpb-progress{-webkit-box-align:center;align-items:center;padding:22px 32px;border-radius:calc(30px * var(--rs));margin:0 0 24px;overflow:hidden}
.cbpb-app .cbpb-pstep{margin-right:0;font:600 14px/1 var(--f-head);letter-spacing:.01em}
.cbpb-app .cbpb-pstep:not(:last-child){-webkit-box-flex:1;flex:1 1 auto}
.cbpb-app .cbpb-pstep:not(:last-child)::after{content:'';-webkit-box-flex:1;flex:1 1 20px;min-width:14px;height:2px;margin:0 18px;border-radius:2px;background:rgba(255,255,255,.14)}
.cbpb-app .cbpb-pstep.is-done:not(:last-child)::after{background:rgba(var(--gold-rgb),.65)}
.cbpb-app .cbpb-pn{width:34px;height:34px;line-height:34px;margin-right:10px;font-size:13px;-webkit-flex-shrink:0;flex-shrink:0}
@media (max-width:640px){.cbpb-app .cbpb-progress{padding:16px 18px;border-radius:calc(24px * var(--rs))}.cbpb-app .cbpb-pn{width:32px;height:32px;line-height:32px;margin-right:8px}.cbpb-app .cbpb-pstep:not(:last-child)::after{margin:0 10px}}
.cbpb-app.cbpb-narrow .cbpb-progress{padding:16px 18px;border-radius:calc(24px * var(--rs))}
.cbpb-app.cbpb-narrow .cbpb-pstep:not(:last-child)::after{margin:0 10px}
.cbpb-app.cbpb-tight .cbpb-progress{padding:18px 22px}
.cbpb-app.cbpb-tight .cbpb-pstep:not(:last-child)::after{margin:0 12px}

/* Schmale Breite: alle Schritte der Leiste sichtbar; Option: Titel in eigener Zeile, darunter Preis und Schalter */
.cbpb-app.cbpb-narrow .cbpb-progress{padding:14px 14px;border-radius:calc(22px * var(--rs))}
.cbpb-app.cbpb-narrow .cbpb-pn{width:28px;height:28px;line-height:28px;margin-right:8px;font-size:12px}
.cbpb-app.cbpb-narrow .cbpb-pstep:not(:last-child)::after{min-width:6px;margin:0 6px}
.cbpb-narrow .cbpb-opt-t{-webkit-box-flex:0;flex:1 1 100%;padding-right:0;margin-bottom:8px;overflow-wrap:anywhere}
.cbpb-narrow .cbpb-opt-p{-webkit-box-flex:1;flex:1 1 auto;text-align:left;margin-right:10px}

/* Hinweis zum Paketvorschlag */
.cbpb-app .cbpb-pkgnote{margin:12px 4px 0;font-size:13px;line-height:1.55;color:var(--mut)}
.cbpb-app .cbpb-pkgnote b{color:var(--ink);font-weight:700}

/* Preisleiste ohne Preis: ganzer Satz */
.cbpb-bar-wait{font-size:14px;line-height:1.4;color:rgba(255,255,255,.85)}
.cbpb-app .cbpb-pkgnote{margin:46px 4px 0}

/* Rechenaufgabe und Fallenfeld */
.cbpb-app .cbpb-cap{margin:28px 0 8px;padding:16px 18px;border:2px solid var(--line);border-radius:calc(18px * var(--rs));background:var(--soft)}
.cbpb-app .cbpb-cap-h b{display:block;font-size:15px}
.cbpb-app .cbpb-cap-h small{display:block;color:var(--mut);font-size:13px;margin-top:2px}
.cbpb-app .cbpb-cap-r{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;flex-wrap:wrap;margin-top:12px}
.cbpb-app .cbpb-cap-q{font:700 20px/1.2 var(--f-head);margin-right:16px}
.cbpb-app .cbpb-cap-r input{width:110px;min-height:46px;margin-right:12px;text-align:center}
.cbpb-app .cbpb-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.cbpb-pay{margin:18px 0 6px}
.cbpb-pay-opt{display:block;position:relative;margin:0 0 10px;padding:14px 16px 14px 50px;border:2px solid var(--line);border-radius:calc(16px * var(--rs));background:var(--card);cursor:pointer}
.cbpb-pay-opt input{position:absolute;left:16px;top:17px;margin:0;width:22px;height:22px;accent-color:var(--o)}
.cbpb-pay-opt b{display:block;color:var(--ink);font-size:16px;line-height:1.3}
.cbpb-pay-opt small{display:block;margin-top:3px;color:var(--mut);font-size:13px;line-height:1.5}
.cbpb-pay-opt.is-on{border-color:var(--o);background:var(--soft)}

.cbpb-cal-h{position:relative}
.cbpb-cal-title{border:2px solid var(--line);background:var(--card);font:inherit;font-size:18px;font-weight:700;color:var(--ink);cursor:pointer;padding:8px 20px;border-radius:999px;min-height:44px;-webkit-transition:border-color .15s;transition:border-color .15s}
.cbpb-cal-title::after{content:"";display:inline-block;margin-left:10px;width:8px;height:8px;border-right:2px solid var(--o);border-bottom:2px solid var(--o);-webkit-transform:rotate(45deg) translateY(-3px);transform:rotate(45deg) translateY(-3px);-webkit-transition:-webkit-transform .15s;transition:transform .15s}
.cbpb-cal-title.open::after{-webkit-transform:rotate(-135deg) translateY(-1px);transform:rotate(-135deg) translateY(-1px)}
.cbpb-cal-title:hover,.cbpb-cal-title:focus,.cbpb-cal-title.open{border-color:var(--o);color:var(--o);outline:none}
.cbpb-cal-pick{position:absolute;z-index:20;top:100%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);margin-top:8px;width:300px;max-width:100%;background:var(--card);border:2px solid var(--line);border-radius:20px;padding:14px;-webkit-box-shadow:0 24px 50px -20px rgba(20,22,30,.45);box-shadow:0 24px 50px -20px rgba(20,22,30,.45)}
.cbpb-pick-top{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between;margin-bottom:12px}
.cbpb-pick-yv{font-size:18px;font-weight:700}
.cbpb-pick-y{width:40px;height:40px;border-radius:50%;border:2px solid var(--line);background:var(--card);font-size:20px;line-height:1;color:var(--ink)}
.cbpb-pick-y:hover:not([disabled]){border-color:var(--o);color:var(--o)}
.cbpb-pick-y[disabled]{opacity:.35}
.cbpb-pick-m{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cbpb-pick-mo{height:44px;border-radius:14px;border:2px solid var(--line);background:var(--card);font:inherit;font-size:15px;font-weight:600;color:var(--ink)}
.cbpb-pick-mo:hover:not([disabled]){border-color:var(--o);color:var(--o)}
.cbpb-pick-mo.on,.cbpb-pick-mo.on:hover{background:var(--o);border-color:var(--o);color:#fff}
.cbpb-pick-mo[disabled]{opacity:.3}
.cbpb-done .cbpb-sum-vat{max-width:520px;margin:6px auto 0;text-align:right}
.cbpb-done .cbpb-fine{margin-top:32px}
