/* Ohne externe Fonts / Tracking-Skripte. Systemschriften als datenschutzfreundlicher Fallback. */
:root{--ink:#21251f;--muted:#70766b;--cream:#f9f7f1;--paper:#fffefa;--lilac:#e6d8f2;--violet:#684684;--accent:#aeda74;--line:#e6e5dd;--rose:#ffe2db;--shadow:0 12px 42px rgba(27,29,20,.07);--radius:23px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.56 'DM Sans',Arial,sans-serif}h1,h2,h3,h4{font-family:'Outfit','DM Sans',sans-serif;line-height:1.08;letter-spacing:-.038em;margin:0 0 18px}h1{font-size:clamp(3.3rem,7vw,7.7rem);font-weight:700}h2{font-size:clamp(2.4rem,4.7vw,4.8rem)}h3{font-size:1.35rem;letter-spacing:-.02em}h1 em,h2 em{font-weight:500;color:var(--violet);font-style:normal}p{margin:0 0 18px}a{color:inherit}img{max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,.btn:disabled{cursor:not-allowed;opacity:.45}.wrap{width:min(1160px,calc(100% - 44px));margin-inline:auto}.narrow{max-width:690px}.section{padding:88px 0}.center{text-align:center}.lead{font-size:1.15rem;max-width:730px;color:#545b50}.muted{color:var(--muted)}.fineprint{color:var(--muted);font-size:.84rem;line-height:1.56}.eyebrow{font-weight:800;font-size:.75rem;letter-spacing:.16em;color:#6c5778;margin-bottom:22px;text-transform:uppercase}.accent{color:var(--violet)}.site-header{position:sticky;z-index:30;top:0;background:rgba(249,247,241,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav-inner{height:90px;display:flex;gap:25px;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font:800 1.06rem/1 'Outfit',sans-serif;letter-spacing:.05em;text-decoration:none}.brand-icon{font-size:2.55rem;color:var(--violet);line-height:1}.site-header nav{display:flex;align-items:center;gap:29px}.site-header nav a{text-decoration:none;font-weight:700;font-size:.91rem;color:#53594e}.site-header nav a:hover,.site-header nav a.active{color:var(--violet)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:2px solid var(--ink);border-radius:100px;padding:14px 27px;color:white;background:var(--ink);font-weight:800;text-decoration:none;line-height:1.25;box-shadow:none;transition:transform .18s,background .18s}.btn:hover{background:var(--violet);border-color:var(--violet);transform:translateY(-2px)}.btn-small{padding:10px 18px;font-size:.86rem}.btn-outline{background:transparent;color:var(--ink)}.btn-outline:hover{color:white}.btn-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.btn-danger{background:#a83b3b;border-color:#a83b3b}.btn.full{width:100%}.menu-button{display:none;border:0;background:none;font-size:1.6rem}.hero{overflow:hidden;background:#ece5ed}.hero-grid{min-height:640px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px}.hero-copy{padding:58px 0;position:relative;z-index:2}.hero-copy h1{line-height:.99;margin-bottom:30px}.hero-copy p{font-size:1.1rem;max-width:475px;color:#53514d}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:30px 0 42px}.text-link,.back-link{font-weight:800;text-underline-offset:4px}.hero-trust{color:#5b5660;font-size:.78rem;font-weight:600;white-space:normal}.hero-trust span{color:var(--violet)}.hero-trust i{padding:0 9px;color:#aaa;font-style:normal}.hero-visual{height:600px;position:relative}.photo-print{position:absolute;background:#fff;box-shadow:0 20px 50px #57435a33;padding:14px 14px 24px;width:255px;height:360px}.print-a{left:8%;top:100px;transform:rotate(-12deg)}.print-b{right:4%;top:154px;transform:rotate(12deg)}.print-pic{height:290px;display:grid;place-items:center;position:relative;border-radius:3px;overflow:hidden}.pic-a{background:linear-gradient(140deg,#b8ddc6,#7f91ba)}.pic-b{background:linear-gradient(140deg,#e9a2a7,#b5a1d3)}.print-pic span{font-size:7rem;color:#ffffffb8;transform:rotate(-12deg)}.print-caption{text-align:center;margin-top:9px;font:800 .8rem 'Outfit',sans-serif;letter-spacing:.1em}.hero-sticker{width:158px;height:158px;border-radius:50%;display:grid;place-content:center;position:absolute;right:21%;top:29px;background:var(--accent);font:800 2.1rem/1 'Outfit';text-align:center;transform:rotate(12deg);z-index:2}.hero-sticker span{font-size:.9rem}.float-label{position:absolute;font-size:.7rem;font-weight:800;letter-spacing:.17em;z-index:3}.float-label.one{top:40px;left:10px}.float-label.two{bottom:75px;right:12px}.hero-bottom{display:flex;align-items:center;justify-content:space-around;padding:26px 0;font-size:.82rem;font-weight:800;letter-spacing:.09em}.hero-bottom b{color:var(--violet)}.split-head{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:36px}.split-head>p{max-width:325px;color:var(--muted)}.benefit-grid,.offer-grid,.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.benefit{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:35px;min-height:250px}.benefit>span{font-weight:800;color:var(--violet)}.benefit h3{font-size:1.75rem;margin-top:38px}.benefit p{color:var(--muted)}.offerings{background:#ebeeda}.offer-card{overflow:hidden;background:var(--paper);border-radius:var(--radius);border:1px solid #dce1ce}.offer-graphic{height:225px;display:grid;place-content:center;text-align:center;font-size:6rem;line-height:1;color:#6b5183}.graphic-0{background:#e2d5ed}.graphic-1{background:#d7e9ca}.graphic-2{background:#eed5d1}.offer-graphic span{font-size:.75rem;letter-spacing:.18em;font-weight:900}.offer-info{padding:26px}.offer-info p{min-height:53px;color:var(--muted)}.offer-bottom{display:flex;align-items:center;justify-content:space-between}.offer-bottom b{font-size:1.4rem}.round-link{width:45px;height:45px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:1.35rem}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.steps>div{border-top:2px solid var(--ink);padding:28px 4px}.steps span{color:var(--violet);font-weight:900}.steps h3{margin-top:35px}.steps p{color:var(--muted)}.big-cta{background:var(--violet);color:#fff;text-align:center;padding:105px 0}.big-cta h2{font-size:clamp(4rem,10vw,8rem)}.big-cta h2 em,.big-cta .eyebrow{color:#def8af}.big-cta p{margin:0 0 27px}.footer{background:#1c211b;color:white;padding:65px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr 1fr;gap:40px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-logo{font-size:1.45rem;font-family:Outfit;font-weight:500}.footer p,.footer a{color:#b5bcaf;font-size:.88rem;text-decoration:none}.footer a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #454c40;margin-top:65px;padding-top:22px;color:#bcc4b5;font-size:.8rem}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);margin-bottom:22px}.card h3{margin-bottom:15px}form label{display:block;margin-bottom:17px;font-size:.86rem;font-weight:800}input:not([type=radio]):not([type=checkbox]):not([type=file]),select,textarea{display:block;width:100%;margin-top:8px;background:white;border:1.5px solid #dbdfd2;border-radius:12px;padding:12px 14px;outline:none;color:var(--ink);transition:border-color .18s;font-weight:500}textarea{resize:vertical;min-height:90px}input:focus,textarea:focus,select:focus{border-color:var(--violet)!important;outline:2px solid #74518d33;outline-offset:1px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-row>*{min-width:0}.check-label{display:flex;align-items:flex-start;gap:12px;font-weight:500}.check-label input{width:18px;height:18px;flex:none;margin-top:3px}.check-label a{color:var(--violet)}.alert{border-radius:13px;padding:15px 18px;margin:14px 0 24px;background:#e0f0db;border:1px solid #b8d6a2;color:#2b5130}.alert.bad{background:#fff0ea;border-color:#e7bab0;color:#7b2c29}.alert.ok{background:#e6f4df}.booking-page h1{font-size:clamp(3rem,6vw,5rem)}.booking-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:27px;margin-top:40px;align-items:start}.book-section{padding:35px}.step-title{display:flex;gap:16px;align-items:center;margin-bottom:24px}.step-title span{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:50%;background:var(--lilac);color:var(--violet);font-size:.88rem;font-weight:900}.step-title h2{font-size:1.5rem;margin:0}.calendar{border:1px solid var(--line);border-radius:16px;padding:15px;margin-bottom:24px}.cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.cal-header button{background:var(--paper);border:1px solid var(--line);width:34px;height:34px;border-radius:10px}.cal-week,.cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-week{color:var(--muted);text-align:center;font-size:.7rem;margin:6px 0}.cal-days button,.cal-days span{display:grid;place-items:center;height:43px;border-radius:11px;border:0;background:transparent}.cal-days button{font-weight:800}.cal-days button.free{background:#dfeccd;color:#265327}.cal-days button.full{background:#f6dfd9;color:#945850;cursor:not-allowed}.cal-days button.selected{background:var(--violet);color:white}.cal-days button:disabled{opacity:.48;cursor:not-allowed}.cal-legend{display:flex;gap:22px;margin:15px 5px 0;font-size:.76rem;color:var(--muted)}.cal-legend span:first-child{color:#618546}.cal-legend span:last-child{color:#9d5959}.box-picker{display:grid;gap:12px}.box-choice{display:grid;grid-template-columns:20px 55px minmax(0,1fr) auto;gap:13px;align-items:center;position:relative;border:2px solid var(--line);padding:17px;border-radius:15px;margin:0;cursor:pointer}.box-choice:has(input:checked){border-color:var(--violet);background:#f8f0fb}.box-choice.is-unavailable{opacity:.48;background:#f6f2ee}.box-choice>input{accent-color:var(--violet)}.choice-visual{width:53px;height:53px;background:var(--lilac);border-radius:13px;display:grid;place-items:center;font-size:2rem;color:var(--violet)}.box-choice small{display:block;font-size:.78rem;color:var(--muted);line-height:1.4;font-weight:500;margin-top:5px}.box-choice strong{white-space:nowrap}.availability-tag{grid-column:2/5;color:#53753e;font-size:.7rem;font-weight:800}.box-choice.is-unavailable .availability-tag{color:#9a5252}.addon-row{display:grid;grid-template-columns:1fr auto 90px;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0}.addon-row:last-child{border:0}.addon-row p{font-size:.8rem;color:var(--muted);margin:5px 0 0}.addon-row strong{white-space:nowrap}.qty-label{margin:0}.qty-label input{margin-top:4px}.booking-summary .sticky{position:sticky;top:109px}.booking-summary h3{font-size:1.7rem}.summary-art{height:140px;background:linear-gradient(135deg,#d9c8e5,#e5eec7);border-radius:14px;display:grid;place-items:center;font-size:6rem;color:#74518d;margin-bottom:22px}.sum-row,.sum-total{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:14px 0}.sum-row span{color:var(--muted)}.sum-row b{text-align:right}.sum-total{border-bottom:0;align-items:center;margin-bottom:12px;font-weight:800}.sum-total strong{font-size:1.6rem}.summary-note{text-align:center;margin-top:14px;color:var(--muted);font-size:.79rem}.badge{border-radius:20px;padding:6px 13px;display:inline-flex;align-items:center;background:#e5ebdb;color:#4c743c;font-size:.77rem;font-weight:800;white-space:nowrap}.badge.pending{background:#f9eacb;color:#8c671f}.badge.cancelled{background:#f2dbdb;color:#965252}.badge.completed{background:#dadcf4;color:#465486}.grid-3{margin-top:30px}.event-card .event-icon{font-size:2.9rem;color:var(--violet)}.event-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.event-card h3{margin-top:16px;margin-bottom:2px}.event-card .btn{margin-top:auto}.span-3{grid-column:1/-1}.logout-form{margin:45px 0}.text-btn{border:0;padding:5px 1px;background:transparent;font-size:.9rem;font-weight:800;text-decoration:underline;text-underline-offset:3px;color:var(--violet)}.back-link{display:inline-block;margin-bottom:28px}.event-head{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px}.event-head h1{font-size:clamp(2.5rem,5vw,5rem)}.info-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 58px}.info-tiles>div{display:flex;flex-direction:column;gap:5px;background:var(--lilac);padding:21px;border-radius:14px}.info-tiles span{font-size:.8rem}.info-tiles b{font-family:Outfit;font-size:1.2rem}.section-title{margin:50px 0 22px}.section-title h2{font-size:clamp(2.3rem,4vw,3.3rem)}.designer h3{margin-top:20px}.selection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 30px}.option-card{display:flex;flex-direction:column;gap:5px;position:relative;border:2px solid var(--line);border-radius:16px;padding:11px;cursor:pointer}.option-card:has(input:checked){border-color:var(--violet);background:#f9f4fb}.option-card input{position:absolute;right:16px;top:18px;accent-color:var(--violet)}.option-art{height:130px;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:var(--lilac)}.option-art img{width:100%;height:100%;object-fit:cover}.abstract-art{font-size:4rem}.bg-art{color:#62795b}.option-card small{color:var(--muted);font-size:.76rem;line-height:1.4}.sharing{display:flex;align-items:center;justify-content:space-between;gap:30px}.sharing>div{max-width:580px}.copy-link{font-weight:500!important;font-size:.8rem}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:25px 0}.photo-card,.guest-photo{overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:14px;display:block;color:var(--ink);text-decoration:none}.photo-card img,.guest-photo img{width:100%;height:230px;object-fit:cover;display:block}.photo-card.is-hidden img{filter:grayscale(1);opacity:.54}.photo-actions{padding:12px;display:flex;justify-content:space-between;gap:10px;align-items:center}.photo-actions>span{font-size:.7rem;font-weight:700}.photo-actions>div{display:flex}.photo-actions form{display:inline}.icon-btn{border:0;background:var(--lilac);border-radius:7px;width:30px;height:30px;margin-left:5px;color:var(--violet)}.icon-btn.delete{background:#f6dbda;color:#962c2c}.guest-photo span{display:block;padding:10px 13px;font-weight:800;font-size:.85rem}.empty-gallery{grid-column:1/-1;text-align:center;border:2px dashed var(--line);padding:60px 20px;border-radius:16px}.empty-gallery>span,.sparkle{font-size:5rem;color:var(--violet)}.thanks{min-height:50vh}.admin-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px}.admin-sidebar{position:sticky;top:115px;align-self:start}.admin-sidebar a{display:block;padding:12px 16px;margin-bottom:3px;border-radius:11px;text-decoration:none;font-weight:800}.admin-sidebar a.active,.admin-sidebar a:hover{background:var(--lilac);color:var(--violet)}.admin-main{min-width:0}.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:26px}.editor summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px}.editor summary span{font-size:.82rem;color:var(--muted)}.editor form{margin-top:22px}.table-wrap{width:100%;overflow:auto;background:white;border:1px solid var(--line);border-radius:15px;margin:20px 0 30px}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:16px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}td{font-size:.88rem}td small{color:var(--muted)}tr:last-child td{border:0}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.details-grid p{margin-top:8px}.inline-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:18px}.inline-actions>*{margin:0}.secret-card{background:#f5ecff}.catalog-preview{width:100%;max-height:150px;object-fit:cover;border-radius:12px;margin:12px 0}.legal{white-space:normal;overflow-wrap:anywhere}.admin-main h2{font-size:2.2rem}.admin-main h3{margin-top:22px}.admin-main .card h3:first-child{margin-top:0}.admin-main .card{padding:23px}.admin-main textarea{width:100%}.admin-main .alert{margin:15px 0}.secret-card input{font:12px monospace!important}code{overflow-wrap:anywhere}input[type=file]{max-width:100%;font-size:.82rem}a:focus-visible,button:focus-visible{outline:3px solid #ba9dcf;outline-offset:3px}
@media(max-width:1050px){.hero-grid{min-height:560px}.hero-visual{height:520px}.print-a{left:0}.print-b{right:0}.footer-grid{grid-template-columns:repeat(2,1fr)}.admin-shell{grid-template-columns:200px 1fr}.box-choice{grid-template-columns:20px 40px minmax(0,1fr)}.box-choice strong{grid-column:3}.availability-tag{grid-column:2/4}.choice-visual{width:42px;height:42px}.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.wrap{width:min(100% - 32px,1160px)}.nav-inner{height:74px}.site-header nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:14px 18px 25px;box-shadow:var(--shadow);flex-direction:column;gap:12px;align-items:stretch}.site-header nav.open{display:flex}.nav-cta{display:none}.menu-button{display:block}.section{padding:58px 0}.hero-grid{display:block;min-height:auto}.hero-copy{padding:70px 0 20px}.hero-copy h1{font-size:clamp(3.6rem,15vw,6rem)}.hero-visual{height:380px}.photo-print{width:180px;height:255px;padding:10px 10px 20px}.print-pic{height:200px}.print-a{top:40px;left:10%}.print-b{top:78px;right:10%}.hero-sticker{width:104px;height:104px;font-size:1.45rem;right:18%;top:8px}.float-label.one{top:0}.float-label.two{bottom:48px}.hero-bottom{gap:16px;flex-wrap:wrap;justify-content:center;font-size:.68rem}.split-head{display:block}.split-head>p{max-width:none}.benefit-grid,.offer-grid,.grid-3{grid-template-columns:1fr}.benefit{min-height:auto}.benefit h3{margin-top:22px}.steps{grid-template-columns:repeat(2,1fr)}.booking-layout{display:block}.booking-summary .sticky{position:static}.booking-page h1{font-size:clamp(3rem,12vw,4rem)}.form-row{grid-template-columns:1fr;gap:0}.selection-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sharing{display:block}.info-tiles{grid-template-columns:1fr}.admin-shell,.admin-columns{grid-template-columns:1fr}.admin-sidebar{position:static;display:flex;flex-wrap:wrap;gap:7px}.admin-sidebar a{font-size:.77rem;padding:9px}.details-grid{grid-template-columns:1fr 1fr}.footer-grid{gap:28px}.footer-bottom{margin-top:36px}}
@media(max-width:440px){.hero-actions{gap:12px}.hero-actions .btn{width:100%}.photo-print{width:160px}.print-a{left:0}.print-b{right:0}.hero-sticker{right:10%}.step-title h2{font-size:1.25rem}.cal-days button,.cal-days span{height:37px}.cal-legend{font-size:.68rem}.box-choice{padding:12px;gap:8px}.addon-row{grid-template-columns:1fr auto}.addon-row .qty-label{grid-column:2}.selection-grid{grid-template-columns:1fr 1fr}.option-art{height:93px}.gallery-grid{grid-template-columns:1fr 1fr}.photo-card img,.guest-photo img{height:155px}.details-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}}

