*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
:root{
  --green-deep:#162416;--green-mid:#254225;--green-light:#3a6b3a;
  --leaf:#6aad6a;--gold:#c9a227;--gold-light:#e8c040;
  --cream:#f5f0e6;--cream-dim:rgba(245,240,230,0.7);--cream-mute:rgba(245,240,230,0.45);
}
body{font-family:'Jost',sans-serif;background:var(--green-deep);color:var(--cream);overflow-x:hidden;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;justify-content:space-between;align-items:center;padding:1.2rem 2.5rem;background:rgba(18,30,18,0.85);backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,162,39,0.15);}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:300;letter-spacing:.1em;color:var(--gold-light);}
.nav-logo span{font-style:italic;}
nav ul{list-style:none;display:flex;gap:2rem;}
nav a{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-dim);text-decoration:none;transition:color .25s;}
nav a:hover{color:var(--gold-light);}

/* ── NAV DROPDOWN (Termine → Orte) ── */
.nav-has-dropdown { position:relative; }
.nav-dropdown { position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%) translateY(-6px); min-width:200px; background:rgba(14,24,14,.97); border:1px solid rgba(201,162,39,.25); border-radius:6px; padding:.6rem 0; box-shadow:0 12px 36px rgba(0,0,0,.55); backdrop-filter:blur(16px); opacity:0; pointer-events:none; transition:opacity .2s ease, transform .2s ease; z-index:300; }
.nav-has-dropdown.open .nav-dropdown { opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.nav-dropdown::before { content:''; position:absolute; top:-6px; left:50%; width:10px; height:10px; background:rgba(14,24,14,.97); border-left:1px solid rgba(201,162,39,.25); border-top:1px solid rgba(201,162,39,.25); transform:translateX(-50%) rotate(45deg); }
.nav-dropdown-inner { display:flex; flex-direction:column; }
.nav-dropdown-inner a { padding:.75rem 1.4rem; font-family:'Jost',sans-serif; font-size:.75rem; letter-spacing:.18em; text-transform:uppercase; color:var(--cream-dim); text-decoration:none; transition:color .2s, background .2s; white-space:nowrap; border-bottom:1px solid rgba(255,255,255,.05); }
.nav-dropdown-inner a:last-child { border-bottom:none; }
.nav-dropdown-inner a:hover { color:var(--gold-light); background:rgba(201,162,39,.07); }
.nav-single-loc > a::after { display:none !important; }
.nav-single-loc .nav-dropdown { display:none !important; }

/* HERO */
.hero{position:relative;height:100vh;min-height:600px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:url('../images/hero-wald-v2.jpg') center/cover no-repeat;filter:brightness(.38) saturate(1.3);}
.hero-rays{position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 50% 30%,rgba(201,162,39,.18) 0%,transparent 70%);}
.hero-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 40%,rgba(18,30,18,.75) 100%);}
.hero-content{position:relative;z-index:2;padding:0 1rem;}
.hero-eyebrow{font-size:.73rem;letter-spacing:.38em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;animation:fadeUp .9s ease .2s both;}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,7.5vw,6.5rem);font-weight:300;line-height:1.06;color:#fff;animation:fadeUp .9s ease .4s both;}
.hero h1 em{font-style:italic;color:var(--gold-light);}
.hero-sub{font-size:1rem;font-weight:300;line-height:1.7;color:var(--cream-dim);max-width:460px;margin:1.4rem auto 0;animation:fadeUp .9s ease .6s both;}
.hero-cta{margin-top:2.4rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:fadeUp .9s ease .8s both;}
.btn{display:inline-block;padding:.8rem 2rem;border-radius:2px;font-family:'Jost',sans-serif;font-size:.8rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:all .25s;cursor:pointer;border:none;}
.btn-gold{background:var(--gold);color:var(--green-deep);}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px);}
.btn-ghost{background:transparent;color:var(--cream);border:1px solid rgba(245,240,230,.35);}
.btn-ghost:hover{border-color:var(--gold-light);color:var(--gold-light);}
.scroll-cue{position:absolute;bottom:2rem;left:0;right:0;margin:0 auto;width:max-content;transform:none;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:fadeUp .9s ease 1.1s both;}
.scroll-cue span{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;opacity:.45;}
.scroll-line{width:1px;height:44px;background:linear-gradient(var(--gold),transparent);animation:pulse 2s ease-in-out infinite;}

/* INTRO */
.intro{max-width:960px;margin:0 auto;padding:6rem 2rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.intro-img{border-radius:3px;overflow:hidden;aspect-ratio:3/4;}
.intro-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.8) saturate(1.1);display:block;}
.intro-text .eyebrow{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;}
.gold-bar{width:48px;height:1px;background:var(--gold);margin-bottom:1.6rem;}
.intro-text h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300;line-height:1.2;color:#fff;margin-bottom:1.3rem;}
.intro-text h2 em{font-style:italic;color:var(--gold-light);}
.intro-text p{font-size:.93rem;line-height:1.88;font-weight:300;color:var(--cream-dim);margin-bottom:1rem;}

/* EVENTS */
.events{padding:5rem 2rem 7rem;}
.section-head{text-align:center;margin-bottom:3.5rem;}
.section-head .eyebrow{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem;}
.section-head h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300;color:#fff;}
.section-head h2 em{font-style:italic;color:var(--leaf);}
.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;max-width:1100px;margin:0 auto;}

/* EVENT CARD */
.event-card{position:relative;background:rgba(255,255,255,.04);border:1px solid rgba(201,162,39,.18);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s;}
.event-card:hover{transform:translateY(-4px);border-color:rgba(201,162,39,.5);box-shadow:0 12px 40px rgba(0,0,0,.35);}
.event-card.full{opacity:.55;pointer-events:none;}
.card-img{position:relative;aspect-ratio:16/9;overflow:hidden;}
.card-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(1.15);transition:transform .5s;display:block;}
.event-card:hover .card-img img{transform:scale(1.05);}
.card-badge{position:absolute;top:.8rem;left:.8rem;padding:.28rem .75rem;border-radius:2px;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;}
.badge-open{background:var(--gold);color:var(--green-deep);}
.badge-few{background:#c05a20;color:#fff;}
.badge-full{background:rgba(90,90,90,.9);color:#fff;font-weight:700;}
.card-date-strip{background:rgba(201,162,39,.12);border-bottom:1px solid rgba(201,162,39,.15);padding:.75rem 1.2rem;display:flex;align-items:center;gap:1rem;}
.date-block{text-align:center;min-width:42px;}
.date-block .day-num{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;line-height:1;color:var(--gold-light);}
.date-block .month{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.date-meta{font-size:.8rem;color:var(--cream-dim);}
.date-meta strong{display:block;font-weight:500;color:var(--cream);margin-bottom:.15rem;}
.card-body{padding:1.3rem 1.4rem 1.5rem;flex:1;display:flex;flex-direction:column;}
.card-body h3{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:300;color:#fff;margin-bottom:.6rem;}
.card-body p{font-size:.85rem;line-height:1.72;color:var(--cream-dim);font-weight:300;flex:1;}
.card-footer{padding:.9rem 1.4rem;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;}
.spots{font-size:.78rem;color:var(--cream-mute);}
.spots strong{color:var(--cream-dim);}
.card-price{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:300;color:var(--gold-light);letter-spacing:.04em;}
.card-price-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;}
.btn-book{padding:.55rem 1.3rem;background:var(--gold);color:var(--green-deep);font-family:'Jost',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;border:none;border-radius:2px;cursor:pointer;transition:background .25s,transform .2s;}
.btn-book:hover{background:var(--gold-light);transform:translateY(-1px);}

/* BOOKING MODAL */
.modal-backdrop{display:none;position:fixed;inset:0;z-index:500;background:rgba(10,18,10,.82);backdrop-filter:blur(6px);justify-content:center;align-items:center;padding:1rem;}
.modal-backdrop.open{display:flex;}
.modal{background:var(--green-mid);border:1px solid rgba(201,162,39,.28);border-radius:6px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;}
.modal-header{padding:1.6rem 1.8rem 1.2rem;border-bottom:1px solid rgba(201,162,39,.15);display:flex;justify-content:space-between;align-items:flex-start;}
.modal-header h3{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;color:#fff;}
.modal-event-info{font-size:.8rem;color:var(--gold);margin-top:.3rem;}
.modal-close{background:none;border:none;color:var(--cream-mute);font-size:1.4rem;cursor:pointer;padding:.2rem .4rem;line-height:1;transition:color .2s;flex-shrink:0;margin-left:1rem;}
.modal-close:hover{color:var(--cream);}
.modal-body{padding:1.6rem 1.8rem;}
.form-group{margin-bottom:1.1rem;}
.form-group label{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-mute);margin-bottom:.4rem;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;background:rgba(255,255,255,.06);border:1px solid rgba(201,162,39,.2);border-radius:2px;color:var(--cream);font-family:'Jost',sans-serif;font-size:.9rem;font-weight:300;outline:none;transition:border-color .25s;-webkit-appearance:none;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);}
.form-group select option{background:var(--green-mid);color:var(--cream);}
.form-group textarea{resize:vertical;min-height:80px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.modal-summary{background:rgba(201,162,39,.1);border:1px solid rgba(201,162,39,.2);border-radius:3px;padding:1rem 1.2rem;margin-bottom:1.4rem;font-size:.85rem;color:var(--cream-dim);line-height:1.7;}
.modal-summary strong{color:var(--gold-light);}
.btn-submit{width:100%;padding:.9rem;background:var(--gold);color:var(--green-deep);font-family:'Jost',sans-serif;font-size:.85rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;border:none;border-radius:2px;cursor:pointer;transition:background .25s;margin-top:.4rem;}
.btn-submit:hover{background:var(--gold-light);}
.btn-submit:disabled{opacity:.5;cursor:not-allowed;}
.booking-note{font-size:.75rem;color:var(--cream-mute);text-align:center;margin-top:.9rem;font-style:italic;}
.booking-success{display:none;text-align:center;padding:2.5rem 1.5rem;}
.booking-success .success-icon{font-size:2.8rem;margin-bottom:1rem;}
.booking-success h3{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:var(--leaf);margin-bottom:.7rem;}
.booking-success p{font-size:.9rem;color:var(--cream-dim);line-height:1.7;}

/* QUOTE */
.quote-section{position:relative;height:45vh;min-height:280px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.quote-bg{position:absolute;inset:0;background:url('../images/pexels-photo-38136.avif') center/cover fixed;filter:brightness(.35) saturate(1.2);}
.quote-bg::after{content:'';position:absolute;inset:0;background:rgba(18,30,18,.45);}
.quote-content{position:relative;z-index:2;text-align:center;padding:2rem;}
.quote-content blockquote{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,3vw,2.2rem);font-weight:300;font-style:italic;color:#fff;line-height:1.45;max-width:680px;}
.quote-content cite{display:block;margin-top:1.2rem;font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-style:normal;}

/* WISSEN & INSPIRATION */
.wissen{padding:6rem 2rem;background:rgba(0,0,0,.18);}
.wissen-intro{max-width:680px;margin:0 auto 4rem;text-align:center;}
.wissen-intro .eyebrow{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem;}
.wissen-intro h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3rem);font-weight:300;color:#fff;line-height:1.2;}
.wissen-intro h2 em{font-style:italic;color:var(--gold-light);}
.wissen-intro p{font-size:.95rem;line-height:1.85;font-weight:300;color:var(--cream-dim);margin-top:1.2rem;}
.wissen-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:860px;margin:0 auto 5rem;}
.stat-card{text-align:center;padding:2rem 1.2rem;background:rgba(201,162,39,.06);border:1px solid rgba(201,162,39,.2);border-radius:4px;}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:3.2rem;font-weight:300;color:var(--gold-light);line-height:1;margin-bottom:.4rem;}
.stat-unit{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.7rem;}
.stat-text{font-size:.83rem;line-height:1.6;color:var(--cream-dim);font-weight:300;}
.wissen-block{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:1000px;margin:0 auto 5rem;align-items:center;}
.wissen-block.reverse{direction:rtl;}
.wissen-block.reverse>*{direction:ltr;}
.wissen-block-img{border-radius:4px;overflow:hidden;aspect-ratio:4/3;}
.wissen-block-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.78) saturate(1.15);display:block;transition:transform .6s;}
.wissen-block:hover .wissen-block-img img{transform:scale(1.03);}
.wissen-block-text .eyebrow{font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;}
.wissen-block-text h3{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:300;color:#fff;line-height:1.2;margin-bottom:1rem;}
.wissen-block-text h3 em{font-style:italic;color:var(--leaf);}
.wissen-block-text p{font-size:.9rem;line-height:1.88;font-weight:300;color:var(--cream-dim);margin-bottom:.9rem;}
.wissen-block-text .fact-tag{display:inline-block;padding:.25rem .8rem;background:rgba(106,173,106,.15);border:1px solid rgba(106,173,106,.3);border-radius:2px;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--leaf);margin-top:.3rem;}
.wissen-quote{max-width:740px;margin:0 auto 5rem;text-align:center;padding:3rem 2rem;border-top:1px solid rgba(201,162,39,.15);border-bottom:1px solid rgba(201,162,39,.15);}
.wissen-quote blockquote{font-family:'Cormorant Garamond',serif;font-size:clamp(1.4rem,2.8vw,2rem);font-weight:300;font-style:italic;color:#fff;line-height:1.45;}
.wissen-quote cite{display:block;margin-top:1rem;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-style:normal;}
.sinne-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.2rem;max-width:1000px;margin:0 auto 3.5rem;}
.sinne-card{padding:1.6rem 1.2rem;background:rgba(255,255,255,.03);border:1px solid rgba(106,173,106,.15);border-radius:4px;text-align:center;transition:border-color .3s,background .3s;}
.sinne-card:hover{border-color:rgba(201,162,39,.35);background:rgba(201,162,39,.05);}
.sinne-icon{font-size:1.8rem;margin-bottom:.8rem;display:block;}
.sinne-card h4{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:300;color:#fff;margin-bottom:.5rem;}
.sinne-card p{font-size:.8rem;line-height:1.65;color:var(--cream-dim);font-weight:300;}
.wissen-cta{text-align:center;padding-top:1rem;}
.wissen-cta p{font-size:.92rem;color:var(--cream-dim);margin-bottom:1.5rem;}
@media(max-width:700px){
  .wissen-stats{grid-template-columns:1fr 1fr;}
  .wissen-block,.wissen-block.reverse{grid-template-columns:1fr;direction:ltr;gap:2rem;}
  .sinne-grid{grid-template-columns:1fr 1fr;}
}

/* FOOTER */
footer{padding:3.5rem 2rem 2rem;text-align:center;border-top:1px solid rgba(201,162,39,.12);}

.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;color:var(--gold-light);margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;}
.footer-sub{font-size:.78rem;color:var(--cream-mute);margin-bottom:1.8rem;letter-spacing:.12em;}
.footer-links{display:flex;gap:2rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap;}
.footer-links a{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-mute);text-decoration:none;transition:color .25s;}
.footer-links a:hover{color:var(--gold-light);}
.footer-copy{font-size:.72rem;color:rgba(245,240,230,.18);}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease;}
.reveal.visible{opacity:1;transform:none;}

