/* Ender Web — shared styles */
/* Inter, lokal eingebunden (kein Google-Fonts-Request mehr — vermeidet Weitergabe der Besucher-IP an Google) */
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url('assets/fonts/inter-latin-variable.woff2') format('woff2');
}
:root{
  --ink:#17151c;
  --ink-soft:#3d3a44;
  --muted:#6b6774;
  --cream:#faf5ec;
  --cream-2:#f3ead9;
  --purple:#7c3aed;
  --purple-deep:#3b1064;
  --magenta:#d946ef;
  --meadow-light:#8fbf78;
  --meadow-mid:#5f9a4d;
  --meadow-dark:#3f7332;
  --border:rgba(23,21,28,0.1);
  --radius-lg:20px;
  --radius-md:12px;
  --radius-sm:8px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
html.no-scroll, html.no-scroll body{overflow:hidden; height:100%;}
body{font-family:'Inter',sans-serif; background:var(--cream); color:var(--ink); line-height:1.5;}
img,svg{display:block; max-width:100%;}
a{color:inherit;}
.container{max-width:1180px; margin:0 auto; padding:0 32px;}

/* Nav */
nav.site-nav{display:flex; align-items:center; justify-content:space-between; padding:26px 56px; position:relative; z-index:20;}
.logo{display:flex; align-items:center; gap:10px; font-weight:800; font-size:20px; letter-spacing:-0.02em; text-decoration:none;}
.logo-mark{width:26px; height:26px; background:var(--ink); position:relative; border-radius:6px; flex-shrink:0;}
.logo-mark::before, .logo-mark::after{content:""; position:absolute; width:5px; height:8px; background:var(--magenta); top:7px;}
.logo-mark::before{left:5px;}
.logo-mark::after{right:5px;}
.logo-web{color:var(--purple);}
.navlinks{display:flex; gap:32px; font-size:16px; font-weight:600; color:var(--ink-soft);}
.navlinks a{text-decoration:none;}
.navlinks a:hover{color:var(--purple);}
.nav-cta{background:var(--ink); color:#fff; padding:10px 20px; border-radius:var(--radius-sm); font-size:14px; font-weight:600; text-decoration:none; white-space:nowrap; border:none; cursor:pointer; font-family:inherit;}
.nav-cta:hover{background:var(--purple-deep);}

/* Buttons */
.btn-primary{display:inline-block; background:linear-gradient(135deg,var(--purple),var(--magenta)); color:#fff; font-weight:700; font-size:15px; padding:15px 28px; border-radius:10px; box-shadow:0 10px 30px -8px rgba(124,58,237,0.5); text-decoration:none; border:none; cursor:pointer; font-family:inherit;}
.btn-secondary{display:inline-block; background:transparent; color:var(--ink); font-weight:600; font-size:15px; padding:15px 20px; border-radius:10px; border:1.5px solid var(--border); text-decoration:none; cursor:pointer; font-family:inherit;}

/* Sections */
section{padding:60px 0;}
.eyebrow{display:inline-block; font-size:15px; font-weight:700; color:var(--purple-deep); background:rgba(217,70,239,0.12); padding:7px 16px; border-radius:20px; margin-bottom:18px; letter-spacing:-0.01em;}
h2{font-size:34px; font-weight:800; letter-spacing:-0.02em; line-height:1.15; margin-bottom:16px;}
.section-lead{font-size:17px; color:var(--ink-soft); max-width:none; line-height:1.6;}
.hl{color:var(--purple);}

/* Angebot */
.problem-list{list-style:none; margin-top:28px; display:grid; grid-template-columns:1fr 1fr; gap:14px 32px;}
.problem-list li{display:flex; gap:10px; font-size:15px; color:var(--ink-soft); align-items:flex-start;}
.problem-list li::before{content:"—"; color:var(--magenta); font-weight:700; flex-shrink:0;}

.pricing-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:32px;}
.price-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:28px 22px; position:relative; box-shadow:0 16px 34px -14px rgba(23,21,28,0.28); transition:box-shadow 0.25s ease, transform 0.25s ease;}
.price-card:hover{box-shadow:0 30px 60px -14px rgba(23,21,28,0.4); transform:translateY(-4px);}
.price-card.featured{border-color:var(--purple); box-shadow:0 20px 40px -20px rgba(124,58,237,0.4);}
.price-card .badge{position:absolute; top:-12px; left:20px; background:linear-gradient(135deg,var(--purple),var(--magenta)); color:#fff; font-size:11px; font-weight:700; padding:5px 12px; border-radius:20px; white-space:nowrap;}
.price-card h3{font-size:17px; font-weight:700; margin-bottom:6px;}
.price-card .price{font-size:30px; font-weight:800; margin:10px 0 16px; letter-spacing:-0.02em;}
.price-card .price span{font-size:14px; font-weight:500; color:var(--muted);}
.price-card .price-old{text-decoration:line-through; margin-left:8px;}
.price-card ul{list-style:none; font-size:13.5px; color:var(--ink-soft); display:flex; flex-direction:column; gap:8px;}
.price-card ul li{display:flex; gap:8px;}
.price-card ul li::before{content:"✓"; color:var(--purple); font-weight:700;}
.price-card ul li.no{color:var(--muted); opacity:0.75;}
.price-card ul li.no::before{content:"✗"; color:#b2483a;}
.usp-line{margin-top:28px; font-size:14.5px; color:var(--muted); text-align:center;}

/* Vertrauen */
.trust-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:start; margin-top:28px;}
.values-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:24px;}
.value-item{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:16px 18px; box-shadow:0 8px 20px -14px rgba(23,21,28,0.25); transition:box-shadow 0.25s ease, transform 0.25s ease;}
.value-item:hover{box-shadow:0 22px 44px -14px rgba(23,21,28,0.35); transform:translateY(-3px);}
.value-item .v-icon{width:30px; height:30px; border-radius:8px; background:rgba(124,58,237,0.12); display:flex; align-items:center; justify-content:center; margin-bottom:10px; color:var(--purple); font-weight:800; font-size:14px;}
.value-item h4{font-size:14.5px; font-weight:700; margin-bottom:4px;}
.value-item p{font-size:13px; color:var(--muted); line-height:1.5;}

.ender-brand{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:28px; margin-bottom:24px; box-shadow:0 14px 34px -20px rgba(23,21,28,0.25);}
.ender-row{font-size:21px; font-weight:800; color:var(--ink); letter-spacing:-0.01em; line-height:1.5;}
.ender-row .ender-letter{color:var(--purple);}
.ender-slogan{margin-top:16px; padding-top:14px; border-top:1px solid var(--border); font-size:13px; color:var(--muted); font-style:italic;}

.founder-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:24px; display:flex; gap:18px; align-items:center; box-shadow:0 14px 34px -20px rgba(23,21,28,0.25);}
.founder-photo{width:64px; height:64px; border-radius:14px; background:var(--cream-2); flex-shrink:0; display:flex; align-items:center; justify-content:center;}
.founder-photo .logo-mark{transform:scale(1.7);}
.founder-card p{font-size:14px; color:var(--ink-soft); line-height:1.55;}

