/* integration.css – Ergänzungen zum Paket von Nils (site.css bleibt unverändert), The Presence, 15.10.2026
   Logo laut Brand-Kit: Monogramm + Haarlinie + gestapelte Wortmarke (600, Tracking .16em), Farbe = currentColor. */
.logo{align-items:center;gap:12px;letter-spacing:0}
.logo .logo__mark{width:34px;height:34px;flex:none;display:block}
.logo .logo__sep{width:1px;height:24px;background:currentColor;opacity:.22;flex:none}
.logo .logo__word{display:flex;flex-direction:column;font-size:11.5px;line-height:1.1;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.foot .logo{gap:14px}
.foot .logo .logo__mark{width:42px;height:42px}
.foot .logo .logo__sep{height:30px}
.foot .logo .logo__word{font-size:13.5px}
@media (max-width:389px){.nav .logo{gap:9px}.nav .logo .logo__mark{width:30px;height:30px}.nav .logo .logo__sep{height:20px}.nav .logo .logo__word{font-size:10.5px}}
/* Terminkarte (/erstgespraech, /en/consultation): Platzhalter im Kalender-Look, nach Klick der echte Calendly-Kalender */
.book__cal{margin-top:18px}
.book__vor{position:relative;border-radius:18px;overflow:hidden;min-height:clamp(200px,24vh,250px)}
.book__raster{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(3,1fr);gap:6px;padding:2px;filter:blur(1.5px);opacity:.6}
.book__raster i{border-radius:10px;background:#EFEDE7}
.book__raster i:nth-child(7n),.book__raster i:nth-child(7n-1){background:#F7F6F2}
.book__auf{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:12px;background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,.88))}
.book__auf p{margin:0;font-size:15px;font-weight:500;color:var(--ink)}
.book__auf .btn{flex:none;height:50px;padding:0 22px;white-space:nowrap}
.book__hinweis{margin:14px 0 0;font-size:12.5px;line-height:1.55;color:var(--slate)}
.book__hinweis a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.book.is-geladen{padding:clamp(12px,1.4vw,18px)}
.book.is-geladen .book__h{padding:6px 8px 14px}
.book__frame{display:block;width:100%;height:700px;border:0;border-radius:14px;background:#fff}
@media (max-width:560px){.book__frame{height:780px}}
.final__grid:has(.book.is-geladen){align-items:start}
/* Newsletter im Fuß: Vorname + E-Mail in der bestehenden Pille, darunter Einwilligung und Statusmeldung. */
.nl form[data-nl]{display:flex;flex-direction:column;align-items:stretch;gap:10px;flex:1 1 100%;max-width:520px;padding:0;border:0;border-radius:0}
.nl .nl__row{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.16)}
.nl .nl__row:focus-within{border-color:rgba(255,255,255,.4)}
.nl .nl__row input{flex:1 1 0;min-width:0}
.nl .nl__row input+input{border-left:1px solid rgba(255,255,255,.2);padding-left:14px}
.nl .nl__row input[aria-invalid="true"]{color:#ffb4a8}
.nl .nl__row button{flex:none}
.nl .nl__row button:disabled{opacity:.6;cursor:default}
.nl .nl__ok{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.55);cursor:pointer;padding-left:4px}
.nl .nl__ok span{font-size:inherit}
.nl .nl__ok input{flex:none;width:15px;height:15px;margin:2px 0 0;accent-color:#fff;cursor:pointer}
.nl .nl__ok a{color:rgba(255,255,255,.85);text-decoration:underline;text-underline-offset:2px}
.nl .nl__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.nl [data-nl-msg]{margin:0;padding-left:4px;font-size:13px;line-height:1.5;min-height:0}
.nl [data-nl-msg]:empty{display:none}
.nl [data-nl-msg][data-state="error"]{color:#ffb4a8}
.nl [data-nl-msg][data-state="ok"]{color:#fff}
.nl form[data-state="ok"] .nl__row,.nl form[data-state="ok"] .nl__ok{display:none}
@media (max-width:560px){
  .nl .nl__row{flex-wrap:wrap;border-radius:20px;padding:8px 8px 8px 16px;row-gap:4px}
  .nl .nl__row input{flex:1 1 100%;padding-block:9px}
  .nl .nl__row input+input{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.18)}
  .nl .nl__row button{flex:1 1 100%;padding-block:12px}
}