/* ═══════════════════════════════════
   EDIT-MODUS GEMEINSAM
═══════════════════════════════════ */
#edit-fab{
  position:fixed; bottom:0; right:0; z-index:900;
  width:18px; height:18px; border-radius:0;
  background:transparent; color:transparent;
  border:none; cursor:default; font-size:0;
  opacity:0; pointer-events:all;
}
#edit-fab:hover{ background:transparent; transform:none; }

/* Edit-Toolbar */
#edit-toolbar{display:none;position:fixed;top:0;left:0;right:0;z-index:190;background:rgba(22,36,22,.97);backdrop-filter:blur(12px);border-bottom:2px solid var(--gold);padding:.75rem 1.5rem;align-items:center;gap:.75rem;flex-wrap:wrap;}
/* Im Bearbeitungsmodus rutscht die Navigationsleiste unter die Admin-Leiste, damit sie sichtbar & bearbeitbar bleibt */
body.edit-mode #edit-toolbar { top: 60px; } /* unter der Nav */
body.edit-mode #view-main,
body.edit-mode #view-wissen,
body.edit-mode #view-geschenk,
body.edit-mode #view-kontakt,
body.edit-mode #view-termine,
body.edit-mode #view-impressum,
body.edit-mode #view-datenschutz,
body.edit-mode #view-teilnahme { padding-top:120px; }

/* ── NAV-EDIT LEISTE ── */
#nav-edit-bar{display:none;position:fixed;left:0;right:0;z-index:999;background:rgba(30,14,50,.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(124,77,255,.4);padding:.5rem 1.2rem;align-items:center;gap:.6rem;flex-wrap:wrap;}
body.nav-edit-mode #nav-edit-bar{display:flex;}
body.nav-edit-mode nav{outline:2px dashed rgba(124,77,255,.6);outline-offset:-2px;}
body.nav-edit-mode nav [data-edit]{cursor:text;border-bottom:1px dashed rgba(124,77,255,.45);}
body.nav-edit-mode nav [data-edit]:hover{background:rgba(124,77,255,.08);}
.nav-logo-img{height:32px;width:auto;vertical-align:middle;margin-right:.5rem;border-radius:2px;}
#edit-toolbar.visible{display:flex;}
#edit-toolbar .tb-label{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);white-space:nowrap;}
.tb-btn{padding:.45rem 1rem;border-radius:2px;border:1px solid rgba(201,162,39,.35);background:rgba(201,162,39,.1);color:var(--cream);font-family:'Jost',sans-serif;font-size:.73rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s;white-space:nowrap;}
.tb-btn:hover{background:rgba(201,162,39,.25);border-color:var(--gold);}
.tb-btn.tb-active{background:rgba(201,162,39,.3);border-color:var(--gold);}
.tb-btn.danger{border-color:rgba(220,80,50,.4);background:rgba(220,80,50,.1);}
.tb-btn.danger:hover{background:rgba(220,80,50,.25);border-color:#e85d24;color:#ff9977;}
.tb-sep{width:1px;height:22px;background:rgba(201,162,39,.25);flex-shrink:0;}
body.edit-mode .reveal,
body.edit-mode .reveal-w { transition: none !important; opacity: 1 !important; }
body.edit-mode .reveal:not([data-free-pos]),
body.edit-mode .reveal-w:not([data-free-pos]) { transform: none !important; }

/* ── SCHWEBENDE FORMAT-TOOLBAR ── */
#fmt-toolbar{display:none;position:fixed;z-index:1500;background:rgba(18,30,18,.97);backdrop-filter:blur(14px);border:1px solid rgba(201,162,39,.35);border-radius:6px;padding:.45rem .6rem;align-items:center;gap:.3rem;flex-wrap:nowrap;box-shadow:0 6px 32px rgba(0,0,0,.5);transition:opacity .15s;cursor:default;user-select:none;}
#fmt-toolbar.visible{display:flex;}
#fmt-drag-handle{cursor:grab;padding:0 .4rem 0 .1rem;color:var(--gold);font-size:.9rem;opacity:.7;flex-shrink:0;}
#fmt-drag-handle:active{cursor:grabbing;}
#fmt-toolbar.fading{opacity:0;}
.fmt-sep{width:1px;height:18px;background:rgba(201,162,39,.25);flex-shrink:0;margin:0 .15rem;}
.fmt-btn{width:28px;height:28px;border-radius:3px;border:none;background:transparent;color:var(--cream);cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0;font-family:'Jost',sans-serif;line-height:1;}
.fmt-btn:hover{background:rgba(201,162,39,.2);color:var(--gold-light);}
.fmt-btn.active{background:rgba(201,162,39,.3);color:var(--gold-light);}
.fmt-btn.brush-active{background:rgba(106,173,106,.25);color:var(--leaf);border:1px solid rgba(106,173,106,.4);}
#fmt-font{background:rgba(255,255,255,.07);border:1px solid rgba(201,162,39,.25);border-radius:3px;color:var(--cream);font-size:.72rem;padding:.2rem .35rem;cursor:pointer;outline:none;height:28px;max-width:130px;}
#fmt-font option{background:#1a2e1a;color:var(--cream);}
#fmt-size{background:rgba(255,255,255,.07);border:1px solid rgba(201,162,39,.25);border-radius:3px;color:var(--cream);font-size:.8rem;width:46px;height:28px;text-align:center;padding:0 .3rem;outline:none;}
#fmt-size:focus{border-color:var(--gold);}
#fmt-color{width:28px;height:28px;border:1px solid rgba(201,162,39,.3);border-radius:3px;cursor:pointer;padding:2px;background:transparent;}
#fmt-brush-hint{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--leaf);white-space:nowrap;padding:0 .3rem;display:none;}
#fmt-brush-hint.show{display:block;}

/* Inline-Texte bearbeiten */
body.edit-mode [data-edit]{outline:1px dashed rgba(201,162,39,.5);cursor:text;border-radius:2px;transition:outline .2s,background .2s;}
body.edit-mode [data-edit]:hover{outline:1.5px solid var(--gold);background:rgba(201,162,39,.08);}
body.edit-mode [data-edit]:focus{outline:2px solid var(--gold-light);background:rgba(201,162,39,.12);}

/* Bild-Hover */
body.edit-mode .editable-img-wrap{position:relative;cursor:pointer;}
body.edit-mode .editable-img-wrap::after{content:'🖼 Bild ändern';position:absolute;inset:0;background:rgba(22,36,22,.7);display:flex;align-items:center;justify-content:center;font-family:'Jost',sans-serif;font-size:.82rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-light);opacity:0;transition:opacity .25s;}
body.edit-mode .editable-img-wrap:hover::after{opacity:1;}