/* Ablauf */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:32px;}
.step{position:relative;}
.step .num{width:38px; height:38px; border-radius:10px; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; margin-bottom:16px;}
.step.guarantee .num{background:linear-gradient(135deg,var(--purple),var(--magenta));}
.step h4{font-size:16px; font-weight:700; margin-bottom:8px;}
.step p{font-size:14px; color:var(--muted); line-height:1.55;}

/* Stakes */
.stakes-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:28px;}
.stakes-card{border-radius:var(--radius-lg); padding:28px; box-shadow:0 10px 28px -18px rgba(23,21,28,0.2); transition:box-shadow 0.25s ease, transform 0.25s ease;}
.stakes-card:hover{box-shadow:0 24px 48px -14px rgba(23,21,28,0.32); transform:translateY(-3px);}
.stakes-card.bad{background:#f6f1ea; border:1px solid var(--border);}
.stakes-card.good{background:linear-gradient(160deg,rgba(124,58,237,0.08),rgba(217,70,239,0.1)); border:1px solid rgba(124,58,237,0.25);}
.stakes-card h3{font-size:16px; font-weight:700; margin-bottom:16px;}
.stakes-card ul{list-style:none; display:flex; flex-direction:column; gap:10px; font-size:14.5px; color:var(--ink-soft);}
.stakes-card.bad ul li::before{content:"✕ "; color:#b2483a;}
.stakes-card.good ul li::before{content:"✓ "; color:var(--purple);}

/* Gedanken-Checkliste */
.think-list{display:grid; grid-template-columns:1fr 1fr; gap:12px 28px; margin-top:28px;}
.think-item{display:flex; align-items:flex-start; gap:12px; background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:16px 18px; cursor:pointer; box-shadow:0 8px 20px -16px rgba(23,21,28,0.25); transition:box-shadow 0.25s ease, transform 0.25s ease;}
.think-item:hover{box-shadow:0 20px 42px -14px rgba(23,21,28,0.35); transform:translateY(-2px);}
.think-item input{margin-top:3px; width:17px; height:17px; accent-color:var(--purple); flex-shrink:0; cursor:pointer;}
.think-item span{font-size:14.5px; color:var(--ink-soft); line-height:1.5;}
.think-item input:checked + span{color:var(--muted); text-decoration:line-through; opacity:0.7;}

/* Wiederverwendbarer lila Fade-Hintergrund — fadet oben aus der vorigen Section ein und unten wieder aus */
.section-tint{background:linear-gradient(180deg, transparent, rgba(124,58,237,0.07) 22%, rgba(217,70,239,0.06) 55%, rgba(124,58,237,0.05) 80%, transparent);}

/* Mehr Möglichkeiten (Add-ons) */
.addon-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:28px; align-items:start;}
.addon-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:24px; box-shadow:0 10px 26px -18px rgba(23,21,28,0.25); transition:box-shadow 0.25s ease, transform 0.25s ease;}
.addon-card:hover{box-shadow:0 26px 54px -14px rgba(23,21,28,0.4), 0 10px 24px -10px rgba(124,58,237,0.35); transform:translateY(-4px);}
.addon-icon{width:44px; height:44px; border-radius:12px; background:rgba(124,58,237,0.1); display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:14px; cursor:pointer; transition:transform 0.25s ease, background 0.25s ease;}
.addon-icon:hover{transform:scale(1.22) rotate(-4deg); background:rgba(124,58,237,0.2);}
.addon-card h4{font-size:16px; font-weight:700; margin-bottom:8px;}
.addon-card p{font-size:14px; color:var(--muted); line-height:1.55; margin-bottom:12px;}
.addon-more{display:inline-flex; align-items:center; gap:5px; font-size:12.5px; font-weight:700; color:var(--purple); background:none; border:none; cursor:pointer; padding:0; font-family:inherit;}
.addon-more:hover{color:var(--purple-deep); text-decoration:underline;}