.admin-tabs{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 35px}.admin-tabs a{display:inline-flex;padding:10px 16px;border-radius:30px;background:white;text-decoration:none;font-size:.85rem;font-weight:800;border:1px solid var(--line)}.admin-tabs a.current,.admin-tabs a:hover{background:var(--violet);color:white;border-color:var(--violet)}

.package-picker{display:grid;gap:12px}.package-choice{display:flex;align-items:center;gap:18px;border:2px solid var(--line);padding:20px;border-radius:14px;cursor:pointer}.package-choice:has(input:checked){border-color:var(--violet);background:#f8f0fb}.package-choice input{accent-color:var(--violet)}.package-choice span{flex:1}.package-choice small{display:block;font-size:.79rem;line-height:1.45;color:var(--muted);margin-top:5px;font-weight:500}.package-choice strong{white-space:nowrap}
/* v2: product photography, extras, and TemplatesBooth gallery */
.offer-graphic{overflow:hidden}.offer-graphic>img{height:100%;width:100%;object-fit:cover}
.choice-visual{overflow:hidden}.choice-visual img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.package-choice img{width:82px;height:72px;object-fit:cover;border-radius:10px;display:block;margin-bottom:8px}
.addon-row img{width:78px;height:70px;object-fit:cover;float:left;margin-right:13px;border-radius:10px}
.editor form>img{max-width:220px;max-height:140px;object-fit:cover;display:block;margin:14px 0;border-radius:12px}
.extra-grid,.template-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}
.extra-card,.template-card{min-width:0;overflow:hidden;border:1px solid var(--line);background:var(--paper);border-radius:15px;padding:14px}
.extra-card>img,.template-card>img{display:block;width:100%;height:170px;object-fit:cover;border-radius:10px;margin-bottom:14px}
.extra-placeholder{display:grid;place-content:center;font-size:3.5rem;background:var(--lilac);border-radius:10px;min-height:135px;color:var(--violet)}
.extra-card h3{font-size:1.2rem;margin:9px 0}.extra-card p,.template-card p{font-size:.86rem;color:var(--muted)}
.extra-card label{margin-top:15px}.extra-card label input{max-width:120px}.template-browser{border-top:1px solid var(--line);padding-top:22px;margin-top:24px}
.template-card{display:flex;flex-direction:column;gap:6px}.template-card.selected{border:3px solid var(--violet)}.template-card img{height:200px;object-fit:contain;background:#eee}
.template-card a{font-size:.83rem;margin-bottom:8px}.template-card button{font-size:.8rem;padding:9px 12px;margin-top:auto}.template-results:not(:has(.template-card)){display:block}
#template-picked{font-size:.86rem;overflow-wrap:anywhere;margin-top:15px}.payment-options{border:1px solid var(--line);border-radius:14px;padding:16px;margin:22px 0}.payment-options legend{font-weight:800}
@media(max-width:800px){.extra-grid,.template-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.extra-grid,.template-results{grid-template-columns:1fr}.package-choice img{width:65px}.extra-card>img{height:190px}}

/* V3: staffelpreise, Aktionscodes und Teilzahlung */
.coupon-targets{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.2rem;margin:1rem 0}
.coupon-targets>div{background:#f5f3ef;border-radius:12px;padding:1rem}
.coupon-targets .check-label{margin:.4rem 0;font-size:.89rem}
.tier-info{display:block;color:#706a63;font-size:.82rem;max-width:230px;line-height:1.4}
.booking-summary label{display:block;margin-top:.8rem;margin-bottom:.3rem}
.booking-summary label input{width:100%;box-sizing:border-box}
#coupon-status{min-height:1.4em}
@media(max-width:800px){.coupon-targets{grid-template-columns:1fr}.tier-info{max-width:none}}

/* V5: einfacher, sicherer Editor für Rechtstexte */
.legal-edit{padding:1.3rem 0;border-bottom:1px solid var(--line)}
.legal-edit:last-of-type{border-bottom:0}
.legal-edit-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.75rem}
.legal-edit-heading h3{margin:0}
.legal-edit-heading a{font-size:.85rem;font-weight:700}
.legal-edit label{margin-top:.8rem}
.legal-edit textarea{font-family:inherit;line-height:1.65;min-height:180px}

/* V6 */
.package-choice input:not(:checked) + span { cursor:pointer; }
.audit-table td{font-size:.91rem;vertical-align:top}
.audit-table td:first-child{white-space:nowrap}
.booking-page h3{margin-top:1rem}

/* V8 · Einheitlicher Login und übersichtliche zweispaltige Arbeitsbereiche */
.unified-login{padding-top:75px;padding-bottom:100px}
.unified-login h1{font-size:clamp(2.6rem,5vw,4.2rem)}
.unified-login .card{max-width:590px;box-shadow:0 18px 65px rgba(36,37,31,.075)}
.unified-login .lead{max-width:590px;margin-bottom:30px}
.unified-login .card .btn{margin-top:7px}
.portal-workspace.wrap{width:min(1540px,calc(100% - 52px));padding-top:36px;padding-bottom:84px}
.workspace-layout{display:grid;grid-template-columns:255px minmax(0,1fr);align-items:start;gap:32px}
.workspace-sidebar{position:sticky;top:110px;align-self:start;max-height:calc(100vh - 128px);overflow-y:auto;background:#fffefa;border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 32px rgba(28,31,26,.045);padding:24px 14px 18px;scrollbar-width:thin}
.workspace-sidebar-heading{display:flex;flex-direction:column;gap:2px;padding:0 14px 19px;border-bottom:1px solid var(--line);margin-bottom:14px}
.workspace-sidebar-heading strong{font-family:'Outfit',Arial,sans-serif;font-size:1.24rem;letter-spacing:-.02em}
.workspace-role{color:var(--violet);font-weight:800;letter-spacing:.17em;font-size:.63rem}
.workspace-menu{display:block}.workspace-menu>summary{display:none}
.workspace-nav-group+.workspace-nav-group{margin-top:20px}
.workspace-nav-label{display:block;font-size:.64rem;letter-spacing:.13em;font-weight:800;color:#787b71;padding:0 14px;margin:0 0 9px}
.workspace-nav-item{color:#40443c;min-height:42px;border-radius:11px;display:flex;gap:11px;align-items:center;padding:10px 11px;text-decoration:none;font-size:.865rem;font-weight:700;line-height:1.35;transition:background-color .12s ease}
.workspace-nav-icon{flex:0 0 24px;text-align:center;color:#68567c;font-size:1rem;font-weight:800}
.workspace-nav-item:hover,.workspace-nav-item:focus-visible{background:#f6f2f8;color:var(--violet)}
.workspace-nav-item.selected{background:var(--lilac);color:#4d246f;box-shadow:inset 3px 0 var(--violet)}
.workspace-sidebar-footer{border-top:1px solid var(--line);margin-top:20px;padding:16px 12px 3px;display:grid;gap:12px}
.workspace-small-link{font-weight:700;font-size:.78rem;text-decoration:none;color:#585a54}
.workspace-small-link:hover{text-decoration:underline}
.workspace-sidebar-footer form{margin:0}
.workspace-logout{border:0;padding:4px 0;color:#7d3373;font-weight:800;font-size:.82rem;background:none;text-align:left}
.workspace-logout:hover{text-decoration:underline}
.workspace-main{min-width:0}
.workspace-main-topline{color:#828278;font-weight:700;font-size:.81rem;margin:10px 0 20px}
.workspace-main-topline span{color:var(--violet);padding:0 7px}
.workspace-pagehead{border-radius:19px;background:linear-gradient(120deg,#fffefa,#f1ebf6);border:1px solid #e7dfe9;padding:30px 34px;margin-bottom:26px}
.workspace-pagehead .eyebrow{margin-bottom:10px}
.workspace-pagehead h1{font-size:clamp(2.0rem,3.4vw,3.1rem);margin-bottom:8px}
.workspace-pagehead p{font-size:.95rem;color:#64665c;margin:0}
.workspace-main>.eyebrow{margin-bottom:8px}
.workspace-main>h1{font-size:clamp(2.2rem,3.8vw,3.8rem);margin-bottom:12px}
.workspace-main>.lead{margin-bottom:24px}
.workspace-main .section-title{margin-top:42px}
.workspace-main .section-title h2{font-size:clamp(1.9rem,3vw,2.55rem)}
.workspace-main .info-tiles{margin:24px 0 36px}
.workspace-main .event-head h1{font-size:clamp(2.15rem,4vw,3.4rem)}
.workspace-main .event-head h2{font-size:clamp(1.9rem,3vw,2.7rem)}
.workspace-main .table-wrap{max-width:100%;overflow-x:auto}
.workspace-main>.card,.workspace-main>form.card{margin-bottom:22px}
.workspace-main [id]{scroll-margin-top:125px}
.workspace-main .grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.workspace-main .event-card{min-height:260px}
.workspace-main .selection-grid{grid-template-columns:repeat(auto-fit,minmax(158px,1fr))}
.workspace-main .extra-grid{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.workspace-main .admin-tabs{display:none}
@media(max-width:1070px){
 .portal-workspace.wrap{width:min(100% - 36px,1240px)}
 .workspace-layout{grid-template-columns:216px minmax(0,1fr);gap:20px}
 .workspace-sidebar{padding:20px 9px 16px}
 .workspace-nav-item{gap:6px;padding:9px 7px;font-size:.8rem}
 .workspace-nav-label{padding:0 9px}
 .workspace-sidebar-heading{padding-inline:9px}
}
@media(max-width:760px){
 .portal-workspace.wrap{width:calc(100% - 28px);padding-top:20px;padding-bottom:48px}
 .workspace-layout{grid-template-columns:minmax(0,1fr);gap:17px}
 .workspace-sidebar{position:static;max-height:none;overflow:visible;padding:13px 14px;border-radius:16px}
 .workspace-sidebar-heading{padding:2px 2px 10px;margin-bottom:0;border-bottom:0}
 .workspace-sidebar-heading strong{font-size:1.1rem}
 .workspace-menu>summary{display:flex;justify-content:space-between;gap:20px;font-size:.9rem;font-weight:800;color:var(--violet);padding:10px 3px;cursor:pointer;list-style:none;border-top:1px solid var(--line)}
 .workspace-menu>summary::-webkit-details-marker{display:none}
 .workspace-menu>nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:16px;padding:8px 0 4px}
 .workspace-nav-group+.workspace-nav-group{margin-top:0}
 .workspace-nav-item{font-size:.81rem;padding:8px 7px;min-height:37px}
 .workspace-sidebar-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 3px 0;margin-top:8px}
 .workspace-main-topline{margin:0 0 15px}
 .workspace-pagehead{padding:21px 19px;margin-bottom:20px}
 .workspace-main .info-tiles{margin:20px 0 26px}
 .workspace-main .details-grid{grid-template-columns:1fr}
 .workspace-main .event-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
 .workspace-menu>nav{grid-template-columns:1fr 1fr;gap:14px 5px}
 .workspace-nav-item{font-size:.76rem;gap:4px}
 .workspace-nav-icon{flex-basis:20px}
 .workspace-main .selection-grid,.workspace-main .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .workspace-main .info-tiles{grid-template-columns:1fr}
 .workspace-main .card{padding:20px 16px}
}

.workspace-quicknav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 25px}
.workspace-quicknav a{display:inline-flex;border-radius:999px;border:1px solid #dfd6e5;background:#fff;color:#5a3f70;padding:8px 14px;text-decoration:none;font-size:.8rem;font-weight:800}
.workspace-quicknav a:hover,.workspace-quicknav a:focus-visible{background:var(--lilac)}

/* V9: continuously available withdrawal link and clear processing cards */
.site-header nav .v9-nav-withdraw{color:#5c2b78;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;font-weight:800}
.footer .v9-withdrawal-link{font-weight:800;color:#e4d3fd;text-decoration:underline;text-underline-offset:5px}
.v9-withdrawal .card{margin-bottom:22px}
.v9-withdrawal h1{font-size:clamp(2.5rem,6vw,4.4rem)}
.v9-withdrawal .btn{margin-top:12px}
#stornierung{scroll-margin-top:120px}
@media(max-width:1050px){.site-header nav .v9-nav-withdraw{font-size:.78rem}.site-header nav{gap:15px}}

/* V12 – Stornierungsstaffel aufgeräumt bearbeiten */
.cancel-tier-head,.cancel-tier-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(110px,auto);gap:12px;align-items:end;margin:12px 0}
.cancel-tier-head{font-size:.8rem;font-weight:800;color:#676a60;letter-spacing:.02em;margin-top:20px}
.cancel-tier-row{border-bottom:1px solid var(--line);padding-bottom:10px}
.cancel-tier-row label{margin:0;font-size:.8rem}
.cancel-tier-row input{margin-top:5px}
.cancel-tier-row button{white-space:nowrap}
.cancel-preview-table{margin:12px 0 4px}
@media(max-width:620px){.cancel-tier-head{display:none}.cancel-tier-row{grid-template-columns:1fr 1fr}.cancel-tier-row button{grid-column:1/-1}}

/* V16: structured pickup calendar controls and hidden package types */
[hidden]{display:none!important}#pickup-period{margin-top:18px;background:#f9f4fb;border:1px solid #e0cee9}#pickup-period .form-row{margin-bottom:0}.box-choice strong{font-size:.86rem}.offer-bottom b{font-size:1.05rem}


/* V27: Schritte der Buchung nacheinander anzeigen */
#booking-form .book-section{scroll-margin-top:112px}
#booking-form .book-section[hidden],#booking-form .booking-summary[hidden]{display:none!important}
.booking-wizard-status{font-size:.82rem;font-weight:800;color:var(--violet);margin:0 0 20px}
.booking-wizard-continue{margin-top:22px}
@media(max-width:760px){#booking-form .book-section{scroll-margin-top:86px}.booking-wizard-continue{width:100%}}

@media(min-width:761px){
  .booking-layout.booking-wizard-before-summary{grid-template-columns:minmax(0,760px);justify-content:center}
}

/* V33: Hide ineligible packages, extras and progressive wizard sections. */
#booking-form .package-choice[hidden],#booking-form .addon-row[hidden],#booking-form .booking-summary[hidden],#booking-form .book-section[hidden]{display:none!important}
#booking-form .addon-row .check-label{margin:0;min-width:125px;justify-self:end;align-self:center;cursor:pointer}
#booking-form .addon-row .check-label input{width:22px;height:22px}

/* V35 separate extras purchase confirmation */
.checkout-table{width:100%;border-collapse:collapse;margin:16px 0}.checkout-table th,.checkout-table td{border-bottom:1px solid var(--line);padding:12px 8px;text-align:left}.checkout-table th:last-child,.checkout-table td:last-child{text-align:right}.checkout-table th:nth-child(2),.checkout-table td:nth-child(2){text-align:center}

/* V37: CMS-managed home sections, featured item and visual administration */
.v37-featured{padding-block:80px}
.v37-feature-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);gap:40px;align-items:center;background:#ebeeda;border-radius:26px;padding:clamp(25px,5vw,60px)}
.v37-feature-grid h2{font-size:clamp(2.4rem,5vw,4.2rem)}
.v37-feature-visual{background:#e6d8f2;border-radius:20px;min-height:280px;display:grid;place-items:center;overflow:hidden}
.v37-feature-visual img{width:100%;height:100%;max-height:430px;object-fit:cover;display:block}
.v37-feature-visual>span{font-size:8rem;color:#684684}
.v37-coupon-badge{display:inline-block;background:white;border:1px dashed #684684;border-radius:12px;padding:10px 14px;font-size:.95rem}
.v37-page-note{padding-block:35px 10px}
.v37-page-note-box{background:#fffefa;border:1px solid #e6e5dd;padding:25px;border-radius:18px}
.v37-page-note h2{font-size:clamp(1.6rem,3vw,2.4rem)}
.v37-page-note p{margin:0}
.v37-footer-links{margin-top:30px;display:flex;gap:12px 24px;align-items:center;flex-wrap:wrap;font-size:.87rem}
.v37-footer-links a{color:#c5cfbe}
.v37-category h2{font-size:clamp(2.2rem,4vw,3.5rem)}
.v37-product-card a{display:inline-block;margin-top:9px;font-size:.9rem}
.v37-custom-page{min-height:380px}
.v37-custom-page h1{font-size:clamp(2.6rem,6vw,5rem)}
.v37-text{margin-block:25px 40px;overflow-wrap:anywhere}
.v37-text p{margin-bottom:18px}
.v37-admin-section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:18px}
.v37-admin-box{min-width:0;align-self:start}
.v37-admin-box summary{cursor:pointer;display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:15px}
.v37-admin-box summary span{font-size:.78rem;color:var(--muted)}
.v37-admin-box label{margin-block:12px}
.v37-inline-links{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 25px}
.v37-inline-links a{display:inline-block;padding:8px 12px;border-radius:20px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:800;font-size:.8rem;text-decoration:none}
.v37-inline-links a:hover,.v37-inline-links a.selected{background:var(--lilac);color:var(--violet)}
.v37-selector{border:1px solid var(--line);border-radius:14px;margin:15px 0;padding:15px}
.v37-selector legend{font-size:1rem;font-weight:800}
.v37-selector .check-label{margin:8px 0}
@media(max-width:760px){.v37-feature-grid{grid-template-columns:1fr}.v37-feature-visual{min-height:200px}}

.v37-hero-photo{overflow:hidden;border-radius:25px;height:min(530px,65vw)}.v37-hero-photo img{width:100%;height:100%;object-fit:cover;border-radius:25px;display:block}.v37-page-note-img{width:100%;border-radius:14px;max-height:400px;object-fit:cover}.v37-current-image img{max-width:340px;max-height:190px;object-fit:contain;border-radius:12px;margin-block:15px}.v37-page-note .v37-page-image{width:100%;max-height:400px;object-fit:cover;border-radius:13px;margin-bottom:20px}.v37-custom-page .v37-page-image{max-height:420px;object-fit:cover;border-radius:15px;margin:10px 0 24px}

/* V38 – übersichtliche Miettage-Wahl, getrennt von der Geräteauswahl */
#booking-form .v38-extension{border:1px solid #e1d8e7;border-radius:18px;background:#fbf9fd;padding:20px;margin:6px 0 24px}
#booking-form .v38-extension h3{font-size:1.08rem;margin:0 0 8px}
#booking-form .v38-extension .fineprint{margin:8px 0 12px}
#booking-form .v38-extension-controls{display:flex;align-items:end;gap:12px;max-width:430px}
#booking-form .v38-extension-controls label{margin:0;flex:1;min-width:0;font-weight:800;font-size:.85rem}
#booking-form .v38-extension-controls input{width:100%;text-align:center;font-size:1.15rem;font-weight:800;margin-top:7px;min-height:48px}
#booking-form .v38-day-btn{border:1px solid #ad98c2;border-radius:12px;background:#fff;color:#5b397b;cursor:pointer;min-width:49px;min-height:49px;font-size:1.7rem;font-weight:800;line-height:1;transition:background-color .15s ease}
#booking-form .v38-day-btn:hover:not(:disabled),#booking-form .v38-day-btn:focus-visible{background:#eee3f5}
#booking-form .v38-day-btn:disabled{cursor:not-allowed;opacity:.45}
#booking-form .v38-rental-dates{margin:13px 0 6px;font-size:.95rem;font-weight:800;color:#453153}
#booking-form .v38-extension-status{border-radius:10px;padding:10px 12px;font-size:.9rem;line-height:1.45;margin:14px 0 8px}
#booking-form .v38-extension-status[data-state="error"]{background:#fff2ed;border:1px solid #dba58f;color:#7e291b}
#booking-form .v38-extension-status[data-state="ok"]{background:#eaf4e2;border:1px solid #bdd1b0;color:#27562b}
#booking-form .v38-extension-status[data-state="loading"]{background:#f1edf6;border:1px solid #d7c6e2;color:#5b397b}
#booking-form #extension-price-info{font-size:.85rem;line-height:1.5;color:#55555b;margin:10px 0 0}
@media(max-width:450px){#booking-form .v38-extension{padding:15px}#booking-form .v38-extension-controls{gap:8px}#booking-form .v38-day-btn{min-width:45px;min-height:49px}}

/* V40 – Buchungsentwurf: dezenter Hinweis unter dem Schrittzähler */
.booking-draft-hint{font-size:.82rem;line-height:1.5;color:#5d6058;margin:.15rem 0 .8rem;}
.booking-draft-clear{font:inherit;text-decoration:underline;color:#674486;cursor:pointer;background:none;border:0;padding:.15rem .25rem;}
.booking-draft-clear:hover,.booking-draft-clear:focus-visible{color:#38244f;}


/* V41: individuell konfigurierbare Angebotsnavigation */
.site-header .nav-inner{gap:14px}
.site-header nav{gap:clamp(12px,1.7vw,27px)}
.site-header nav .v41-more{position:relative;font-weight:700;font-size:.91rem;color:#53594e}
.site-header nav .v41-more>summary{cursor:pointer;list-style:none;white-space:nowrap}
.site-header nav .v41-more>summary::-webkit-details-marker{display:none}
.site-header nav .v41-more[open]>summary{color:var(--violet)}
.site-header nav .v41-more-panel{position:absolute;top:100%;right:0;z-index:35;min-width:210px;display:grid;gap:0;padding:8px;border-radius:14px;background:var(--paper);box-shadow:var(--shadow);border:1px solid var(--line)}
.site-header nav .v41-more-panel a{padding:9px 12px;border-radius:8px;white-space:nowrap}
.site-header nav .v41-more-panel a:hover{background:#eee6f2}
.v41-type-page h1{font-size:clamp(2.8rem,6vw,5.8rem)}
.v41-type-nav{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 32px}
.v41-type-nav a{padding:10px 15px;border-radius:40px;border:1px solid var(--line);background:var(--paper);text-decoration:none;font-weight:800;font-size:.9rem}
.v41-type-nav .v41-current{background:var(--lilac);border-color:var(--violet);color:var(--violet)}
.v41-page-cta{margin-top:35px}
.v41-nav-editor{border:1px solid var(--line);border-radius:16px;padding:17px 20px;margin:16px 0;min-width:0}
.v41-nav-editor legend{font-weight:800;padding:0 8px}
.v41-nav-editor .check-label{margin-bottom:12px}
@media(max-width:1100px) and (min-width:761px){.nav-cta{display:none}.nav-inner{gap:10px}.site-header nav{gap:10px}.site-header nav a{font-size:.83rem}}
@media(max-width:760px){.site-header nav .v41-more{width:100%}.site-header nav .v41-more-panel{position:static;box-shadow:none;border:0;background:transparent;padding:4px 10px}.site-header nav .v41-more-panel a{white-space:normal;padding:8px 0}}


/* V42: Tagespreise für Grundpaket und jeden Zusatztag gut lesbar untereinander */
#booking-form .v42-price-breakdown{margin:16px 0 4px;border:1px solid #e2dce8;border-radius:14px;background:#fff;overflow:hidden;color:#282b26}
#booking-form .v42-price-breakdown:empty{display:none}
#booking-form .v42-price-heading{font-size:1rem;font-weight:850;line-height:1.4;margin:0;padding:15px 16px 9px;color:#2c2930}
#booking-form .v42-price-list{list-style:none;margin:0;padding:0 16px}
#booking-form .v42-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e8e4e9;min-width:0}
#booking-form .v42-price-row:last-child{border-bottom:0}
#booking-form .v42-price-details{display:flex;flex-direction:column;gap:2px;min-width:0}
#booking-form .v42-price-details>strong{font-size:.94rem;line-height:1.35;color:#292b27}
#booking-form .v42-price-date{font-size:.89rem;font-weight:750;color:#66447e}
#booking-form .v42-price-details small{font-size:.78rem;line-height:1.4;color:#5d6058}
#booking-form .v42-price-amount{font-size:1rem;white-space:nowrap;font-variant-numeric:tabular-nums;color:#292b27}
#booking-form .v42-base-day .v42-price-details>strong{font-weight:900}
#booking-form .v42-price-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;background:#f2ecf7;color:#362443;font-size:.9rem;font-weight:850}
#booking-form .v42-price-total strong{font-size:1.05rem;white-space:nowrap;font-variant-numeric:tabular-nums}
#booking-form .v42-price-hint{font-size:.78rem;color:#55555b;line-height:1.5;margin:0;padding:0 16px 13px;background:#f2ecf7}
@media(max-width:440px){#booking-form .v42-price-list{padding:0 12px}#booking-form .v42-price-heading{padding:13px 12px 8px}#booking-form .v42-price-row{gap:7px}#booking-form .v42-price-details>strong{font-size:.85rem}#booking-form .v42-price-amount{font-size:.91rem}#booking-form .v42-price-total{padding:12px;font-size:.84rem}#booking-form .v42-price-hint{padding:0 12px 12px}}

/* V47: Fotodruck im selben Kartenstil wie Geräte und Pakete. */
#booking-form .v47-print-question{min-width:0;border:0;padding:0;margin:28px 0 0}
#booking-form .v47-print-question>legend{width:100%;padding:0;margin:0 0 12px;font-family:'Outfit','DM Sans',sans-serif;font-size:1.35rem;font-weight:700;line-height:1.2;letter-spacing:-.02em}
#booking-form .v47-print-question>.fineprint{margin-bottom:18px}
#booking-form .v47-print-choice{margin:0;background:var(--paper);transition:border-color .15s,background-color .15s}
#booking-form .v47-print-choice input{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:var(--violet)}
#booking-form .v47-print-choice b{display:block;font-weight:800}
#booking-form .v47-print-choice:has(input:checked){border-color:var(--violet);background:#f8f0fb}
#booking-form .v47-print-choice:has(input:focus-visible){outline:3px solid #ba9dcf;outline-offset:3px}
#booking-form .v47-print-choice:has(input:disabled){opacity:.48;background:#f6f2ee;cursor:not-allowed}
@media(max-width:560px){#booking-form .v47-print-question{margin-top:24px}#booking-form .v47-print-choice{padding:16px;gap:13px}#booking-form .v47-print-question>legend{font-size:1.2rem}}

/* V51: uploaded header logo, same brand link for homepage and admin gesture. */
.brand .site-logo{display:block;width:auto;height:auto;max-width:230px;max-height:64px;object-fit:contain}
.v51-logo-preview{display:flex;align-items:center;min-height:90px;max-width:420px;padding:18px;background:var(--cream);border:1px solid var(--line);border-radius:14px;margin:18px 0 24px}
@media(max-width:760px){.brand .site-logo{max-width:190px;max-height:50px}.v51-logo-preview{max-width:100%}}
@media(max-width:1100px) and (min-width:761px){.brand .site-logo{max-width:170px;max-height:56px}}

/* V54: mutually exclusive addon packages, matching the booking selection colors. */
#booking-form .v54-addon{grid-template-columns:minmax(0,1fr) auto}
#booking-form .v54-addon-tabs{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
#booking-form .v54-addon-tabs button{flex:1 1 120px;min-width:0;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper,#fffefa);color:inherit;font:inherit;cursor:pointer;overflow-wrap:anywhere}
#booking-form .v54-addon-tabs button[aria-checked=true]{background:#f5effa;border-color:var(--violet);box-shadow:inset 0 0 0 1px var(--violet)}
#booking-form .v54-addon-tabs button:disabled{opacity:.5;cursor:not-allowed}
#booking-form .v54-addon-price{max-width:220px;text-align:right;font-size:.86rem;overflow-wrap:anywhere}
@media(max-width:600px){#booking-form .v54-addon{grid-template-columns:minmax(0,1fr)}#booking-form .v54-addon-price{text-align:left;max-width:none}#booking-form .v54-addon-tabs button{flex-basis:calc(50% - 8px)}}


/* V57: each optional extra is a separate card within the shared booking step. */
#booking-form .addon-row{
  margin:24px 0;
  padding:22px;
  border:1px solid var(--line);
  border-left:4px solid var(--lilac);
  border-radius:18px;
  background:var(--paper);
  box-shadow:0 5px 18px rgba(33,37,31,.035);
  min-width:0;
}
#booking-form .addon-row:last-child{border:1px solid var(--line);border-left:4px solid var(--lilac)}
#booking-form .addon-row>div:first-child{min-width:0}
#booking-form .addon-row>div:first-child>b{display:block;font-size:1.05rem;line-height:1.3;font-weight:800;letter-spacing:-.015em}
#booking-form .addon-row>div:first-child>p{margin-top:9px;line-height:1.6;overflow-wrap:anywhere}
#booking-form .addon-row>strong{white-space:normal;overflow-wrap:anywhere}
#booking-form .v54-addon-tabs{padding-top:16px;margin-top:0;border-top:1px solid var(--line)}
@media(max-width:600px){
  #booking-form .addon-row{padding:18px;margin:20px 0;gap:14px;grid-template-columns:minmax(0,1fr)}
  #booking-form .addon-row>strong{text-align:left;max-width:none}
  #booking-form .addon-row .qty-label{grid-column:1;justify-self:start;max-width:140px}
  #booking-form .addon-row .check-label{grid-column:1;justify-self:start;min-width:0}
  #booking-form .addon-row .tier-info{grid-column:1/-1}
}

/* V61: separate cards and rental periods for additional physical devices. */
#v61-picker{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
#v61-picker .v61-item{margin:14px 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--paper,#fffefa)}
#v61-picker .v61-item:has(input[name="additional_box_ids[]"]:checked){border-color:var(--violet,#70448c);background:#f7f0fb}
#v61-picker .v61-item[hidden],#v61-picker .v61-options[hidden]{display:none!important}
#v61-picker .v61-options{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
#v61-picker .check-label{align-items:flex-start}
#v61-picker .v61-price{font-weight:700}
#v61-picker .v38-extension-controls input{width:100%;min-width:0;text-align:center}
@media(max-width:600px){#v61-picker .v61-item{padding:16px}}

/* V63: named individual lines in the booking price summary. */
.booking-summary .v63-item-row{gap:12px;align-items:flex-start}
.booking-summary .v63-item-row>span{min-width:0;overflow-wrap:anywhere;flex:1}
.booking-summary .v63-item-row>b{flex:0 0 auto;max-width:48%;text-align:right}
#summary-extension-row[hidden],#summary-addon-items[hidden],#summary-additional-items[hidden]{display:none!important}

/* V66: print-template page and private design reference forms. */
.v66-intro{max-width:850px;line-height:1.8;margin-bottom:42px}
#eigene-vorlagen input[type=file]{display:block;width:100%;margin:12px 0}
.template-browser .template-card{min-width:0;overflow-wrap:anywhere}
.site-header nav{column-gap:clamp(10px,1.3vw,26px)}

/* V67: closable image preview and selected layout photos */
.v67-lightbox{border:0;border-radius:18px;padding:16px;max-width:94vw;max-height:94dvh;background:var(--paper,#fff);box-shadow:0 20px 80px #0006}.v67-lightbox::backdrop{background:#000b}.v67-lightbox[open]{display:flex;flex-direction:column;gap:12px;align-items:center}.v67-lightbox>img{max-width:85vw;max-height:calc(90dvh - 100px);object-fit:contain}.v67-lightbox>button{align-self:flex-end}.v67-selected-grid{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0}.v67-thumb{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;width:190px;cursor:zoom-in;color:inherit}.v67-thumb img{width:100%;height:180px;object-fit:contain}.v67-thumb span{display:block;margin-top:8px}.template-card .text-btn{cursor:zoom-in}

/* V68: grouped main navigation and editable information pages. */
.site-header .nav-inner{width:min(100% - 40px,1440px);gap:16px}.site-header nav{gap:16px}.site-header .v68-menu{position:relative;font-size:.86rem;font-weight:700;color:#53594e}.v68-menu>summary{list-style:none;cursor:pointer;white-space:nowrap;padding:12px 0}.v68-menu>summary::-webkit-details-marker{display:none}.v68-menu>summary:focus-visible{outline:3px solid #ba9dcf;outline-offset:3px}.v68-menu[open]>summary{color:var(--violet)}.site-header nav .v68-submenu{position:absolute;z-index:40;left:0;top:100%;min-width:245px;max-width:min(380px,85vw);display:grid;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.v68-submenu a{padding:11px 13px;border-radius:8px;white-space:normal}.v68-submenu a:hover,.v68-submenu a:focus-visible{background:var(--lilac)}.v68-page-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.v68-page-tabs a{padding:9px 14px;border:1px solid var(--line);border-radius:24px;text-decoration:none;background:var(--paper);font-size:.88rem}.v68-page-tabs [aria-current=page]{background:var(--lilac);border-color:var(--violet)}.v68-copy{max-width:900px;line-height:1.85;margin:30px 0 40px;overflow-wrap:anywhere}.v68-page .offer-info h2{font-size:1.5rem}.v68-media img{width:100%;height:240px;object-fit:contain;border-radius:12px}.v68-media h2{font-size:1.4rem}.v68-edit-card{padding:20px;border:1px solid var(--line);border-radius:16px;margin:18px 0;background:var(--paper)}.v68-edit-card>details{margin:16px 0}.v68-admin-preview{background:var(--lilac);padding:18px;border-radius:14px;margin:24px 0}.v68-admin-preview [data-v68-preview]{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.v68-admin-preview [data-v68-preview]>div{display:grid;gap:7px;background:var(--paper);border-radius:10px;padding:12px}.v68-admin-preview [data-v68-preview]>span{padding:12px}.v68-admin-preview [data-v68-preview]>div span{font-size:.85rem}.v68-edit-card [data-move=drag]{cursor:grab;touch-action:auto}
@media(max-width:1450px){.site-header .nav-cta{display:none}.site-header nav{gap:12px}.site-header nav>a{font-size:.86rem}}
@media(min-width:1201px){.site-header nav{display:flex}}
@media(max-width:1200px){.site-header .nav-inner{height:74px}.site-header .menu-button{display:block}.site-header nav{display:none;position:absolute;top:74px;left:0;right:0;max-height:calc(100dvh - 74px);overflow:auto;background:var(--paper);padding:14px 20px 25px;box-shadow:var(--shadow);flex-direction:column;gap:8px;align-items:stretch}.site-header nav.open{display:flex}.site-header .v68-menu{width:100%;font-size:.94rem}.site-header .v68-menu>summary{padding:10px 0}.site-header nav .v68-submenu{position:static;max-width:100%;min-width:0;box-shadow:none;border:0;border-left:2px solid var(--lilac);border-radius:0;margin:0 0 10px 5px;padding:0 8px}.v68-submenu a{padding:10px}.site-header nav>a{padding:8px 0;font-size:.94rem}}

/* V70: individual selected layouts and transparent upgrade prices. */
.v70-picked{display:flex;flex-direction:column;align-items:center;gap:8px}.v70-review{margin:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);width:190px;overflow-wrap:anywhere}.v70-review img{width:100%;height:180px;object-fit:contain}.v70-review figcaption{font-size:.85rem;margin-top:8px}.template-card [data-v70-price]{display:block;min-height:2.5em;margin:10px 0;font-weight:700;color:var(--violet)}.option-card [data-v70-price]{color:var(--violet);font-weight:700}.v70-picked .text-btn{padding:6px 12px}

/* V73: admin-configured extra packages with explicit total prices. */
.v73-packages{border:0;padding:0;margin:16px 0}.v73-packages legend{font-weight:700}.v73-package{display:flex;flex-wrap:wrap;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:8px;cursor:pointer}.v73-package input{width:auto!important;max-width:none!important;margin:0}.v73-package span{flex:1;min-width:80px}.v73-package strong{white-space:nowrap}.v73-package:has(input:checked){background:var(--lilac);border-color:var(--violet)}.extra-card select{width:100%;margin-top:8px}

/* V75: one editable design brief per purchased layout slot. */
.v75-layout-slot{margin:20px 0}.v75-layout-slot h3{margin-top:0}.v75-layout-preview{display:block;width:190px;max-width:100%;max-height:260px;object-fit:contain;margin:14px 0;border-radius:10px}.v75-admin-slot{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.v75-layout-slot textarea,.v75-layout-slot select{width:100%}