/* Karte löschen */
.card-delete-btn{display:none;position:absolute;top:.6rem;right:.6rem;z-index:10;width:28px;height:28px;border-radius:50%;border:none;background:rgba(220,80,50,.85);color:#fff;font-size:.85rem;cursor:pointer;align-items:center;justify-content:center;transition:background .2s,transform .2s;line-height:1;}
body.edit-mode .card-delete-btn{display:flex;}
.card-delete-btn:hover{background:#e85d24;transform:scale(1.1);}

/* + Neuer Termin Karte */
#add-event-btn{display:none;background:rgba(201,162,39,.08);border:2px dashed rgba(201,162,39,.4);border-radius:4px;min-height:200px;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;cursor:pointer;transition:all .3s;color:var(--gold);font-family:'Jost',sans-serif;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;}
#add-event-btn:hover{background:rgba(201,162,39,.15);border-color:var(--gold);}
#add-event-btn .add-icon{font-size:2rem;}
body.edit-mode #add-event-btn{display:flex;}

/* Termin bearbeiten Modal */
#edit-evt-backdrop{display:none;position:fixed;inset:0;z-index:1200;background:rgba(10,18,10,.92);backdrop-filter:blur(10px);justify-content:center;align-items:center;padding:1rem;}
#edit-evt-backdrop.open{display:flex;}
#edit-evt-modal{background:var(--green-mid);border:1px solid rgba(201,162,39,.3);border-radius:6px;width:100%;max-width:580px;max-height:92vh;overflow-y:auto;padding:2rem 2rem 1.5rem;}
#edit-evt-modal h4{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;color:#fff;margin-bottom:1.6rem;display:flex;align-items:center;gap:.6rem;}
.eem-label{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-mute);margin-bottom:.4rem;}
.eem-input{width:100%;padding:.75rem 1rem;background:rgba(255,255,255,.07);border:1px solid rgba(201,162,39,.22);border-radius:2px;color:var(--cream);font-family:'Jost',sans-serif;font-size:.9rem;font-weight:300;outline:none;margin-bottom:1rem;transition:border-color .25s;-webkit-appearance:none;}
.eem-input:focus{border-color:var(--gold);}
.eem-input::placeholder{color:var(--cream-mute);}
.eem-textarea{width:100%;padding:.75rem 1rem;background:rgba(255,255,255,.07);border:1px solid rgba(201,162,39,.22);border-radius:2px;color:var(--cream);font-family:'Jost',sans-serif;font-size:.88rem;font-weight:300;outline:none;margin-bottom:1rem;resize:vertical;min-height:80px;transition:border-color .25s;}
.eem-textarea:focus{border-color:var(--gold);}
.eem-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.eem-section{font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin:.4rem 0 1rem;padding-bottom:.4rem;border-bottom:1px solid rgba(201,162,39,.2);}
.eem-img-preview{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:3px;margin-bottom:.8rem;border:1px solid rgba(201,162,39,.2);}
.eem-btns{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.2rem;}
#toast{position:fixed;bottom:6rem;right:2rem;z-index:1200;padding:.7rem 1.4rem;background:var(--green-mid);border:1px solid var(--gold);border-radius:3px;font-size:.82rem;color:var(--gold-light);letter-spacing:.1em;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;pointer-events:none;}
#toast.show{opacity:1;transform:translateY(0);}

/* ═══════════════════════════════════
   ADMIN PANEL
═══════════════════════════════════ */
#admin-panel{display:none;position:fixed;inset:0;z-index:1050;background:rgba(10,18,10,.95);backdrop-filter:blur(16px);overflow-y:auto;}
#admin-panel.open{display:block;}
.admin-wrap{max-width:860px;margin:0 auto;padding:2rem 1.5rem 4rem;}
.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem;padding-bottom:1.2rem;border-bottom:1px solid rgba(201,162,39,.2);}
.admin-header h2{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:#fff;}
.admin-header h2 span{color:var(--gold-light);font-style:italic;}
.admin-close{background:none;border:1px solid rgba(201,162,39,.3);color:var(--cream-mute);padding:.45rem 1rem;border-radius:2px;font-family:'Jost',sans-serif;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.admin-close:hover{border-color:var(--gold);color:var(--cream);}

/* Tabs */
.admin-tabs{display:flex;gap:0;border-bottom:1px solid rgba(201,162,39,.2);margin-bottom:2rem;}
.admin-tab{padding:.8rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:'Jost',sans-serif;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-mute);cursor:pointer;transition:all .25s;}
.admin-tab.active{color:var(--gold-light);border-bottom-color:var(--gold);}
.admin-tab:hover{color:var(--cream);}
.admin-pane{display:none;}
.admin-pane.active{display:block;}

/* Admin sections */
.admin-section{background:rgba(255,255,255,.04);border:1px solid rgba(201,162,39,.15);border-radius:6px;padding:1.6rem;margin-bottom:1.5rem;}
.admin-section-title{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;display:flex;align-items:center;gap:.6rem;}
.admin-section-title::after{content:'';flex:1;height:1px;background:rgba(201,162,39,.15);}
.admin-label{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-mute);margin-bottom:.4rem;}
.admin-input{width:100%;padding:.75rem 1rem;background:rgba(255,255,255,.07);border:1px solid rgba(201,162,39,.2);border-radius:2px;color:var(--cream);font-family:'Jost',sans-serif;font-size:.9rem;font-weight:300;outline:none;transition:border-color .25s;margin-bottom:1rem;-webkit-appearance:none;}
.admin-input:focus{border-color:var(--gold);}
.admin-input::placeholder{color:var(--cream-mute);}
.admin-textarea{width:100%;padding:.75rem 1rem;background:rgba(255,255,255,.07);border:1px solid rgba(201,162,39,.2);border-radius:2px;color:var(--cream);font-family:'Jost',sans-serif;font-size:.88rem;font-weight:300;outline:none;transition:border-color .25s;margin-bottom:1rem;resize:vertical;min-height:120px;line-height:1.6;}
.admin-textarea:focus{border-color:var(--gold);}
.admin-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.admin-hint{font-size:.75rem;color:var(--cream-mute);font-style:italic;margin-top:-.6rem;margin-bottom:1rem;line-height:1.5;}
.admin-save-btn{padding:.7rem 2rem;background:var(--gold);color:var(--green-deep);font-family:'Jost',sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;border:none;border-radius:2px;cursor:pointer;transition:background .25s;}
.admin-save-btn:hover{background:var(--gold-light);}
.admin-status{font-size:.8rem;margin-left:1rem;opacity:0;transition:opacity .3s;}
.admin-status.show{opacity:1;}
.admin-status.ok{color:var(--leaf);}
.admin-status.err{color:#ff9977;}

/* EmailJS setup steps */
.setup-steps{counter-reset:step;}
.setup-step{display:flex;gap:1rem;margin-bottom:1.2rem;align-items:flex-start;}
.setup-step::before{counter-increment:step;content:counter(step);min-width:26px;height:26px;border-radius:50%;background:rgba(201,162,39,.2);border:1px solid rgba(201,162,39,.4);display:flex;align-items:center;justify-content:center;font-size:.72rem;color:var(--gold);font-weight:500;flex-shrink:0;margin-top:.1rem;}
.setup-step p{font-size:.85rem;color:var(--cream-dim);line-height:1.6;}
.setup-step a{color:var(--gold-light);text-decoration:none;}
.setup-step a:hover{text-decoration:underline;}
.setup-step code{background:rgba(201,162,39,.15);padding:.15rem .4rem;border-radius:2px;font-family:monospace;font-size:.82rem;color:var(--gold-pale);}

/* Variable chips in email template */
.var-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem;}
.var-chip{padding:.2rem .65rem;background:rgba(201,162,39,.15);border:1px solid rgba(201,162,39,.3);border-radius:2px;font-family:monospace;font-size:.75rem;color:var(--gold-pale);cursor:pointer;transition:background .2s;}
.var-chip:hover{background:rgba(201,162,39,.3);}