/* Addon-Detail (klappt die Karte selbst nach unten aus, "Genie"-artige Animation) */
.addon-detail{max-height:0; overflow:hidden; opacity:0; transform:scaleY(0.4); transform-origin:top center;
  transition:max-height 0.45s cubic-bezier(.5,-0.3,.4,1.4), opacity 0.3s ease 0.05s, transform 0.45s cubic-bezier(.5,-0.3,.4,1.4);}
.addon-detail.open{max-height:360px; opacity:1; transform:scaleY(1); margin-top:14px;}
.addon-modal-list{list-style:none; display:flex; flex-direction:column; gap:8px;}
.addon-modal-list li{font-size:13.5px; color:var(--ink-soft); display:flex; gap:8px;}
.addon-modal-list li::before{content:"→"; color:var(--purple); font-weight:700;}

/* WhatsApp-artiges Chat-Fenster */
.wa-window{border-radius:14px; overflow:hidden; box-shadow:0 10px 24px -14px rgba(23,21,28,0.3);}
.wa-header{display:flex; align-items:center; gap:10px; padding:10px 14px; color:#fff;}
.wa-header.whatsapp{background:#075E54;}
.wa-header.internal{background:var(--ink);}
.wa-avatar{width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,0.15); display:flex; align-items:center; justify-content:center; font-size:15px; flex-shrink:0;}
.wa-headertext strong{display:block; font-size:13px; font-weight:700;}
.wa-headertext span{font-size:11px; opacity:0.8;}

/* Chat-Demo (WhatsApp-Stil) */
.chat-demo{background:#e5ddd5; padding:14px; display:flex; flex-direction:column; gap:8px;}
.wa-window .chat-demo{border-radius:0;}
.chat-bubble{max-width:82%; padding:9px 13px; border-radius:12px; font-size:13px; line-height:1.45; color:#111;}
.chat-bubble.in{background:#fff; align-self:flex-start; border-bottom-left-radius:3px;}
.chat-bubble.out{background:#dcf8c6; align-self:flex-end; border-bottom-right-radius:3px;}
.chat-bubble .chat-img{display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--muted); background:rgba(0,0,0,0.05); padding:4px 8px; border-radius:6px; margin-bottom:5px;}

/* Hintergrund-Schwünge */
.page-body{position:relative;}
.bg-swoosh{position:absolute; top:0; left:0; width:100%; height:100%; z-index:0; pointer-events:none;}
.page-body > section, .page-body > footer{position:relative; z-index:1;}

/* Kontakt (WhatsApp/Telefon/Mail) */
.quick-contact{margin-top:36px; padding-top:28px; border-top:1px solid var(--border);}
.quick-contact-label{font-size:14px; color:var(--muted); margin-bottom:14px;}
.quick-contact-row{display:flex; gap:12px; justify-content:center; flex-wrap:wrap;}
.contact-btn{display:inline-flex; align-items:center; gap:9px; padding:13px 20px; border-radius:12px; font-weight:700; font-size:14px; text-decoration:none; color:var(--ink); background:#fff; border:1px solid var(--border);}
.contact-btn.whatsapp{background:#25D366; color:#fff; border:none; font-size:15px; padding:14px 24px; box-shadow:0 12px 26px -10px rgba(37,211,102,0.6);}
.quick-contact-hint{font-size:12.5px; color:var(--muted); margin-top:14px;}

/* Booking-Modal */
.booking-modal{border:none; border-radius:24px; padding:0; max-width:1000px; width:94vw; max-height:92vh; overflow:auto;
  box-shadow:0 40px 100px -20px rgba(0,0,0,0.7); background:linear-gradient(165deg,#1c1130,#0a0611); color:#fff;
  border:1px solid rgba(124,58,237,0.35);}
.booking-modal[open]{position:fixed; inset:0; margin:auto;}
.booking-modal::backdrop{background:rgba(8,6,14,0.72); backdrop-filter:blur(4px);}
.modal-close{position:absolute; top:14px; right:14px; z-index:5; width:34px; height:34px; border-radius:50%; border:none; background:rgba(255,255,255,0.08); font-size:20px; line-height:1; cursor:pointer; color:#fff;}
.modal-close:hover{background:rgba(255,255,255,0.18);}
.modal-inner{display:grid; grid-template-columns:1.3fr 1fr;}
.modal-calendar{padding:40px 36px;}
.modal-calendar h3{font-size:21px; font-weight:800; margin-bottom:8px; color:#fff;}
.modal-calendar p{font-size:14px; color:rgba(255,255,255,0.65); margin-bottom:20px;}
.modal-contact{padding:40px 36px; background:#000; display:flex; flex-direction:column; gap:12px; border-left:1px solid rgba(124,58,237,0.35);}
.modal-contact h3{font-size:17px; font-weight:800; margin-bottom:4px; color:#fff;}
.modal-contact p{font-size:13px; color:rgba(255,255,255,0.6); margin-bottom:10px; line-height:1.5;}
.modal-contact .contact-btn{justify-content:flex-start; width:100%; box-sizing:border-box;}
.modal-contact .contact-btn.phone, .modal-contact .contact-btn.email{background:var(--purple); color:#fff; border:none;}
.modal-contact .contact-btn.phone:hover, .modal-contact .contact-btn.email:hover{background:var(--purple-deep);}

/* Kalender-Widget im Booking-Modal */
.cal-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px;}
.cal-title{font-size:16px; font-weight:700; color:#fff;}
.cal-nav{width:34px; height:34px; border-radius:50%; border:none; background:rgba(255,255,255,0.08); color:#fff; font-size:17px; cursor:pointer; line-height:1;}
.cal-nav:hover:not(:disabled){background:var(--purple);}
.cal-nav:disabled{opacity:0.25; cursor:default;}
.cal-weekdays{display:grid; grid-template-columns:repeat(7,1fr); gap:6px; margin-bottom:8px;}
.cal-weekdays span{text-align:center; font-size:12px; font-weight:700; color:rgba(255,255,255,0.4);}
.cal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:6px;}
.cal-day{aspect-ratio:1; border-radius:9px; border:none; background:rgba(255,255,255,0.05); color:#fff; font-size:14.5px; cursor:pointer; font-family:inherit;}
.cal-day:hover:not(:disabled){background:rgba(124,58,237,0.35);}
.cal-day.today{box-shadow:inset 0 0 0 1.5px var(--magenta);}
.cal-day.selected{background:linear-gradient(135deg,var(--purple),var(--magenta)); font-weight:700;}
.cal-day.disabled{background:transparent; color:rgba(255,255,255,0.2); cursor:default;}
.cal-day.empty{background:transparent; cursor:default;}
.cal-slots{margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,0.1);}
.cal-slots-label{font-size:12.5px; font-weight:700; color:rgba(255,255,255,0.7); margin-bottom:10px;}
.cal-no-slots{font-size:13px; color:rgba(255,255,255,0.5);}
.slot-grid{display:flex; flex-wrap:wrap; gap:8px;}
.slot-btn{background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.15); color:#fff; padding:8px 12px; border-radius:8px; font-size:12.5px; cursor:pointer; font-family:inherit;}
.slot-btn:hover{border-color:var(--purple);}
.slot-btn.selected{background:linear-gradient(135deg,var(--purple),var(--magenta)); border-color:transparent; font-weight:700;}
.booking-form{margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,0.1); display:flex; flex-direction:column; gap:10px;}
.booking-summary{font-size:13px; color:rgba(255,255,255,0.75);}
.booking-summary strong{color:#fff;}
.booking-input{width:100%; box-sizing:border-box; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.15); border-radius:9px; padding:10px 12px; color:#fff; font-size:13.5px; font-family:inherit;}
.booking-input::placeholder{color:rgba(255,255,255,0.4);}
.booking-input:focus{outline:none; border-color:var(--purple);}
.booking-textarea{resize:vertical; min-height:60px;}
.booking-error{font-size:12px; color:#ff8a8a; min-height:14px; margin:0;}
.booking-confirm-btn{width:100%;}
.booking-hint{font-size:11.5px; color:rgba(255,255,255,0.45); text-align:center;}

/* Chatbot */
.chat-fab{position:fixed; bottom:24px; right:24px; width:80px; height:80px; border-radius:50%; border:none; cursor:pointer;
  background:linear-gradient(135deg,var(--purple),var(--magenta)); box-shadow:0 14px 32px -8px rgba(124,58,237,0.65);
  color:#fff; display:flex; align-items:center; justify-content:center; z-index:9998; transition:transform 0.2s ease;}
.chat-fab:hover{transform:scale(1.07);}
.chat-fab-icon{font-size:32px; line-height:1;}
.chat-hint{position:fixed; bottom:118px; right:24px; max-width:210px; background:#0a0611; color:#fff;
  border:1px solid rgba(124,58,237,0.4); padding:12px 16px; border-radius:14px 14px 4px 14px;
  font-size:13px; font-weight:600; line-height:1.4; box-shadow:0 14px 32px -10px rgba(0,0,0,0.55);
  z-index:9997; opacity:0; transform:translateY(8px) scale(0.9); pointer-events:none;
  transition:opacity 0.3s ease, transform 0.3s ease;}
.chat-hint::after{content:""; position:absolute; bottom:-7px; right:26px; width:14px; height:14px;
  background:#0a0611; border-right:1px solid rgba(124,58,237,0.4); border-bottom:1px solid rgba(124,58,237,0.4);
  transform:rotate(45deg);}
.chat-hint.show{animation:chatHintPop 0.4s cubic-bezier(.34,1.56,.64,1) forwards;}
@keyframes chatHintPop{
  0%{opacity:0; transform:translateY(10px) scale(0.85);}
  60%{opacity:1; transform:translateY(-3px) scale(1.03);}
  100%{opacity:1; transform:translateY(0) scale(1);}
}
.chat-panel{position:fixed; bottom:118px; right:24px; width:360px; max-width:92vw; height:520px; max-height:75vh;
  background:linear-gradient(180deg,#1c1130,#0a0611); border:1px solid rgba(124,58,237,0.35); border-radius:20px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,0.7); display:flex; flex-direction:column; overflow:hidden; z-index:9999;}
.chat-panel[hidden]{display:none;}
.chat-header{display:flex; align-items:center; justify-content:space-between; padding:14px 16px; background:#000; border-bottom:1px solid rgba(255,255,255,0.08);}
.chat-header-text strong{display:block; font-size:14px; color:#fff;}
.chat-header-text span{font-size:11px; color:rgba(255,255,255,0.5);}
.chat-close{background:none; border:none; color:#fff; font-size:20px; cursor:pointer; line-height:1;}
.chat-messages{flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:10px;}
.chat-bubble-bot{align-self:flex-start; background:rgba(255,255,255,0.08); color:#fff; padding:10px 14px; border-radius:14px 14px 14px 3px; font-size:13.5px; line-height:1.5; max-width:90%;}
.chat-bubble-bot p{margin-bottom:4px;}
.chat-bubble-user{align-self:flex-end; background:linear-gradient(135deg,var(--purple),var(--magenta)); color:#fff; padding:10px 14px; border-radius:14px 14px 3px 14px; font-size:13.5px; line-height:1.5; max-width:88%;}
.chat-cal{margin-top:8px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:12px; padding:12px;}
.chat-cal-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:10px;}
.chat-cal-title{font-size:12.5px; font-weight:700; color:#fff;}
.chat-cal-nav{width:24px; height:24px; border-radius:50%; border:none; background:rgba(255,255,255,0.08); color:#fff; font-size:13px; cursor:pointer; line-height:1;}
.chat-cal-nav:hover:not(:disabled){background:var(--purple);}
.chat-cal-nav:disabled{opacity:0.25; cursor:default;}
.chat-cal-weekdays{display:grid; grid-template-columns:repeat(7,1fr); gap:3px; margin-bottom:4px;}
.chat-cal-weekdays span{text-align:center; font-size:9.5px; font-weight:700; color:rgba(255,255,255,0.4);}
.chat-cal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:3px;}
.chat-cal-day{aspect-ratio:1; border-radius:6px; border:none; background:rgba(255,255,255,0.06); color:#fff; font-size:11px; cursor:pointer; font-family:inherit;}
.chat-cal-day:hover:not(:disabled){background:rgba(124,58,237,0.4);}
.chat-cal-day.today{box-shadow:inset 0 0 0 1.5px var(--magenta);}
.chat-cal-day.empty{background:transparent; cursor:default;}
.chat-cal-day:disabled{background:transparent; color:rgba(255,255,255,0.2); cursor:default;}
.chat-inline-btn-row{display:flex; gap:8px; margin-top:8px; flex-wrap:wrap;}
.chat-inline-btn{background:linear-gradient(135deg,var(--purple),var(--magenta)); color:#fff; border:none; padding:8px 14px; border-radius:8px; font-size:12.5px; font-weight:700; cursor:pointer; font-family:inherit;}
.chat-inline-btn.secondary{background:rgba(255,255,255,0.1);}
.chat-hint-inline{font-size:11px; color:rgba(255,255,255,0.4); margin-top:6px;}
.chat-slot-row{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px;}
.chat-slot-btn{background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18); color:#fff; padding:6px 10px; border-radius:7px; font-size:12px; cursor:pointer; font-family:inherit;}
.chat-slot-btn:hover{border-color:var(--purple);}
.chat-quick-row{display:flex; flex-wrap:wrap; gap:6px; padding:0 14px 12px;}
.chat-chip{background:rgba(124,58,237,0.18); border:1px solid rgba(124,58,237,0.45); color:#fff; padding:6px 12px; border-radius:16px; font-size:12px; cursor:pointer; font-family:inherit;}
.chat-chip:hover{background:rgba(124,58,237,0.32);}
.chat-input-row{display:flex; gap:8px; padding:12px 14px; border-top:1px solid rgba(255,255,255,0.08);}
.chat-input{flex:1; min-width:0; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.18); border-radius:10px; padding:10px 12px; color:#fff; font-size:13px; font-family:inherit;}
.chat-input::placeholder{color:rgba(255,255,255,0.4);}
.chat-input:focus{outline:none; border-color:var(--purple);}
.chat-send-btn{width:38px; flex-shrink:0; border-radius:10px; border:none; background:linear-gradient(135deg,var(--purple),var(--magenta)); color:#fff; font-size:15px; cursor:pointer;}

/* Cookie-Hinweis */
.cookie-banner{position:fixed; left:0; right:0; bottom:0; z-index:10001; transform:translateY(100%);
  transition:transform 0.35s ease; padding:16px;}
.cookie-banner.show{transform:translateY(0);}
.cookie-banner-inner{max-width:900px; margin:0 auto; background:linear-gradient(165deg,#1c1130,#0a0611);
  border:1px solid rgba(124,58,237,0.35); border-radius:16px; box-shadow:0 24px 60px -18px rgba(0,0,0,0.6);
  padding:18px 22px; display:flex; align-items:center; gap:20px; flex-wrap:wrap;}
.cookie-banner-text{flex:1; min-width:240px; font-size:13px; line-height:1.55; color:rgba(255,255,255,0.85);}
.cookie-banner-text strong{color:#fff;}
.cookie-banner-text a{color:#e9b8fb; text-decoration:underline; text-underline-offset:2px;}
.cookie-banner-actions{display:flex; gap:10px; flex-shrink:0;}
.cookie-btn{border-radius:9px; padding:10px 16px; font-size:13px; font-weight:700; cursor:pointer; font-family:inherit; border:none; white-space:nowrap;}
.cookie-btn.secondary{background:rgba(255,255,255,0.1); color:#fff;}
.cookie-btn.secondary:hover{background:rgba(255,255,255,0.18);}
.cookie-btn.primary{background:linear-gradient(135deg,var(--purple),var(--magenta)); color:#fff;}
.cookie-btn.primary:hover{filter:brightness(1.08);}

@media (max-width: 640px){
  .cookie-banner{padding:10px;}
  .cookie-banner-inner{padding:16px; flex-direction:column; align-items:stretch; text-align:center;}
  .cookie-banner-actions{justify-content:center;}
  .chat-panel{right:12px; left:12px; width:auto; bottom:112px; height:min(70vh,520px);}
  .chat-fab{right:16px; bottom:16px;}
  .chat-hint{right:16px; bottom:112px; max-width:180px; font-size:12.5px;}
}

/* FAQ */
.faq-list{max-width:760px; margin-top:28px; display:flex; flex-direction:column; gap:10px;}
.faq-item{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:6px 20px; box-shadow:0 8px 20px -16px rgba(23,21,28,0.25); transition:box-shadow 0.25s ease;}
.faq-item:hover{box-shadow:0 18px 38px -14px rgba(23,21,28,0.32);}
.faq-item summary{font-size:15px; font-weight:700; padding:14px 28px 14px 0; cursor:pointer; list-style:none; position:relative;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+"; position:absolute; right:0; top:12px; font-size:20px; font-weight:400; color:var(--purple); transition:transform 0.2s;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{font-size:14px; color:var(--ink-soft); line-height:1.6; padding-bottom:16px;}

/* Final CTA */
.final-cta{text-align:center; color:#fff; padding:190px 0;
  background:linear-gradient(180deg,
    rgba(23,21,28,0) 0,
    rgba(23,21,28,0.04) 30px,
    rgba(23,21,28,0.15) 65px,
    rgba(23,21,28,0.4) 100px,
    rgba(23,21,28,0.75) 130px,
    rgba(23,21,28,1) 150px,
    rgba(23,21,28,1) calc(100% - 150px),
    rgba(23,21,28,0.75) calc(100% - 130px),
    rgba(23,21,28,0.4) calc(100% - 100px),
    rgba(23,21,28,0.15) calc(100% - 65px),
    rgba(23,21,28,0.04) calc(100% - 30px),
    rgba(23,21,28,0) 100%);}
.final-cta h2{max-width:640px; margin:0 auto 16px; color:#fff;}
.final-cta .section-lead{max-width:520px; margin:0 auto 28px; color:rgba(255,255,255,0.75);}
.final-cta .quick-contact{border-top-color:rgba(255,255,255,0.12);}
.final-cta .quick-contact-label{color:rgba(255,255,255,0.6);}
.final-cta .quick-contact-hint{color:rgba(255,255,255,0.45);}
.final-cta .contact-btn{background:rgba(255,255,255,0.08); color:#fff; border-color:rgba(255,255,255,0.15);}
.final-cta .contact-btn.whatsapp{background:#25D366; border:none;}

/* Footer */
footer{border-top:1px solid var(--border); padding:48px 0 32px;}
.footer-top{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:24px; margin-bottom:32px;}
.footer-claim{font-size:13.5px; color:var(--muted); margin-top:8px; max-width:260px;}
.footer-links{display:flex; gap:20px 28px; font-size:14px; color:var(--ink-soft); flex-wrap:wrap;}
.footer-links a{text-decoration:none;}
.footer-links a:hover{color:var(--purple);}
.footer-bottom{display:flex; justify-content:space-between; font-size:13px; color:var(--muted); flex-wrap:wrap; gap:10px; padding-top:24px; border-top:1px solid var(--border);}

/* Simple page header (Impressum/Datenschutz/Referenzen) */
.page-header{padding:70px 0 20px;}
.page-header h1{font-size:38px; font-weight:800; letter-spacing:-0.02em; margin-bottom:12px;}
.legal-content{max-width:760px; padding:20px 0 80px;}
.legal-content h2{font-size:20px; margin:32px 0 10px;}
.legal-content p, .legal-content li{font-size:15px; color:var(--ink-soft); line-height:1.7;}
.legal-content ul{margin:10px 0 10px 20px;}
.legal-content .placeholder{background:rgba(217,70,239,0.1); color:var(--purple-deep); padding:1px 6px; border-radius:4px; font-weight:600;}

/* Referenzen-Galerie (echte Beispielbilder je Branche) */
.ref-grid{display:grid; grid-template-columns:1fr 1fr; gap:32px 24px; margin-top:28px;}
.ref-item{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; cursor:pointer;
  box-shadow:0 14px 30px -18px rgba(23,21,28,0.3); transition:box-shadow 0.3s ease, transform 0.3s ease;}
.ref-item:hover{box-shadow:0 30px 60px -18px rgba(23,21,28,0.45); transform:translateY(-3px);}
.ref-item:focus-visible{outline:2px solid var(--purple); outline-offset:2px;}
.ref-item-media{position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--cream-2);}
.ref-item-media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.5s ease;}
.ref-item:hover .ref-item-media img{transform:scale(1.07);}
.ref-placeholder-text{display:none; position:absolute; inset:0; align-items:center; justify-content:center;
  text-align:center; font-size:12.5px; font-weight:700; color:var(--muted); padding:0 20px;}
.ref-item.img-missing .ref-item-media{background:linear-gradient(135deg,var(--cream-2),#e7ddc9);}
.ref-item.img-missing .ref-item-media img{display:none;}
.ref-item.img-missing .ref-placeholder-text{display:flex;}
.ref-item-caption{padding:16px 18px 19px; font-size:13.5px; color:var(--ink-soft); line-height:1.5;}

.ref-cta-line{text-align:center; font-size:17px; font-weight:700; color:var(--ink); line-height:1.5;
  margin-top:38px; padding-top:28px; border-top:1px solid var(--border);}
.ref-cta-line .hl{color:var(--purple);}
.ref-ai-note{text-align:center; font-size:12.5px; color:var(--muted); margin-top:14px;}

/* Lightbox */
.ref-lightbox{position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center;
  background:rgba(8,6,14,0.82); backdrop-filter:blur(4px); opacity:0; pointer-events:none;
  transition:opacity 0.25s ease; padding:32px;}
.ref-lightbox.open{opacity:1; pointer-events:auto;}
.ref-lightbox-inner{background:#fff; border-radius:20px; max-width:880px; width:100%; max-height:88vh; overflow:auto;
  box-shadow:0 50px 110px -20px rgba(0,0,0,0.6); position:relative;}
.ref-lightbox-close{position:absolute; top:14px; right:14px; z-index:2; width:36px; height:36px; border-radius:50%;
  border:none; background:rgba(23,21,28,0.08); font-size:20px; line-height:1; cursor:pointer; color:var(--ink);}
.ref-lightbox-close:hover{background:rgba(23,21,28,0.16);}
.ref-lightbox-media{position:relative; width:100%; aspect-ratio:16/10; background:var(--cream-2);}
.ref-lightbox-media img{width:100%; height:100%; object-fit:cover; display:block;}
.ref-lightbox-media.img-missing{background:linear-gradient(135deg,var(--cream-2),#e7ddc9);}
.ref-lightbox-media.img-missing img{display:none;}
.ref-lightbox-media.img-missing .ref-placeholder-text{display:flex;}
.ref-lightbox-body{padding:24px 28px 30px;}
.ref-lightbox-title{font-size:21px; font-weight:800; color:var(--ink); margin-bottom:10px; letter-spacing:-0.01em;}
.ref-lightbox-caption{font-size:14.5px; color:var(--ink-soft); line-height:1.6;}
.ref-lightbox-ai-note{font-size:11.5px; color:var(--muted); margin-top:10px;}

/* Tablet / iPad */
@media (max-width: 1024px){
  nav.site-nav{padding:22px 32px;}
  .navlinks{gap:22px; font-size:14.5px;}
  .container{padding:0 24px;}
}

@media (max-width: 900px){
  .trust-grid, .pricing-grid, .stakes-grid, .steps, .problem-list, .think-list, .addon-grid{grid-template-columns:1fr 1fr;}
  .pricing-grid, .steps{grid-template-columns:1fr 1fr;}
  .modal-inner{grid-template-columns:1fr;}
  .founder-card{flex-direction:column; text-align:center;}
  .trust-grid{gap:32px;}
}

/* Phone (iPhone) */
@media (max-width: 640px){
  nav.site-nav{padding:16px 20px;}
  .navlinks{display:none;}
  .container{padding:0 20px;}
  h2{font-size:26px;}
  .page-header h1{font-size:28px;}
  section{padding:44px 0;}
  .final-cta{padding:90px 0;
    background:linear-gradient(180deg,
      rgba(23,21,28,0) 0,
      rgba(23,21,28,0.04) 18px,
      rgba(23,21,28,0.15) 39px,
      rgba(23,21,28,0.4) 60px,
      rgba(23,21,28,0.75) 78px,
      rgba(23,21,28,1) 90px,
      rgba(23,21,28,1) calc(100% - 90px),
      rgba(23,21,28,0.75) calc(100% - 78px),
      rgba(23,21,28,0.4) calc(100% - 60px),
      rgba(23,21,28,0.15) calc(100% - 39px),
      rgba(23,21,28,0.04) calc(100% - 18px),
      rgba(23,21,28,0) 100%);}
  .pricing-grid, .steps, .trust-grid, .stakes-grid, .ref-grid, .problem-list, .think-list, .addon-grid{grid-template-columns:1fr;}
  .ref-lightbox{padding:0;}
  .ref-lightbox-inner{border-radius:0; max-height:100vh; height:100%;}
  .quick-contact-row{flex-direction:column;}
  .contact-btn{justify-content:center;}
  .footer-bottom{flex-direction:column; align-items:flex-start; gap:8px;}
  .footer-top{gap:28px;}
  .modal-calendar, .modal-contact{padding:22px 18px;}
  .cal-day{font-size:12px;}
  .price-card, .value-item, .addon-card, .stakes-card{padding:20px 16px;}
  .founder-card, .testimonial-card{padding:20px;}
}

/* Kleine Displays (iPhone SE & Co.) */
@media (max-width: 380px){
  h2{font-size:22px;}
  .page-header h1{font-size:24px;}
  .btn-primary, .btn-secondary{width:100%; text-align:center; box-sizing:border-box;}
}