/* Connection indicator */
.conn-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .8rem;border-radius:2px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.2rem;}
.conn-badge.connected{background:rgba(106,173,106,.15);border:1px solid rgba(106,173,106,.3);color:var(--leaf);}
.conn-badge.disconnected{background:rgba(220,80,50,.1);border:1px solid rgba(220,80,50,.25);color:#ff9977;}
.conn-dot{width:7px;height:7px;border-radius:50%;}
.connected .conn-dot{background:var(--leaf);}
.disconnected .conn-dot{background:#ff9977;}

/* Termin-Liste im Admin */
.admin-event-list{display:flex;flex-direction:column;gap:.8rem;}
.admin-event-row{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.1rem;background:rgba(255,255,255,.04);border:1px solid rgba(201,162,39,.12);border-radius:4px;}
.admin-event-info{font-size:.85rem;color:var(--cream-dim);}
.admin-event-info strong{color:var(--cream);display:block;margin-bottom:.15rem;}
.admin-event-info span{font-size:.78rem;color:var(--cream-mute);}
.admin-event-row .tb-btn{font-size:.7rem;padding:.35rem .8rem;}

/* ═══════════════════════════════════
   NEUER TERMIN MODAL
═══════════════════════════════════ */
#nevent-backdrop{display:none;position:fixed;inset:0;z-index:1100;background:rgba(10,18,10,.88);backdrop-filter:blur(8px);justify-content:center;align-items:center;padding:1rem;}
#nevent-backdrop.open{display:flex;}
#nevent-modal{background:var(--green-mid);border:1px solid rgba(201,162,39,.3);border-radius:6px;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;padding:2rem 2rem 1.5rem;}
#nevent-modal h4{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;color:#fff;margin-bottom:1.6rem;}
.nevent-label{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-mute);margin-bottom:.4rem;}
.nevent-input{width:100%;padding:.75rem 1rem;background:rgba(255,255,255,.07);border:1px solid rgba(201,162,39,.22);border-radius:2px;color:var(--cream);font-family:'Jost',sans-serif;font-size:.9rem;font-weight:300;outline:none;margin-bottom:1rem;transition:border-color .25s;-webkit-appearance:none;}
.nevent-input:focus{border-color:var(--gold);}
.nevent-input::placeholder{color:var(--cream-mute);}
.nevent-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.nevent-section-label{font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin:.6rem 0 1rem;padding-bottom:.4rem;border-bottom:1px solid rgba(201,162,39,.2);}
.nevent-img-preview{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:3px;margin-bottom:.8rem;display:none;border:1px solid rgba(201,162,39,.2);}
.nevent-modal-btns{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.2rem;}
.img-modal-or{text-align:center;font-size:.75rem;color:var(--cream-mute);margin:.3rem 0 .8rem;letter-spacing:.15em;text-transform:uppercase;}
input[type=file].nevent-file{display:none;}

/* ═══════════════════════════════════
   BILD MODAL
═══════════════════════════════════ */
#img-modal-backdrop{display:none;position:fixed;inset:0;z-index:1100;background:rgba(10,18,10,.88);backdrop-filter:blur(8px);justify-content:center;align-items:center;padding:1rem;}
#img-modal-backdrop.open{display:flex;}
#img-modal{background:var(--green-mid);border:1px solid rgba(201,162,39,.3);border-radius:6px;width:100%;max-width:480px;padding:2rem;}
#img-modal h4{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:300;color:#fff;margin-bottom:1.2rem;}
#img-modal label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-mute);display:block;margin-bottom:.4rem;}
#img-modal input[type=text]{width:100%;padding:.7rem 1rem;background:rgba(255,255,255,.07);border:1px solid rgba(201,162,39,.25);border-radius:2px;color:var(--cream);font-family:'Jost',sans-serif;font-size:.9rem;outline:none;margin-bottom:1rem;}
#img-modal input[type=text]:focus{border-color:var(--gold);}
#img-modal input[type=file]{display:none;}
#img-preview{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:3px;margin-bottom:1rem;display:none;border:1px solid rgba(201,162,39,.2);}
.img-modal-btns{display:flex;gap:.75rem;justify-content:flex-end;}

/* ═══════════════════════════════════
   PASSWORT MODAL
═══════════════════════════════════ */
#pw-backdrop{display:none;position:fixed;inset:0;z-index:1300;background:rgba(10,18,10,.92);backdrop-filter:blur(12px);justify-content:center;align-items:center;padding:1rem;}
#pw-backdrop.open{display:flex;}
#pw-box{background:var(--green-mid);border:1px solid rgba(201,162,39,.35);border-radius:8px;padding:2.4rem 2rem;width:100%;max-width:360px;text-align:center;position:relative;}
#pw-box .pw-icon{font-size:2rem;margin-bottom:1rem;}
#pw-box h4{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;color:#fff;margin-bottom:.4rem;}
#pw-box p{font-size:.82rem;color:var(--cream-mute);margin-bottom:1.6rem;}
#pw-input{width:100%;padding:.8rem 1rem;text-align:center;letter-spacing:.3em;background:rgba(255,255,255,.07);border:1px solid rgba(201,162,39,.25);border-radius:2px;color:var(--cream);font-family:'Jost',sans-serif;font-size:1rem;outline:none;margin-bottom:.5rem;transition:border-color .25s;}
#pw-input:focus{border-color:var(--gold);}
#pw-input.shake{animation:shake .4s ease;border-color:#e85d24!important;}
#pw-error{font-size:.78rem;color:#ff9977;height:1.2rem;margin-bottom:.8rem;opacity:0;transition:opacity .2s;}
#pw-error.show{opacity:1;}
#pw-submit{width:100%;padding:.85rem;background:var(--gold);color:var(--green-deep);font-family:'Jost',sans-serif;font-size:.82rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;border:none;border-radius:2px;cursor:pointer;transition:background .25s;}
#pw-submit:hover{background:var(--gold-light);}
.pw-hint{font-size:.72rem;color:var(--cream-mute);margin-top:1.2rem;opacity:.6;}

@media(max-width:700px){
  nav ul{display:none;}
  .intro{grid-template-columns:1fr;gap:2.5rem;padding:4rem 1.5rem;}
  .intro-img{aspect-ratio:4/3;}
  .form-row,.admin-row,.nevent-row{grid-template-columns:1fr;}
  .modal{max-height:100vh;border-radius:0;}
  #edit-toolbar{gap:.4rem;padding:.55rem .8rem;}
  .admin-tabs{overflow-x:auto;}
}

/* ═══════════════════════════════════
   ZWEI-ANSICHTEN SYSTEM
═══════════════════════════════════ */
#view-main, #view-wissen {
  transition: opacity .45s ease, transform .45s ease;
}
#view-wissen {
  display: none;
  opacity: 0;
}
#view-geschenk {
  display: none;
  opacity: 0;
}
body.show-wissen #view-main  { display: none; }
body.show-wissen #view-wissen { display: block; opacity: 1; }
body.show-geschenk #view-main { display: none; }
body.show-geschenk #view-geschenk { display: block; opacity: 1; }
#view-kontakt { display: none; opacity: 0; }
body.show-kontakt #view-main    { display: none; }
body.show-kontakt #view-kontakt { display: block; opacity: 1; }
#view-impressum      { display:none; opacity:0; }
#view-datenschutz    { display:none; opacity:0; }
#view-teilnahme      { display:none; opacity:0; }
body.show-impressum #view-main { display:none; }
body.show-impressum #view-impressum { display:block; opacity:1; }
body.show-impressum .nav-back-link { display:inline-flex; align-items:center; gap:.4rem; }
body.show-impressum .nav-main-links { display:none; }
body.show-datenschutz #view-main { display:none; }
body.show-datenschutz #view-datenschutz { display:block; opacity:1; }
body.show-ueber #view-ueber { display:block !important; opacity:1 !important; }
body.show-ueber      #view-main            { display:none; }
body.show-ueber      .nav-back-link        { display:inline-flex; }
body.show-ueber      .nav-main-links       { display:none; }
body.show-teilnahme  #view-teilnahme      { display:block; opacity:1; }
body.show-ueber #view-ueber { display:block !important; opacity:1 !important; }
body.show-ueber      #view-main            { display:none; }
body.show-ueber      .nav-back-link        { display:inline-flex; align-items:center; gap:.4rem; }
body.show-ueber      .nav-main-links       { display:none; }
body.show-datenschutz .nav-back-link { display:inline-flex; align-items:center; gap:.4rem; }
body.show-datenschutz .nav-main-links { display:none; }
body.show-teilnahme .nav-back-link { display:inline-flex; align-items:center; gap:.4rem; }
body.show-teilnahme .nav-main-links { display:none; }
body.show-teilnahme #view-main { display:none; }

/* Wissen-Seite Styles */
.page-hero { position:relative; height:65vh; min-height:420px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; overflow:hidden; padding-top:4rem; }
.page-hero-bg { position:absolute; inset:0; background:url('../images/bisamberg-waldbaden-termin.jpg') center/cover no-repeat; filter:brightness(.32) saturate(1.3); }
.page-hero-rays { position:absolute; inset:0; background:radial-gradient(ellipse 70% 80% at 50% 40%,rgba(201,162,39,.15) 0%,transparent 70%); }
.page-hero-vignette { position:absolute; inset:0; background:radial-gradient(ellipse at center,transparent 35%,rgba(18,30,18,.8) 100%); }
.page-hero-content { position:relative; z-index:2; padding:0 1.5rem; }
.page-hero-eyebrow { font-size:.72rem; letter-spacing:.38em; text-transform:uppercase; color:var(--gold); margin-bottom:1.2rem; animation:fadeUp .9s ease .2s both; }
.page-hero h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.5rem,6vw,5rem); font-weight:300; line-height:1.1; color:#fff; animation:fadeUp .9s ease .4s both; }
.page-hero h1 em { font-style:italic; color:var(--gold-light); }
.page-hero-sub { font-size:.95rem; font-weight:300; line-height:1.7; color:var(--cream-dim); max-width:520px; margin:1.2rem auto 0; animation:fadeUp .9s ease .6s both; }

/* Stats */
.stats-section { padding:5rem 2rem 4rem; }
.stats-intro { max-width:640px; margin:0 auto 3.5rem; text-align:center; }
.stats-intro h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:300; color:#fff; line-height:1.2; }
.stats-intro h2 em { font-style:italic; color:var(--gold-light); }
.stats-intro p { font-size:.93rem; line-height:1.85; color:var(--cream-dim); margin-top:1rem; font-weight:300; }
.stats-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; max-width:940px; margin:0 auto; }
.stat-card { text-align:center; padding:2.2rem 1.5rem; background:rgba(201,162,39,.06); border:1px solid rgba(201,162,39,.2); border-radius:4px; transition:border-color .3s; }
.stat-card:hover { border-color:rgba(201,162,39,.45); }
.stat-num { font-family:'Cormorant Garamond',serif; font-size:3.5rem; font-weight:300; color:var(--gold-light); line-height:1; margin-bottom:.4rem; }
.stat-unit { font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:.8rem; }
.stat-text { font-size:.85rem; line-height:1.65; color:var(--cream-dim); font-weight:300; }

/* Divider */
.gold-divider { max-width:1000px; margin:0 auto; height:1px; background:linear-gradient(to right,transparent,rgba(201,162,39,.3),transparent); }

/* Content Blocks */
.content-block { display:grid; grid-template-columns:1fr 1fr; gap:5rem; max-width:1040px; margin:0 auto; padding:5rem 2rem; align-items:center; }
.content-block.reverse .block-img { order:2; }
.content-block.reverse .block-text { order:1; }
.block-img { border-radius:4px; overflow:hidden; aspect-ratio:4/3; position:relative; }
.block-img img { width:100%; height:100%; object-fit:cover; filter:brightness(.75) saturate(1.2); display:block; transition:transform .7s; }
.block-img:hover img { transform:scale(1.04); }
.block-img-caption { position:absolute; bottom:0; left:0; right:0; padding:.6rem 1rem; background:linear-gradient(transparent,rgba(18,30,18,.8)); font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:var(--cream-mute); }
.block-text .eyebrow { margin-bottom:.8rem; }
.block-text h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.7rem,3vw,2.4rem); font-weight:300; color:#fff; line-height:1.2; margin-bottom:1.1rem; }
.block-text h2 em { font-style:italic; color:var(--leaf); }
.block-text p { font-size:.91rem; line-height:1.9; font-weight:300; color:var(--cream-dim); margin-bottom:1rem; }
.fact-tag { display:inline-block; padding:.25rem .85rem; background:rgba(106,173,106,.12); border:1px solid rgba(106,173,106,.3); border-radius:2px; font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; color:var(--leaf); margin-top:.4rem; }

/* Pull Quote */
.pull-quote { background:rgba(0,0,0,.2); padding:5rem 2rem; }
.pull-quote-inner { max-width:760px; margin:0 auto; text-align:center; }
.pull-quote blockquote { font-family:'Cormorant Garamond',serif; font-size:clamp(1.5rem,3vw,2.3rem); font-weight:300; font-style:italic; color:#fff; line-height:1.45; }
.pull-quote blockquote::before { content:'"'; font-size:4rem; line-height:0; vertical-align:-.4em; color:var(--gold); opacity:.5; margin-right:.1em; }
.pull-quote cite { display:block; margin-top:1.4rem; font-size:.72rem; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); font-style:normal; }

/* Sinne */
.sinne-section { padding:5rem 2rem; }
.sinne-intro { max-width:640px; margin:0 auto 3.5rem; text-align:center; }
.sinne-intro h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:300; color:#fff; line-height:1.2; }
.sinne-intro h2 em { font-style:italic; color:var(--gold-light); }
.sinne-intro p { font-size:.93rem; line-height:1.85; color:var(--cream-dim); margin-top:1rem; font-weight:300; }
.sinne-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:1.2rem; max-width:1040px; margin:0 auto; }
.sinne-card { padding:1.8rem 1.3rem; background:rgba(255,255,255,.03); border:1px solid rgba(106,173,106,.14); border-radius:4px; text-align:center; transition:border-color .3s,background .3s,transform .3s; }
.sinne-card:hover { border-color:rgba(201,162,39,.35); background:rgba(201,162,39,.05); transform:translateY(-3px); }
.sinne-icon { font-size:2rem; margin-bottom:1rem; display:block; }
.sinne-card h3 { font-family:'Cormorant Garamond',serif; font-size:1.25rem; font-weight:300; color:#fff; margin-bottom:.6rem; }
.sinne-card p { font-size:.82rem; line-height:1.7; color:var(--cream-dim); font-weight:300; }

/* Timeline */
.timeline-section { padding:4rem 2rem 5rem; background:rgba(0,0,0,.15); }
.timeline-intro { max-width:640px; margin:0 auto 3.5rem; text-align:center; }
.timeline-intro h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,3.5vw,2.6rem); font-weight:300; color:#fff; }
.timeline-intro h2 em { font-style:italic; color:var(--gold-light); }
.timeline { max-width:700px; margin:0 auto; position:relative; padding-left:2rem; }
.timeline::before { content:''; position:absolute; left:0; top:0; bottom:0; width:1px; background:linear-gradient(to bottom,transparent,rgba(201,162,39,.4),transparent); }
.timeline-item { position:relative; padding:.5rem 0 2.5rem 2rem; }
.timeline-item::before { content:''; position:absolute; left:-4px; top:.8rem; width:9px; height:9px; border-radius:50%; background:var(--gold); border:2px solid var(--green-deep); }
.timeline-year { font-size:.72rem; letter-spacing:.25em; text-transform:uppercase; color:var(--gold); margin-bottom:.4rem; }
.timeline-item h4 { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:300; color:#fff; margin-bottom:.5rem; }
.timeline-item p { font-size:.85rem; line-height:1.75; color:var(--cream-dim); font-weight:300; }

/* Wissen CTA */
.wissen-cta-section { padding:5rem 2rem; text-align:center; }
.wissen-cta-section h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:300; color:#fff; margin-bottom:1rem; }
.wissen-cta-section h2 em { font-style:italic; color:var(--gold-light); }
.wissen-cta-section p { font-size:.95rem; color:var(--cream-dim); max-width:500px; margin:0 auto 2rem; line-height:1.75; font-weight:300; }
.cta-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* Nav back button */
/* ── HAMBURGER & MOBILE MENU ── */
.nav-hamburger { display:none; flex-direction:column; justify-content:space-between; width:26px; height:18px; background:none; border:none; cursor:pointer; padding:0; z-index:210; }
.nav-hamburger span { display:block; width:100%; height:2px; background:var(--gold-light); border-radius:2px; transition:transform .3s ease, opacity .3s ease; }
.nav-hamburger.open span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity:0; }
.nav-hamburger.open span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }

.mobile-menu { display:none; position:absolute; top:100%; right:0; width:260px; background:rgba(14,24,14,.98); backdrop-filter:blur(16px); border:1px solid rgba(201,162,39,.2); border-top:none; border-radius:0 0 0 8px; flex-direction:column; padding:.4rem 0; z-index:200; box-shadow:-4px 8px 24px rgba(0,0,0,.5); }
.mobile-menu.open { display:flex; }
.mobile-menu > a { padding:.9rem 1.6rem; font-family:'Jost',sans-serif; font-size:.82rem; letter-spacing:.15em; text-transform:uppercase; color:var(--cream-dim); text-decoration:none; border-bottom:1px solid rgba(255,255,255,.04); transition:color .2s, background .2s; text-align:right; }
.mobile-menu > a:last-child { border-bottom:none; }
.mobile-menu > a:hover { color:var(--gold-light); background:rgba(201,162,39,.07); }
/* Termine sub-dropdown */
.mob-dropdown-item { border-bottom:1px solid rgba(255,255,255,.04); }
.mob-dropdown-toggle { width:100%; padding:.9rem 1.6rem; background:none; border:none; font-family:'Jost',sans-serif; font-size:.82rem; letter-spacing:.15em; text-transform:uppercase; color:var(--cream-dim); cursor:pointer; text-align:right; display:flex; align-items:center; justify-content:flex-end; gap:.5rem; transition:color .2s, background .2s; }
.mob-dropdown-toggle:hover { color:var(--gold-light); background:rgba(201,162,39,.07); }
.mob-arrow { font-size:.75rem; transition:transform .2s; display:inline-block; }
.mob-dropdown-toggle.open .mob-arrow { transform:rotate(90deg); }
.mob-dropdown-sub { display:none; background:rgba(0,0,0,.2); }
.mob-dropdown-sub.open { display:block; }
.mob-dropdown-sub a { display:block; padding:.75rem 2rem; font-family:'Jost',sans-serif; font-size:.76rem; letter-spacing:.13em; text-transform:uppercase; color:var(--cream-mute); text-decoration:none; text-align:right; border-bottom:1px solid rgba(255,255,255,.03); transition:color .2s, background .2s; }
.mob-dropdown-sub a:last-child { border-bottom:none; }
.mob-dropdown-sub a:hover { color:var(--gold-light); background:rgba(201,162,39,.06); }

@media(max-width:700px) {
  nav ul.nav-main-links { display:none !important; }
  .nav-hamburger { display:flex; }
  nav { padding:1rem 1.4rem; }
}
.nav-back-btn::before { content:'←'; }
.nav-back-btn:hover { color:var(--gold-light); }
body.show-wissen .nav-main-links { display:none; }
body.show-geschenk .nav-main-links { display:none; }
body.show-kontakt .nav-main-links { display:none; }
/* Zurück-Link auf Unterseiten (Desktop) */
.nav-back-link { display:none; font-family:'Jost',sans-serif; font-size:.78rem; letter-spacing:.15em; text-transform:uppercase; color:var(--cream-dim); text-decoration:none; cursor:pointer; background:none; border:none; transition:color .25s; }
.nav-back-link:hover { color:var(--gold-light); }
body.show-wissen .nav-back-link,
body.show-geschenk .nav-back-link,
body.show-kontakt .nav-back-link { display:inline-flex; align-items:center; gap:.4rem; }

@media(max-width:700px){
  .stats-grid { grid-template-columns:1fr 1fr; }
  .content-block,.content-block.reverse { grid-template-columns:1fr; gap:2rem; padding:3.5rem 1.5rem; }
  .content-block.reverse .block-img,.content-block.reverse .block-text { order:unset; }
  .sinne-grid { grid-template-columns:1fr 1fr; }
  .timeline { padding-left:1.5rem; }
}

/* ── GESCHENKGUTSCHEIN SECTION ── */
.gift-section{padding:6rem 2rem;background:rgba(0,0,0,.2);}
.gift-inner{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.gift-text h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3rem);font-weight:300;color:#fff;line-height:1.15;margin-bottom:1.2rem;}
.gift-text h2 em{font-style:italic;color:var(--gold-light);}
.gift-text p{font-size:.93rem;line-height:1.85;color:var(--cream-dim);font-weight:300;}
.gift-card-inner{background:rgba(255,255,255,.04);border:1px solid rgba(201,162,39,.25);border-radius:6px;padding:2rem 1.8rem;position:relative;overflow:hidden;}
.gift-card-inner::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,transparent,var(--gold),transparent);}
.gift-card-deco{font-size:2rem;text-align:center;margin-bottom:.5rem;}
.gift-card-title{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:300;color:var(--cream-mute);text-align:center;letter-spacing:.12em;margin-bottom:1.4rem;}
.gift-form .form-group{margin-bottom:.8rem;}
.gift-form .form-group label{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-mute);display:block;margin-bottom:.3rem;}
.gift-form .form-group input,.gift-form .form-group textarea{width:100%;padding:.65rem .9rem;background:rgba(255,255,255,.06);border:1px solid rgba(201,162,39,.18);border-radius:2px;color:var(--cream);font-family:'Jost',sans-serif;font-size:.88rem;font-weight:300;outline:none;transition:border-color .25s;}
.gift-form .form-group input:focus,.gift-form .form-group textarea:focus{border-color:var(--gold);}
@media(max-width:700px){.gift-inner{grid-template-columns:1fr;gap:2.5rem;}}

/* ── GESCHENK TEASER ── */
.gift-teaser{padding:4.5rem 2rem;}
.gift-teaser-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:3rem;background:rgba(255,255,255,.04);border:1px solid rgba(201,162,39,.2);border-radius:6px;padding:3rem;flex-wrap:wrap;}
.gift-teaser-icon{font-size:3.5rem;flex-shrink:0;}
.gift-teaser-text{flex:1;min-width:220px;}
.gift-teaser-text h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:300;color:#fff;line-height:1.2;margin-bottom:.8rem;}
.gift-teaser-text h2 em{font-style:italic;color:var(--gold-light);}
.gift-teaser-text p{font-size:.92rem;line-height:1.8;color:var(--cream-dim);font-weight:300;}
@media(max-width:700px){.gift-teaser-inner{flex-direction:column;gap:1.5rem;padding:2rem;text-align:center;}}

/* ── GROUP OFFERS ── */
.group-offers{padding:5rem 2rem;}
.group-offers-inner{max-width:1000px;margin:0 auto;text-align:center;}
.group-offers-inner h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:300;color:#fff;line-height:1.2;margin-bottom:1rem;}
.group-offers-inner h2 em{font-style:italic;color:var(--gold-light);}
.group-offers-lead{font-size:.92rem;line-height:1.85;color:var(--cream-dim);font-weight:300;max-width:680px;margin:0 auto 2.8rem;}
.group-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;text-align:left;}
.group-card{background:rgba(255,255,255,.04);border:1px solid rgba(201,162,39,.18);border-radius:6px;padding:2rem 1.8rem;}
.group-card-icon{font-size:2.2rem;margin-bottom:1rem;}
.group-card h3{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400;color:#fff;margin-bottom:.7rem;}
.group-card p{font-size:.86rem;line-height:1.85;color:var(--cream-dim);font-weight:300;}
@media(max-width:600px){.group-cards{grid-template-columns:1fr;}.group-offers{padding:3.5rem 1.5rem;}}

/* ── KONTAKT-SEITE ── */
.kontakt-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:2rem;}
.kontakt-type-card{cursor:pointer;position:relative;}
.kontakt-type-card input{position:absolute;opacity:0;width:0;height:0;}
.ktc-inner{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;background:rgba(255,255,255,.04);border:1px solid rgba(201,162,39,.18);border-radius:5px;transition:all .2s;}
.kontakt-type-card input:checked ~ .ktc-inner{background:rgba(201,162,39,.12);border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);}
.kontakt-type-card:hover .ktc-inner{background:rgba(201,162,39,.08);border-color:rgba(201,162,39,.4);}
.ktc-icon{font-size:1.6rem;}
.ktc-label{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream-dim);text-align:center;}
.kontakt-type-card input:checked ~ .ktc-inner .ktc-label{color:var(--gold);}
@media(max-width:500px){.kontakt-type-grid{grid-template-columns:repeat(2,1fr);}}

/* ── TERMINE-SEITE ── */
#view-termine { display:none; opacity:0; }
body.show-termine #view-main  { display:none; }
body.show-termine #view-termine { display:block; opacity:1; }
body.show-termine .nav-back-link { display:inline-flex; align-items:center; gap:.4rem; }
body.show-termine .nav-main-links { display:none; }
.termine-location-tabs { display:flex; gap:.8rem; flex-wrap:wrap; justify-content:center; margin-bottom:2.5rem; }
.loc-tab { padding:.6rem 1.6rem; border:1px solid rgba(201,162,39,.3); border-radius:30px; font-family:'Jost',sans-serif; font-size:.78rem; letter-spacing:.15em; text-transform:uppercase; color:var(--cream-dim); background:transparent; cursor:pointer; transition:all .25s; }
.loc-tab:hover { border-color:var(--gold); color:var(--cream); }
.loc-tab.active { background:rgba(201,162,39,.15); border-color:var(--gold); color:var(--gold-light); }
.termine-location-section { display:none; }
.termine-location-section.active { display:block; }
.loc-hero { position:relative; height:220px; border-radius:8px; overflow:hidden; margin-bottom:2rem; }
.loc-hero img { width:100%;height:100%;object-fit:cover;filter:brightness(.5) saturate(1.2); }
.loc-hero-text { position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:2rem; }
.loc-hero-text h2 { font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:300;color:#fff;margin-bottom:.4rem; }
.loc-hero-text p { font-size:.85rem;color:var(--cream-dim);font-weight:300; }
.add-block-zone{display:none;justify-content:center;gap:.8rem;padding:.6rem 0;margin:-.2rem 0;}
body.edit-mode .add-block-zone{display:flex;}
.add-block-btn{display:flex;align-items:center;gap:.4rem;padding:.35rem .9rem;background:rgba(201,162,39,.08);border:1px dashed rgba(201,162,39,.35);border-radius:2px;color:var(--gold);font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.add-block-btn:hover{background:rgba(201,162,39,.18);border-color:var(--gold);}
.add-block-btn span{font-size:.9rem;}

/* Injected editable blocks */
.injected-block{position:relative;padding:1rem 0;}
.injected-block-del{display:none;position:absolute;top:.2rem;right:.2rem;background:rgba(220,80,50,.8);border:none;border-radius:50%;width:22px;height:22px;color:#fff;font-size:.7rem;cursor:pointer;align-items:center;justify-content:center;line-height:1;}
body.edit-mode .injected-block-del{display:flex;}
.injected-img-block{position:relative;}
.injected-img-block img{width:100%;border-radius:4px;display:block;max-height:420px;object-fit:cover;}
.injected-text-block p{font-size:.95rem;line-height:1.85;font-weight:300;color:var(--cream-dim);}
.injected-heading-block h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:300;color:#fff;line-height:1.2;}
.injected-heading-block h2 em{font-style:italic;color:var(--gold-light);}

/* ── GUTSCHEIN CSS ── */
.coupon-row{display:flex;gap:.5rem;align-items:flex-end;margin-bottom:.6rem;}
.coupon-row .form-group{flex:1;margin-bottom:0;}
.coupon-check-btn{padding:.75rem 1.1rem;background:rgba(201,162,39,.15);border:1px solid rgba(201,162,39,.35);border-radius:2px;color:var(--cream);font-family:'Jost',sans-serif;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:all .25s;flex-shrink:0;}
.coupon-check-btn:hover{background:rgba(201,162,39,.3);border-color:var(--gold);}
.coupon-feedback{font-size:.8rem;margin-bottom:.8rem;padding:.5rem .8rem;border-radius:2px;display:none;}
.coupon-feedback.ok{background:rgba(106,173,106,.15);border:1px solid rgba(106,173,106,.3);color:var(--leaf);display:block;}
.coupon-feedback.err{background:rgba(220,80,50,.1);border:1px solid rgba(220,80,50,.25);color:#ff9977;display:block;}
.price-display{background:rgba(201,162,39,.1);border:1px solid rgba(201,162,39,.2);border-radius:3px;padding:.8rem 1.1rem;margin-bottom:.8rem;font-size:.88rem;color:var(--cream-dim);display:none;}
.price-display.show{display:block;}
.price-display .price-orig{text-decoration:line-through;opacity:.55;margin-right:.5rem;}
.price-display .price-final{color:var(--gold-light);font-weight:500;}
.price-display .price-saving{color:var(--leaf);font-size:.78rem;margin-left:.4rem;}

/* Gutschein Admin */
.coupon-list{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.5rem;}
.coupon-row-admin{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.1rem;background:rgba(255,255,255,.04);border:1px solid rgba(201,162,39,.12);border-radius:4px;gap:1rem;flex-wrap:wrap;}
.coupon-info{display:flex;flex-direction:column;gap:.2rem;}
.coupon-code{font-family:monospace;font-size:.95rem;color:var(--gold-light);letter-spacing:.1em;}
.coupon-meta{font-size:.78rem;color:var(--cream-mute);}
.coupon-status-badge{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;padding:.2rem .6rem;border-radius:2px;flex-shrink:0;}
.coupon-status-badge.active{background:rgba(106,173,106,.15);border:1px solid rgba(106,173,106,.3);color:var(--leaf);}
.coupon-status-badge.used{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--cream-mute);}
.coupon-actions{display:flex;gap:.4rem;flex-shrink:0;}
.coupon-new-form{background:rgba(255,255,255,.04);border:1px solid rgba(201,162,39,.18);border-radius:4px;padding:1.4rem;margin-bottom:1rem;}
.coupon-type-toggle{display:flex;gap:.5rem;margin-bottom:1rem;}
.coupon-type-btn{flex:1;padding:.55rem;border-radius:2px;border:1px solid rgba(201,162,39,.25);background:transparent;color:var(--cream-mute);font-family:'Jost',sans-serif;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.coupon-type-btn.active{background:rgba(201,162,39,.2);border-color:var(--gold);color:var(--cream);}

/* ── COOKIE BANNER ── */
#cookie-banner { position:fixed; bottom:0; left:0; right:0; z-index:99999; background:rgba(10,18,10,.97); border-top:1px solid rgba(201,162,39,.3); backdrop-filter:blur(16px); padding:1rem 2rem; transform:translateY(100%); transition:transform .4s ease; }
#cookie-banner.visible { transform:translateY(0); }
#cookie-banner-inner { max-width:900px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
#cookie-text { font-size:.82rem; color:var(--cream-dim); font-weight:300; line-height:1.6; margin:0; flex:1; min-width:200px; }
#cookie-btns { display:flex; gap:.6rem; flex-shrink:0; }
body.canvas-mode [data-edit],
body.canvas-mode .editable-img-wrap,
body.canvas-mode .injected-block,
body.canvas-mode .event-card,
body.canvas-mode .group-card,
body.canvas-mode .sinne-card { cursor:move; }
body.canvas-mode [data-edit]:hover,
body.canvas-mode .editable-img-wrap:hover { outline:1px dashed rgba(124,77,255,.55); outline-offset:2px; }
.cv-selected { outline:2px solid #7c4dff !important; outline-offset:2px; }
.cv-handle { position:fixed; width:12px; height:12px; background:#fff; border:2px solid #7c4dff; border-radius:2px; z-index:99999; box-shadow:0 1px 4px rgba(0,0,0,.4); }
.cv-handle.nw{cursor:nwse-resize;} .cv-handle.se{cursor:nwse-resize;}
.cv-handle.ne{cursor:nesw-resize;} .cv-handle.sw{cursor:nesw-resize;}
.cv-guide { position:fixed; background:#ff3d8b; z-index:99998; display:none; pointer-events:none; box-shadow:0 0 4px rgba(255,61,139,.7); }
.cv-guide.v { width:1px; top:0; bottom:0; }
.cv-guide.h { height:1px; left:0; right:0; }
.cv-ruler { position:fixed; z-index:99997; display:none; pointer-events:none; background:rgba(10,18,10,.92); }
body.canvas-mode .cv-ruler { display:block; }
.cv-ruler.top { top:54px; left:22px; right:0; height:20px; border-bottom:1px solid rgba(201,162,39,.35);
  background-image:repeating-linear-gradient(90deg, rgba(255,255,255,.5) 0 1px, transparent 1px 100px), repeating-linear-gradient(90deg, rgba(255,255,255,.22) 0 1px, transparent 1px 20px);
  background-size:100% 12px, 100% 6px; background-position:left bottom, left bottom; background-repeat:repeat-x; }
.cv-ruler.left { top:74px; left:0; bottom:0; width:20px; border-right:1px solid rgba(201,162,39,.35);
  background-image:repeating-linear-gradient(0deg, rgba(255,255,255,.5) 0 1px, transparent 1px 100px), repeating-linear-gradient(0deg, rgba(255,255,255,.22) 0 1px, transparent 1px 20px);
  background-size:12px 100%, 6px 100%; background-position:right top, right top; background-repeat:repeat-y; }
.cv-ruler-corner { position:fixed; top:54px; left:0; width:20px; height:20px; z-index:99997; display:none; background:rgba(10,18,10,.95); border-right:1px solid rgba(201,162,39,.35); border-bottom:1px solid rgba(201,162,39,.35); }
body.canvas-mode .cv-ruler-corner { display:block; }

/* ── CANVAS EINFÜGE-PALETTE ── */
#cv-palette { position:fixed; top:74px; left:50%; transform:translateX(-50%); z-index:99600; display:none; align-items:center; gap:.5rem; background:rgba(14,24,14,.97); border:1px solid rgba(124,77,255,.5); border-top:none; border-radius:0 0 8px 8px; padding:.5rem .9rem; box-shadow:0 6px 22px rgba(0,0,0,.55); backdrop-filter:blur(10px); }
body.canvas-mode #cv-palette { display:flex; }
.cv-palette-label { font-family:'Jost',sans-serif; font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:#b39ddb; }

/* ── FREIE ELEMENTE (per Palette eingefügt) ── */
#view-main, #view-wissen, #view-geschenk, #view-kontakt { position:relative; }
.cv-free-el { position:absolute; z-index:80; }
.cv-free-text { min-width:120px; max-width:520px; padding:.45rem .7rem; font-family:'Jost',sans-serif; font-size:1rem; font-weight:300; line-height:1.7; color:var(--cream); }
.cv-free-heading { min-width:160px; max-width:640px; padding:.45rem .7rem; font-family:'Cormorant Garamond',serif; font-size:2.2rem; font-weight:300; line-height:1.2; color:#fff; }
.cv-free-img { width:300px; }
.cv-free-img img { width:100%; display:block; border-radius:4px; }
.cv-free-del { position:absolute; top:-11px; right:-11px; width:22px; height:22px; border-radius:50%; background:rgba(220,80,50,.92); color:#fff; border:none; cursor:pointer; display:none; z-index:90; font-size:.68rem; line-height:1; align-items:center; justify-content:center; }
body.edit-mode .cv-free-del { display:flex; }

/* ════════════════════════════════
   FOTO NEBEN TEXT
   ════════════════════════════════
   Betrifft den Abschnitt „Thomas Fleschitz" auf der Startseite und den
   Vorstellungsteil auf der Seite „Über mich".

   Das Layout stand früher als Inline-Style direkt im HTML, mit fester
   Pixelbreite für die Bildspalte und ohne Handy-Regel. Auf einem 375px
   breiten Display blieben dem Text dadurch nur 89px bzw. 139px — ein bis
   zwei Wörter pro Zeile. Inline-Styles lassen sich zudem per Media Query
   nicht überschreiben, deshalb liegt das Layout jetzt hier. */
.split-foto-text          { display:grid; gap:3rem; max-width:960px; margin:0 auto; }
.split-foto-text--teaser  { grid-template-columns:200px 1fr; align-items:center; padding:3.5rem 2rem; }
.split-foto-text--ueber   { grid-template-columns:260px 1fr; align-items:start;  padding:4rem 2rem 2rem; }

/* Smartphone: Bild und Text untereinander statt nebeneinander.
   Das Bild behält seine ursprüngliche Breite als Obergrenze und wird
   zentriert — über die volle Displaybreite gezogen würde das Hochformat
   (3:4) sonst den halben Bildschirm einnehmen. Der Text bleibt
   linksbündig, das liest sich in Absätzen besser als zentriert. */
@media(max-width:700px){
  .split-foto-text         { grid-template-columns:1fr; gap:2rem; }
  .split-foto-text--teaser { padding:3rem 1.5rem; }
  .split-foto-text--ueber  { padding:3rem 1.5rem 2rem; }
  .split-foto-text > *:first-child          { width:100%; margin-left:auto; margin-right:auto; }
  .split-foto-text--teaser > *:first-child  { max-width:200px; }
  .split-foto-text--ueber  > *:first-child  { max-width:260px; }
}

/* ════════════════════════════════
   ÜBER WALDBADEN — Ablauf einer Einheit
   ════════════════════════════════ */
#view-waldbaden { display:none; opacity:0; transition:opacity .45s ease; }
body.show-waldbaden #view-main      { display:none; }
body.show-waldbaden #view-waldbaden { display:block; opacity:1; }
body.show-waldbaden .nav-main-links { display:none; }
body.show-waldbaden .nav-back-link  { display:inline-flex; align-items:center; gap:.4rem; }
body.edit-mode #view-waldbaden      { padding-top:120px; }


/* Stationen */
.wb-stations { padding:3rem 0 2rem; }

.wb-station { max-width:1000px; margin:0 auto; padding:2.5rem 2rem; display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.wb-station--flip .wb-station-img  { order:2; }
.wb-station--flip .wb-station-text { order:1; }
.wb-station-img { border-radius:4px; overflow:hidden; aspect-ratio:4/3; }
.wb-station-img img { width:100%; height:100%; object-fit:cover; display:block; filter:brightness(.85) saturate(1.1); }
.wb-station-num { display:block; font-family:'Cormorant Garamond',serif; font-size:2.6rem; font-weight:300; color:rgba(201,162,39,.35); line-height:1; margin-bottom:.4rem; }
.wb-station-text h3 { font-family:'Cormorant Garamond',serif; font-size:1.65rem; font-weight:300; color:var(--cream); margin-bottom:.9rem; }
.wb-station-text p { font-size:.93rem; line-height:1.9; font-weight:300; color:var(--cream-dim); margin-bottom:.8rem; }
.wb-station-quote { border-left:2px solid var(--gold); padding-left:1rem; font-style:italic; color:var(--gold-light) !important; }

/* Jahreszeiten */
.wb-seasons { padding:4rem 0 2rem; background:rgba(0,0,0,.14); }
.wb-seasons-head { max-width:720px; margin:0 auto 3rem; padding:0 2rem; text-align:center; }
.wb-seasons-head h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,4vw,2.8rem); font-weight:300; color:#fff; margin-bottom:1rem; }
.wb-seasons-head h2 em { font-style:italic; color:var(--gold-light); }
.wb-seasons-head p { font-size:.93rem; line-height:1.9; font-weight:300; color:var(--cream-dim); }
.wb-seasons-head .gold-bar { margin:0 auto 1.3rem; }
.wb-season-grid { max-width:1100px; margin:0 auto; padding:0 2rem 3rem; display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; }
.wb-season-img { border-radius:4px; overflow:hidden; aspect-ratio:3/4; margin-bottom:1rem; }
.wb-season-img img { width:100%; height:100%; object-fit:cover; display:block; filter:brightness(.8) saturate(1.1); }
.wb-season h3 { font-family:'Cormorant Garamond',serif; font-size:1.3rem; font-weight:300; color:var(--gold-light); margin-bottom:.5rem; }
.wb-season p { font-size:.85rem; line-height:1.75; font-weight:300; color:var(--cream-dim); }

/* Saisongutschein */
.wb-saison { padding:4rem 2rem 5rem; }
.wb-saison-inner { max-width:620px; margin:0 auto; text-align:center; border:1px solid rgba(201,162,39,.3); border-radius:10px; padding:3rem 2rem; background:rgba(201,162,39,.05); }
.wb-saison-inner h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.7rem,3.5vw,2.4rem); font-weight:300; color:#fff; margin-bottom:1rem; }
.wb-saison-inner h2 em { font-style:italic; color:var(--gold-light); }
.wb-saison-inner p { font-size:.93rem; line-height:1.9; font-weight:300; color:var(--cream-dim); margin-bottom:1.6rem; }
.wb-saison-preis { display:flex; align-items:baseline; justify-content:center; gap:1rem; margin-bottom:1.8rem; flex-wrap:wrap; }
.wb-saison-alt { font-size:1.1rem; color:var(--cream-mute); text-decoration:line-through; }
.wb-saison-neu { font-family:'Cormorant Garamond',serif; font-size:2.6rem; font-weight:300; color:var(--gold-light); }
.wb-saison-spar { font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:var(--leaf); border:1px solid rgba(106,173,106,.4); border-radius:20px; padding:.3rem .8rem; }

/* ── Handy: alles untereinander, Bilder begrenzt ──
   Die Stationen stehen am Desktop nebeneinander (Bild | Text). Bei 375px
   blieben pro Spalte rund 140px — deshalb unter 700px einspaltig. Die
   Jahreszeiten gehen von vier Spalten auf zwei, erst darunter auf eine. */
@media(max-width:980px){
  .wb-season-grid { grid-template-columns:repeat(2,1fr); gap:2rem; }
}
@media(max-width:700px){
  .wb-station { grid-template-columns:1fr; gap:1.5rem; padding:2rem 1.5rem; }
  .wb-station--flip .wb-station-img  { order:unset; }
  .wb-station--flip .wb-station-text { order:unset; }
  .wb-station-img { aspect-ratio:3/2; }
  .wb-station-num { font-size:2rem; }
  .wb-season-grid { padding:0 1.5rem 2.5rem; gap:1.8rem; }
  .wb-season-img { aspect-ratio:4/3; }
  .wb-saison { padding:2.5rem 1.5rem 4rem; }
  .wb-saison-inner { padding:2.2rem 1.4rem; }
  .wb-saison-neu { font-size:2.1rem; }
}
@media(max-width:460px){
  .wb-season-grid { grid-template-columns:1fr; }
}

/* ── Navigation: Umschaltpunkt an sechs Menüpunkte angepasst ──
   Mit fünf Punkten reichten 700px. Seit „Über Waldbaden" als sechster Punkt
   dazugekommen ist, quetschen sich die Beschriftungen zwischen 701 und ~900px
   zusammen, brechen innerhalb der Punkte um und lassen die Leiste auf 108px
   statt ~70px anwachsen. Darum hier früher auf das Hamburger-Menü wechseln. */
@media(max-width:950px){
  nav ul.nav-main-links { display:none !important; }
  .nav-hamburger { display:flex; }
}

/* Menüpunkte nicht innerhalb der Beschriftung umbrechen lassen — sonst wird
   die Leiste bei knappem Platz hoch und unruhig, statt sauber auf das
   Hamburger-Menü zu wechseln. */
nav ul.nav-main-links > li > a { white-space:nowrap; }



/* ── Geschenkgutscheine: Anzahl als Auswahlliste ──
   Die Liste steht im Formular direkt nach dem Namen. Jede Zeile nennt den
   Preis, damit schon beim Aufklappen sichtbar ist, dass vier Stück günstiger
   sind. Darunter zeigt eine Zeile den gewählten Gesamtpreis groß an. */
.gift-form .form-group select.gift-select {
  width:100%; padding:.65rem .9rem; background:rgba(255,255,255,.06);
  border:1px solid rgba(201,162,39,.18); border-radius:2px; color:var(--cream);
  font-family:'Jost',sans-serif; font-size:.88rem; font-weight:300;
  outline:none; cursor:pointer; appearance:none;
  /* Eigener Pfeil, weil der Standardpfeil auf dunklem Grund kaum sichtbar ist */
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23c9a227' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .9rem center; background-size:11px;
  padding-right:2.4rem;
}
.gift-form .form-group select.gift-select:focus { border-color:var(--gold); }
/* Aufgeklappte Liste: dunkler Grund, sonst erbt sie das helle Systemmenü */
.gift-select option { background:#1a2e1a; color:var(--cream); }

/* Gesamtpreis unter der Auswahl */
.gift-preis { display:flex; align-items:baseline; gap:.7rem; flex-wrap:wrap; margin-top:.6rem; }
.gift-preis-alt  { font-size:.95rem; color:var(--cream-mute); text-decoration:line-through; }
.gift-preis-neu  { font-family:'Cormorant Garamond',serif; font-size:1.9rem; font-weight:300; color:var(--gold-light); line-height:1; }
.gift-preis-spar { font-size:.63rem; letter-spacing:.13em; text-transform:uppercase; color:var(--leaf); border:1px solid rgba(106,173,106,.4); border-radius:20px; padding:.2rem .55rem; }

@media(max-width:700px){
  .gift-preis-neu { font-size:1.7rem; }
}

/* Auf schmalen Bildschirmen etwas kleiner, damit der gewählte Eintrag nicht
   abgeschnitten wird. */
@media(max-width:420px){
  .gift-form .form-group select.gift-select { font-size:.82rem; padding-right:2.1rem; }
}
/* ── Teaser auf der Startseite: Über Waldbaden ──
   Ein Bildband über die volle Breite. Bewusst anders aufgebaut als der
   Abschnitt über Thomas darüber (Bild neben Text) und der Geschenk-Teaser
   darunter (Kasten mit Rahmen) — sonst sähe die Startseite dreimal gleich aus.
   Der Teaser soll nur neugierig machen; die Einzelheiten stehen auf der Seite
   dahinter. */
.wb-teaser { position:relative; overflow:hidden; padding:6rem 2rem; display:flex; justify-content:center; align-items:center; text-align:center; }
.wb-teaser-bg { position:absolute; inset:0; background-position:center; background-size:cover; background-repeat:no-repeat; filter:brightness(.42) saturate(1.15); }
/* Verlauf nach oben und unten, damit das Band in die angrenzenden
   Abschnitte übergeht statt hart abzusetzen */
.wb-teaser-schleier { position:absolute; inset:0; background:linear-gradient(to bottom, var(--green-deep) 0%, rgba(22,36,22,.45) 22%, rgba(22,36,22,.45) 78%, var(--green-deep) 100%); }
.wb-teaser-inner { position:relative; z-index:2; max-width:620px; }
.wb-teaser-inner h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.9rem,4vw,2.9rem); font-weight:300; color:#fff; line-height:1.2; margin-bottom:1rem; text-shadow:0 2px 18px rgba(0,0,0,.5); }
.wb-teaser-inner h2 em { font-style:italic; color:var(--gold-light); }
.wb-teaser-inner p { font-size:.97rem; line-height:1.85; color:var(--cream); font-weight:300; margin-bottom:.9rem; text-shadow:0 1px 12px rgba(0,0,0,.5); }

@media(max-width:700px){
  .wb-teaser { padding:4rem 1.5rem; }
  .wb-teaser-inner p { font-size:.92rem; }
}


/* Schlusszeile des Teasers.
   Die Überschrift trägt bereits goldene Kursive — damit beide wirken können,
   ohne sich zu gleichen, bekommt die Schlusszeile ein eigenes Mittel: zwei
   feine Goldlinien links und rechts, wie eine gerahmte Bildunterschrift. */
.wb-teaser-schluss {
  display:flex; align-items:center; justify-content:center; gap:1.1rem;
  font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:300;
  font-size:clamp(1.3rem,2.7vw,1.85rem) !important;
  color:var(--gold-light) !important;
  line-height:1.35; letter-spacing:.01em;
  margin:0 0 2.1rem !important;
  text-shadow:0 1px 14px rgba(0,0,0,.55);
}
.wb-teaser-schluss::before,
.wb-teaser-schluss::after {
  content:''; height:1px; flex:1 1 0; max-width:64px; min-width:18px;
  background:linear-gradient(to right, transparent, rgba(232,192,64,.75));
}
.wb-teaser-schluss::after { background:linear-gradient(to left, transparent, rgba(232,192,64,.75)); }

/* Etwas mehr Luft zwischen Fließtext und Schlusszeile, damit die Zeile für
   sich steht statt am Absatz zu kleben. */
.wb-teaser-inner p:not(.wb-teaser-schluss) { margin-bottom:2.1rem; }

@media(max-width:560px){
  /* Auf schmalen Displays würden die Linien die Zeile zu stark einengen */
  .wb-teaser-schluss::before,
  .wb-teaser-schluss::after { max-width:26px; }
  .wb-teaser-schluss { gap:.7rem; }
}

/* Verhindert, dass ein einzelnes Wort allein in der letzten Zeile steht.
   Browser ohne Unterstützung ignorieren die Angabe folgenlos. */
.wb-teaser-inner p { text-wrap:balance; }

/* ── Aktionen (Rabatt auf Gutscheine) ──
   Das Band steht direkt unter dem Hero, damit eine befristete Aktion auch
   wirklich gesehen wird. Es bleibt aber schmal und in den Farben der Seite —
   kein Signalrot, sondern dieselbe Gold-auf-Dunkelgrün-Sprache wie überall.
   Ohne laufende Aktion trägt der Abschnitt das Attribut hidden und ist
   vollständig aus dem Fluss. */
.aktion-band[hidden], .aktion-hinweis[hidden] { display:none; }

.aktion-band {
  background:linear-gradient(180deg, rgba(201,162,39,.10), rgba(201,162,39,.04));
  border-top:1px solid rgba(201,162,39,.3);
  border-bottom:1px solid rgba(201,162,39,.3);
  padding:2.6rem 2rem;
}
.aktion-band-inner {
  max-width:1040px; margin:0 auto;
  display:flex; align-items:center; gap:2rem; flex-wrap:wrap;
  justify-content:center; text-align:center;
}
.aktion-band-label {
  flex:0 0 auto;
  font-size:.66rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--green-deep); background:var(--gold);
  border-radius:20px; padding:.3rem .9rem;
}
.aktion-band-titel {
  flex:0 0 auto; margin:0;
  font-family:'Cormorant Garamond',serif; font-weight:300;
  font-size:clamp(1.5rem,3vw,2.1rem); line-height:1.15;
  color:var(--gold-light);
}
.aktion-band-text {
  flex:1 1 340px; margin:0; min-width:0;
  font-size:.92rem; font-weight:300; line-height:1.7; color:var(--cream-dim);
  text-wrap:balance;
}
.aktion-band .btn { flex:0 0 auto; }

/* Kompakte Fassung auf der Kaufseite: eine Zeile über der Auswahl, damit der
   durchgestrichene Preis darunter eine Erklärung hat. */
.aktion-hinweis {
  max-width:520px; margin:0 auto 1.6rem;
  display:flex; align-items:center; gap:.7rem; flex-wrap:wrap;
  background:rgba(201,162,39,.08);
  border:1px solid rgba(201,162,39,.3); border-radius:4px;
  padding:.9rem 1.1rem;
}
.aktion-hinweis-label {
  font-size:.62rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--green-deep); background:var(--gold);
  border-radius:20px; padding:.2rem .6rem;
}
.aktion-hinweis-titel {
  font-family:'Cormorant Garamond',serif; font-size:1.15rem; font-weight:300;
  color:var(--gold-light); line-height:1.2;
}
.aktion-hinweis-text {
  flex:1 1 180px; min-width:0;
  font-size:.82rem; font-weight:300; line-height:1.6; color:var(--cream-dim);
}

/* Die Aktionsmarke neben dem Preis in Gold statt Blattgrün, damit sie sich von
   der Saison-Marke unterscheidet, wenn beide nebeneinander stehen. */
.gift-preis-aktion { color:var(--gold-light); border-color:rgba(201,162,39,.45); }

/* Handy: Das Band wird gestapelt und linksbündig — nebeneinander blieben für
   Überschrift und Text je rund 150px, das bricht in Einzelwörter auf. Der
   Knopf geht über die volle Breite, damit er gut zu treffen ist. */
@media(max-width:760px){
  .aktion-band { padding:2.1rem 1.5rem; }
  .aktion-band-inner { flex-direction:column; gap:1rem; text-align:center; }
  .aktion-band-text { flex:0 0 auto; font-size:.88rem; }
  .aktion-band .btn { width:100%; max-width:320px; }
  .aktion-hinweis { gap:.5rem .7rem; padding:.8rem .9rem; }
  .aktion-hinweis-text { flex:1 1 100%; font-size:.8rem; }
}

/* ── Vergangene Termine ──
   Ein Termin, dessen Tag vorbei ist, verschwindet von selbst von der Startseite
   und der Termine-Seite. Gelöscht wird dabei nichts: im Bearbeitungsmodus bleibt
   die Karte sichtbar — blass und mit Stempel —, damit erkennbar ist, was noch
   zum Aufräumen daliegt. */
.event-card.termin-vorbei { display:none; }

body.edit-mode .event-card.termin-vorbei {
  display:flex; opacity:.4; filter:grayscale(.7); position:relative;
}
body.edit-mode .event-card.termin-vorbei::before {
  content:'Vorbei'; position:absolute; top:.7rem; left:.7rem; z-index:3;
  font-size:.62rem; letter-spacing:.2em; text-transform:uppercase;
  background:rgba(0,0,0,.72); color:var(--cream);
  border:1px solid rgba(245,240,230,.35); border-radius:20px; padding:.25rem .7rem;
}

/* ── Termin-Verteiler ──
   Ein ruhiges Band am Ende der Terminliste. Bewusst zurückhaltender als das
   Aktionsband: Es soll nicht mit den Terminkarten darüber konkurrieren. */
.abo-band {
  border-top:1px solid rgba(201,162,39,.18);
  padding:4rem 2rem;
  margin-top:3rem;
}
.abo-inner { max-width:620px; margin:0 auto; text-align:center; }
.abo-inner .eyebrow {
  font-size:.72rem; letter-spacing:.32em; text-transform:uppercase;
  color:var(--gold); margin-bottom:.9rem;
}
.abo-inner h2 {
  font-family:'Cormorant Garamond',serif; font-weight:300;
  font-size:clamp(1.6rem,3.4vw,2.3rem); line-height:1.2;
  color:var(--cream); margin-bottom:1rem;
}
.abo-inner h2 em { font-style:italic; color:var(--gold-light); }
.abo-lead {
  font-size:.92rem; line-height:1.85; font-weight:300;
  color:var(--cream-dim); margin-bottom:2rem; text-wrap:pretty;
}

.abo-form { text-align:left; }
.abo-zeile { display:flex; gap:.7rem; flex-wrap:wrap; }
.abo-zeile input[type=email] {
  flex:1 1 240px; min-width:0;
  background:rgba(255,255,255,.05); border:1px solid rgba(245,240,230,.2);
  border-radius:4px; padding:.85rem 1rem;
  font-family:'Jost',sans-serif; font-size:.9rem; color:var(--cream);
}
.abo-zeile input[type=email]:focus {
  outline:none; border-color:var(--gold); background:rgba(255,255,255,.08);
}
.abo-zeile input[type=email]::placeholder { color:var(--cream-mute); }
.abo-zeile .btn { flex:0 0 auto; }
.abo-zeile .btn:disabled { opacity:.6; cursor:default; transform:none; }

/* Die Einwilligung muss lesbar sein, nicht weggeduckt — deshalb normale
   Textgröße statt Kleingedrucktem. */
.abo-check {
  display:flex; align-items:flex-start; gap:.65rem; margin-top:1rem;
  font-size:.8rem; line-height:1.7; color:var(--cream-dim); cursor:pointer;
}
.abo-check input { margin-top:.28rem; flex:0 0 auto; width:auto; }
.abo-check a { color:var(--gold); text-decoration:underline; }

.abo-meldung { font-size:.84rem; line-height:1.65; margin-top:.9rem; min-height:1px; }
.abo-meldung.ok      { color:var(--leaf); }
.abo-meldung.fehler  { color:#ff9977; }
.abo-meldung.warnung { color:var(--gold-light); }

/* Nur für Vorleseprogramme — das Feld hat schon einen Platzhalter, eine
   sichtbare Beschriftung darüber würde die Zeile unnötig aufblähen. */
.abo-sr {
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}

/* Rückmeldung nach dem Klick auf den Link aus der Mail */
.abo-hinweis {
  position:fixed; inset:0; z-index:1300;
  background:rgba(10,18,10,.82); backdrop-filter:blur(3px);
  display:flex; align-items:center; justify-content:center; padding:1.5rem;
}
.abo-hinweis-inner {
  background:var(--green-deep); border:1px solid rgba(201,162,39,.35);
  border-radius:6px; padding:2.2rem 1.8rem; max-width:420px; text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
/* Zeichen und Überschrift sagen auf einen Blick, ob es geklappt hat. */
.abo-hinweis-zeichen {
  width:54px; height:54px; margin:0 auto 1.1rem;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%; font-size:1.6rem; line-height:1;
}
.abo-hinweis-zeichen.ok {
  color:var(--leaf); border:1px solid rgba(106,173,106,.5); background:rgba(106,173,106,.12);
}
.abo-hinweis-zeichen.fehler {
  color:#ff9977; border:1px solid rgba(255,150,120,.45); background:rgba(220,80,50,.12);
}
.abo-hinweis-inner h3 {
  font-family:'Cormorant Garamond',serif; font-weight:300;
  font-size:clamp(1.4rem,3.2vw,1.8rem); line-height:1.2;
  color:var(--cream); margin-bottom:.7rem;
}
.abo-hinweis-inner p {
  font-size:.92rem; line-height:1.75; font-weight:300;
  color:var(--cream-dim); margin-bottom:1.6rem; text-wrap:pretty;
}

/* Verteilertabelle im Adminbereich */
.abo-tab { width:100%; border-collapse:collapse; font-size:.82rem; }
.abo-tab th {
  text-align:left; padding:.5rem .6rem; font-weight:500;
  font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold); border-bottom:1px solid rgba(201,162,39,.25);
}
.abo-tab td {
  padding:.55rem .6rem; color:var(--cream-dim);
  border-bottom:1px solid rgba(255,255,255,.07); vertical-align:middle;
}
.abo-tab tr:hover td { background:rgba(255,255,255,.03); }
.abo-ja   { color:var(--leaf); }
.abo-nein { color:var(--cream-mute); font-style:italic; }
.abo-weg {
  background:none; border:none; cursor:pointer; padding:.2rem .45rem;
  color:var(--cream-mute); font-size:.9rem; line-height:1; border-radius:3px;
}
.abo-weg:hover { color:#ff9977; background:rgba(220,80,50,.12); }

/* Handy: Knopf unter das Eingabefeld über die volle Breite, sonst bleiben für
   beide je rund 140px und die Beschriftung bricht um. Die Tabelle scrollt
   waagrecht in ihrem eigenen Kasten statt die ganze Seite zu verbreitern. */
@media(max-width:700px){
  .abo-band { padding:3rem 1.5rem; }
  .abo-lead { margin-bottom:1.6rem; }
  .abo-zeile { flex-direction:column; gap:.6rem; }
  .abo-zeile input[type=email] { flex:1 1 auto; }
  .abo-zeile .btn { width:100%; }
  #abo-tabelle { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .abo-tab { min-width:460px; }
}

/* Nebenknopf im Adminbereich: gleicher Umriss wie der Hauptknopf, aber ohne
   goldene Fläche. Die Schriftfarbe muss hier mitgesetzt werden — der
   Hauptknopf hat dunkle Schrift für den goldenen Grund, die wäre auf dem
   dunklen Grund unlesbar. */
.admin-save-btn.admin-btn-zweit {
  background:rgba(255,255,255,.06);
  border:1px solid rgba(245,240,230,.28);
  color:var(--cream);
}
.admin-save-btn.admin-btn-zweit:hover {
  background:rgba(201,162,39,.14);
  border-color:var(--gold);
  color:var(--gold-light);
}
