/*
Theme Name: Scribzio
Theme URI: https://scribzio.blog/
Author: Scribzio
Author URI: https://scribzio.blog/
Description: Ein leichtes, display-only Theme für Scribzio – kostenlose Online-Text-Tools. Violett/Pink/Orange nach Claude-Mockup, sticky Header mit Blur, Feather-Logo, dunkles 4-spaltiges Footer, volle Breite ohne Sidebar, Dark/Light-Umschalter, mobil optimiert. Mit WordPress Customizer (Farben, Typografie, Header, Footer, Startseite), 4 Demo-Stilen und Seiten-Templates.
Version: 2.0.4
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: scribzio
Tags: light, full-width-template, custom-logo, custom-menu, translation-ready
*/

/* ============ Scribzio Theme v2.0 ============ */
:root{
  --sz-bg:#fcfbf9;
  --sz-bg2:#f6f3ee;
  --sz-card:#ffffff;
  --sz-tx:#17142b;
  --sz-mut:#625f78;
  --sz-bd:#ebe8e1;
  --sz-p:#6d4aff;
  --sz-p2:#e8388a;
  --sz-acc:#ff6a3d;
  --sz-teal:#12a594;
  --sz-grad:linear-gradient(110deg,#6d4aff,#e8388a 55%,#ff6a3d);
  --sz-grad-135:linear-gradient(135deg,#6d4aff,#e8388a 60%,#ff6a3d);
  --sz-grad-160:linear-gradient(160deg,#6d4aff,#e8388a 55%,#ff6a3d);
  --sz-grad-duo:linear-gradient(110deg,#6d4aff,#e8388a);
  --sz-p-rgb:109,74,255;
  --sz-p2-rgb:232,56,138;
  --sz-ink:#15102e;
  --sz-ink-rgb:21,16,46;
  --sz-head:rgba(252,251,249,.85);
  --sz-sh:0 1px 2px rgba(23,20,43,.04),0 16px 36px rgba(23,20,43,.07);
  color-scheme:light;
}
/* Dark mode: toggled via header button (data-theme on <html>); default is light mode for all first-time visitors */
html[data-theme="dark"]{
  --sz-bg:#0f0c1f;
  --sz-bg2:#15112b;
  --sz-card:#1a1536;
  --sz-tx:#f1eefc;
  --sz-mut:#a9a4c6;
  --sz-bd:#2c2650;
  --sz-head:rgba(15,12,31,.85);
  --sz-sh:0 16px 36px rgba(0,0,0,.4);
  color-scheme:dark;
}
/* ---------- Demo-Stile: alternate color schemes (Customizer → Demo-Stil).
   "Scribzio Standard" has no overrides — it IS the :root default above. */
html[data-demo="ozean"]{
  --sz-p:#2563eb;--sz-p2:#06b6d4;--sz-acc:#38bdf8;--sz-teal:#06b6d4;
  --sz-p-rgb:37,99,235;--sz-p2-rgb:6,182,212;
  --sz-grad:linear-gradient(110deg,#2563eb,#06b6d4 55%,#38bdf8);
  --sz-grad-135:linear-gradient(135deg,#2563eb,#06b6d4 60%,#38bdf8);
  --sz-grad-160:linear-gradient(160deg,#2563eb,#06b6d4 55%,#38bdf8);
  --sz-grad-duo:linear-gradient(110deg,#2563eb,#06b6d4);
  --sz-ink:#0b1e3a;--sz-ink-rgb:11,30,58;
}
html[data-demo="ozean"] .szm{--v:#2563eb;--p:#06b6d4;--co:#38bdf8;--t:#06b6d4;--ink:#0b1e3a;--g:linear-gradient(110deg,#2563eb,#06b6d4 55%,#38bdf8)}
html[data-demo="wald"]{
  --sz-p:#059669;--sz-p2:#84cc16;--sz-acc:#4ade80;--sz-teal:#10b981;
  --sz-p-rgb:5,150,105;--sz-p2-rgb:132,204,22;
  --sz-grad:linear-gradient(110deg,#059669,#84cc16 55%,#4ade80);
  --sz-grad-135:linear-gradient(135deg,#059669,#84cc16 60%,#4ade80);
  --sz-grad-160:linear-gradient(160deg,#059669,#84cc16 55%,#4ade80);
  --sz-grad-duo:linear-gradient(110deg,#059669,#84cc16);
  --sz-ink:#0c2417;--sz-ink-rgb:12,36,23;
}
html[data-demo="wald"] .szm{--v:#059669;--p:#84cc16;--co:#4ade80;--t:#10b981;--ink:#0c2417;--g:linear-gradient(110deg,#059669,#84cc16 55%,#4ade80)}
html[data-demo="sonnenuntergang"]{
  --sz-p:#ea580c;--sz-p2:#f43f5e;--sz-acc:#fbbf24;--sz-teal:#f59e0b;
  --sz-p-rgb:234,88,12;--sz-p2-rgb:244,63,94;
  --sz-grad:linear-gradient(110deg,#ea580c,#f43f5e 55%,#fbbf24);
  --sz-grad-135:linear-gradient(135deg,#ea580c,#f43f5e 60%,#fbbf24);
  --sz-grad-160:linear-gradient(160deg,#ea580c,#f43f5e 55%,#fbbf24);
  --sz-grad-duo:linear-gradient(110deg,#ea580c,#f43f5e);
  --sz-ink:#2b1408;--sz-ink-rgb:43,20,8;
}
html[data-demo="sonnenuntergang"] .szm{--v:#ea580c;--p:#f43f5e;--co:#fbbf24;--t:#f59e0b;--ink:#2b1408;--g:linear-gradient(110deg,#ea580c,#f43f5e 55%,#fbbf24)}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--sz-bg);
  color:var(--sz-tx);
  font-family:"Inter","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
}
h1,h2,h3,h4{font-family:"Fraunces",Georgia,"Times New Roman",serif;line-height:1.15;letter-spacing:-.5px}
img{max-width:100%;height:auto}
a{color:var(--sz-p);text-decoration:none}
a:hover{color:var(--sz-p2)}
input,button,textarea{font:inherit}
.sz-wrap{max-width:1200px;margin:0 auto;padding:0 24px}

/* ---------- Sticky blurred header ---------- */
.sz-header{
  position:sticky;top:0;z-index:50;
  background:var(--sz-head);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--sz-bd);
}
.sz-header-inner{
  display:flex;align-items:center;justify-content:space-between;
  min-height:78px;max-width:1200px;margin:0 auto;padding:0 24px;
}
.sz-brand{display:flex;align-items:center;gap:11px;color:var(--sz-tx);font-weight:700;font-size:26px;letter-spacing:-.5px;font-family:"Fraunces",Georgia,serif}
.sz-brand:hover{color:var(--sz-tx)}
/* Logo wordmark: gradient text that looks good in light AND dark mode */
.sz-brand-text{color:var(--sz-tx)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .sz-brand-text{
    background:var(--sz-grad);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
}
.sz-logo-badge{
  width:38px;height:38px;border-radius:12px;flex:none;
  background:var(--sz-grad);
  display:inline-grid;place-items:center;color:#fff;
  box-shadow:0 6px 16px rgba(var(--sz-p-rgb),.35);
}
.sz-logo-badge svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}
/* Custom logo (Customizer → Site Identity): constrained, keeps header height stable */
.sz-brand .sz-custom-logo{width:auto;max-width:200px;max-height:48px;height:auto;flex:none;display:block}

/* ---------- Primary nav ---------- */
.sz-menu-toggle{display:none}
.sz-menu-toggle-label{
  display:none;cursor:pointer;width:48px;height:48px;border-radius:12px;
  border:1px solid var(--sz-bd);align-items:center;justify-content:center;
  background:var(--sz-card);
}
.sz-menu-toggle-label svg{width:24px;height:24px;stroke:var(--sz-tx);fill:none;stroke-width:2;stroke-linecap:round}
.sz-nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;align-items:center;flex-wrap:wrap}
.sz-nav ul ul{display:none}
.sz-nav li{position:relative}
.sz-nav li:hover>ul,.sz-nav li:focus-within>ul{
  display:grid;grid-template-columns:1fr 1fr;gap:2px;position:absolute;top:calc(100% + 6px);left:0;min-width:480px;
  background:var(--sz-card);border:1px solid var(--sz-bd);border-radius:16px;
  box-shadow:var(--sz-sh);padding:8px;z-index:60;
}
.sz-nav ul ul a{display:flex;width:100%;border-radius:10px;white-space:nowrap;min-height:40px;padding:8px 14px;font-size:14px;gap:10px;align-items:center}
/* Tool icons in the desktop Tools dropdown (violet accent) */
.sz-nav ul ul a svg.sz-mi{width:17px;height:17px;flex:none;stroke:var(--sz-p);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sz-nav ul ul a .sz-mi-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Dropdown arrow on the top-level Tools parent (signals a submenu with more tools) */
.sz-nav>ul>li>a svg.sz-mi-parent{width:16px;height:16px;flex:none;stroke:var(--sz-p);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
/* Drawer already has its own toggle chevron button — hide the duplicate parent arrow there */
.sz-drawer-nav a svg.sz-mi-parent{display:none}
/* Submenu toggle button (mobile only): hidden on desktop, injected by JS */
.sz-sub-toggle{display:none}
/* Items hidden by the mobile submenu filter (JS adds .sz-hide; desktop keeps all 17) */
.sz-nav ul ul li.sz-hide{display:none}

/* ---------- Dark/light mode: premium segmented pill in the header ---------- */
.sz-mode-toggle{
  position:relative;flex:none;cursor:pointer;
  width:72px;height:44px;border-radius:999px;
  background:var(--sz-card);border:1px solid var(--sz-bd);
  padding:0;transition:background .25s,border-color .25s,box-shadow .25s;
}
.sz-mode-toggle:hover{border-color:var(--sz-p);box-shadow:0 4px 14px rgba(var(--sz-p-rgb),.25)}
.sz-mode-toggle:focus-visible{outline:2px solid var(--sz-p);outline-offset:2px}
.sz-mode-toggle .sz-track-sun,.sz-mode-toggle .sz-track-moon{
  position:absolute;top:50%;width:18px;height:18px;transform:translateY(-50%);
  stroke:var(--sz-mut);fill:none;stroke-width:2;stroke-linecap:round;opacity:.55;pointer-events:none;
}
.sz-mode-toggle .sz-track-sun{left:9px}
.sz-mode-toggle .sz-track-moon{right:9px}
.sz-mode-thumb{
  position:absolute;top:4px;left:5px;width:34px;height:34px;border-radius:50%;
  background:var(--sz-grad-135);
  display:grid;place-items:center;
  box-shadow:0 3px 10px rgba(var(--sz-p-rgb),.45);
  transform:translateX(0);transition:transform .28s cubic-bezier(.4,1.4,.6,1);
}
.sz-mode-thumb svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}
.sz-mode-thumb .sz-ic-moon{display:none}
html[data-theme="dark"] .sz-mode-thumb{transform:translateX(28px)}
html[data-theme="dark"] .sz-mode-thumb .sz-ic-sun{display:none}
html[data-theme="dark"] .sz-mode-thumb .sz-ic-moon{display:block}
.sz-nav a{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 16px;border-radius:99px;
  color:var(--sz-mut);font-weight:500;font-size:15px;
  min-height:44px;white-space:nowrap;
}
.sz-nav a:hover{color:var(--sz-tx);background:var(--sz-bg2)}
.sz-nav .current-menu-item>a,.sz-nav .current_page_item>a{
  background:rgba(var(--sz-p-rgb),.1);color:var(--sz-p);font-weight:600;
}

/* ---------- Main content ---------- */
.sz-main{display:block;min-height:50vh}
.sz-main .sz-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.sz-main>.entry-content>*,.sz-main>article{max-width:1200px;margin-left:auto;margin-right:auto}

/* ---------- Footer: dark navy, 4 columns ---------- */
.sz-footer{background:var(--sz-ink);color:#b9c2da;padding:68px 0 0;position:relative}
.sz-footer:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--sz-grad)}
.sz-footer-grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;
  max-width:1200px;margin:0 auto;padding:0 24px 46px;
}
.sz-footer-brand .sz-brand{color:#fff;margin-bottom:14px}
.sz-footer-brand p{margin:0;max-width:300px;font-size:17px;line-height:1.6}
.sz-footer h4{color:#fff;margin:0 0 16px;font-size:15px;font-family:"Inter",sans-serif;letter-spacing:0}
.sz-footer-col ul{list-style:none;margin:0;padding:0}
.sz-footer-col li{margin-bottom:10px;font-size:14px;transition:transform .2s,color .2s}
.sz-footer-col li:hover{color:#fff;transform:translateX(4px)}
.sz-footer-col a{color:inherit;display:inline-block;min-height:32px;line-height:32px}
.sz-copyright{
  border-top:1px solid rgba(255,255,255,.12);
  padding:22px 24px;font-size:13px;text-align:center;color:#9aa6c8;
}

/* ---------- Generic content spacing ---------- */
.sz-main .entry-content{padding:48px 0}
.sz-main .entry-content p{max-width:70ch}

/* ============ Responsive breakpoints ============ */

/* 1200px: tighten padding on large tablets */
@media (max-width:1200px){
  .sz-wrap{max-width:100%}
  .sz-main>.entry-content>*,.sz-main>article{max-width:100%}
}

/* ---------- Mobile drawer navigation (≤900px) ----------
   Slide-in panel from the right. Hidden on desktop. */
.sz-drawer,.sz-drawer-overlay{display:none}

/* 900px: mobile slide-in drawer navigation + collapse grids */
@media (max-width:900px){
  .sz-menu-toggle-label{display:inline-flex}
  .sz-header-inner{min-height:68px}
  /* The inline desktop nav is replaced by the drawer on mobile */
  .sz-header .sz-nav{display:none}

  /* Drawer panel: fixed, full height, slides in from the right */
  .sz-drawer{
    display:flex;flex-direction:column;
    position:fixed;top:0;right:0;bottom:0;z-index:100;
    width:min(85vw,340px);width:min(85dvw,340px);
    height:100vh;height:100dvh;
    background:var(--sz-grad-160);
    box-shadow:-8px 0 40px rgba(var(--sz-ink-rgb),.35);
    transform:translateX(106%);
    visibility:hidden;
    transition:transform .34s cubic-bezier(.32,.72,.35,1),visibility 0s linear .34s;
    overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  .sz-menu-toggle:checked~.sz-drawer{
    transform:translateX(0);
    visibility:visible;
    transition:transform .34s cubic-bezier(.32,.72,.35,1);
  }
  /* Dimmed overlay behind the drawer — a label for the checkbox, so a click closes it */
  .sz-drawer-overlay{
    display:block;position:fixed;inset:0;z-index:95;cursor:pointer;
    background:rgba(21,16,46,.5);
    opacity:0;visibility:hidden;
    transition:opacity .3s ease,visibility 0s linear .3s;
  }
  .sz-menu-toggle:checked~.sz-drawer-overlay{
    opacity:1;visibility:visible;
    transition:opacity .3s ease;
  }
  /* Page scroll lock while the drawer is open (JS toggles the class) */
  body.sz-drawer-open{overflow:hidden}

  /* Drawer header: white logo left, X close right */
  .sz-drawer-head{
    display:flex;align-items:center;justify-content:space-between;flex:none;
    padding:18px 20px 16px;
  }
  .sz-drawer .sz-brand{color:#fff;font-size:24px}
  .sz-drawer .sz-brand:hover{color:#fff}
  .sz-drawer .sz-brand-text{color:#fff;background:none;-webkit-text-fill-color:#fff}
  .sz-drawer .sz-logo-badge{background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.22)}
  .sz-drawer .sz-logo-badge svg{stroke:var(--sz-p)}
  .sz-drawer-close{
    display:inline-grid;place-items:center;cursor:pointer;flex:none;
    width:44px;height:44px;border-radius:12px;color:#fff;
    background:rgba(255,255,255,.14);
    transition:background .2s;
  }
  .sz-drawer-close:hover{background:rgba(255,255,255,.26)}
  .sz-drawer-close:focus-visible{outline:2px solid #fff;outline-offset:2px}
  .sz-drawer-close svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;display:block}

  /* Drawer menu list: white uppercase items */
  .sz-drawer-nav{flex:1;padding:4px 0 24px}
  .sz-drawer-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
  .sz-drawer-nav li{position:relative}
  .sz-drawer-nav a{
    display:flex;align-items:center;min-height:56px;
    padding:14px 24px;color:#fff;
    font-size:15px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  .sz-drawer-nav a:hover,.sz-drawer-nav a:focus-visible{color:#fff;background:rgba(255,255,255,.1)}
  .sz-drawer-nav .current-menu-item>a,.sz-drawer-nav .current_page_item>a{background:rgba(255,255,255,.16)}
  .sz-drawer-nav ul ul li.sz-hide{display:none}

  /* Tools submenu: translucent lighter shade; collapsed by default once JS runs */
  .sz-drawer-nav ul ul{
    background:rgba(255,255,255,.12);
    box-shadow:none;border:0;position:static;min-width:0;
  }
  .sz-js .sz-drawer-nav ul ul{display:none}
  .sz-js .sz-drawer-nav li.sz-sub-open>ul{display:block}
  .sz-js .sz-drawer-nav ul ul a{
    min-height:48px;padding:12px 24px 12px 32px;
    font-size:14px;font-weight:600;letter-spacing:.05em;text-transform:none;white-space:normal;
    border-bottom:1px solid rgba(255,255,255,.1);
    gap:12px;
  }
  /* Tool icons in the mobile drawer submenu (white, tap-friendly size) */
  .sz-drawer-nav ul ul a svg.sz-mi{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  /* Submenu chevron toggle (white, rotates open) */
  .sz-js .sz-drawer-nav li.menu-item-has-children>a,
  .sz-js .sz-drawer-nav li.page_item_has_children>a{padding-right:64px}
  .sz-drawer-nav .sz-sub-toggle{
    display:inline-grid;place-items:center;
    position:absolute;right:12px;top:6px;width:44px;height:44px;z-index:2;
    border:0;border-radius:10px;cursor:pointer;
    background:rgba(255,255,255,.14);color:#fff;
    transition:transform .25s,background .25s;
  }
  .sz-drawer-nav .sz-sub-toggle svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}
  .sz-drawer-nav .sz-sub-toggle:hover{background:rgba(255,255,255,.26)}
  .sz-drawer-nav li.sz-sub-open>.sz-sub-toggle{transform:rotate(180deg)}
  .sz-drawer-nav .sz-sub-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}

  .sz-footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .sz-footer{padding-top:52px}
  .sz-main .entry-content{padding:36px 0}
}

/* 640px: single-column footer, comfortable type */
@media (max-width:640px){
  .sz-brand{font-size:22px}
  .sz-logo-badge{width:34px;height:34px}
  .sz-footer-grid{grid-template-columns:1fr;gap:24px;padding-bottom:36px}
  .sz-footer-col li:hover{transform:none}
  .sz-wrap,.sz-header-inner,.sz-footer-grid{padding-left:20px;padding-right:20px}
  .sz-main .entry-content{padding:28px 0}
}

/* 390px: smallest phones — everything fits, no horizontal scroll */
@media (max-width:390px){
  .sz-brand{font-size:20px;gap:8px}
  .sz-menu-toggle-label{width:44px;height:44px}
  .sz-wrap,.sz-header-inner,.sz-footer-grid{padding-left:16px;padding-right:16px}
  .sz-footer{padding-top:44px}
}

/* ---------- Scribzio Assistent: FAQ chat widget ---------- */
.sz-chat-fab{
  position:fixed;right:22px;bottom:22px;z-index:80;
  width:58px;height:58px;border-radius:50%;cursor:pointer;border:0;
  background:var(--sz-grad-135);
  display:grid;place-items:center;color:#fff;
  box-shadow:0 10px 26px rgba(var(--sz-p-rgb),.45),0 2px 6px rgba(0,0,0,.15);
  transition:transform .25s,box-shadow .25s,filter .25s;
}
.sz-chat-fab:hover{transform:translateY(-3px) scale(1.05);filter:saturate(1.15)}
.sz-chat-fab:active{transform:scale(.96)}
.sz-chat-fab svg{width:28px;height:28px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}
.sz-chat-panel{
  position:fixed;right:22px;bottom:94px;z-index:80;
  width:380px;max-width:calc(100vw - 32px);height:540px;max-height:calc(100vh - 130px);
  background:var(--sz-card);border:1px solid var(--sz-bd);border-radius:20px;
  box-shadow:0 24px 60px rgba(23,20,43,.22);
  display:flex;flex-direction:column;overflow:hidden;
  animation:sz-chat-in .25s ease-out;
}
@keyframes sz-chat-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.sz-chat-panel[hidden]{display:none}
.sz-chat-head{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--sz-grad);
  color:#fff;padding:14px 18px;flex:none;
}
.sz-chat-title{font-weight:700;font-size:16px;letter-spacing:-.2px}
.sz-chat-close{
  background:rgba(255,255,255,.18);border:0;color:#fff;cursor:pointer;
  width:32px;height:32px;border-radius:50%;font-size:20px;line-height:1;
  display:grid;place-items:center;transition:background .2s;
}
.sz-chat-close:hover{background:rgba(255,255,255,.32)}
.sz-chat-sub{
  flex:none;padding:10px 18px;font-size:12.5px;color:var(--sz-mut);
  border-bottom:1px solid var(--sz-bd);background:var(--sz-bg2);
}
.sz-chat-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.sz-chat-msg{display:flex;flex-direction:column;max-width:88%}
.sz-chat-user{align-self:flex-end;align-items:flex-end}
.sz-chat-bot{align-self:flex-start;align-items:flex-start}
.sz-chat-bubble{
  padding:11px 15px;border-radius:16px;font-size:14.5px;line-height:1.5;
  overflow-wrap:anywhere;
}
.sz-chat-user .sz-chat-bubble{background:var(--sz-grad-duo);color:#fff;border-bottom-right-radius:6px}
.sz-chat-bot .sz-chat-bubble{background:var(--sz-bg2);color:var(--sz-tx);border:1px solid var(--sz-bd);border-bottom-left-radius:6px}
.sz-chat-typing{letter-spacing:4px}
.sz-chat-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.sz-chat-link{
  display:inline-block;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;
  background:var(--sz-bg2);border:1px solid var(--sz-p);color:var(--sz-p);text-decoration:none;
  transition:background .2s,color .2s;
}
.sz-chat-link:hover{background:var(--sz-p);color:#fff}
.sz-chat-chips{display:flex;gap:8px;flex:none;padding:10px 14px;border-top:1px solid var(--sz-bd);overflow-x:auto}
.sz-chat-chip{
  flex:none;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;
  background:var(--sz-bg2);border:1px solid var(--sz-bd);color:var(--sz-tx);
  transition:border-color .2s,color .2s;
}
.sz-chat-chip:hover{border-color:var(--sz-p);color:var(--sz-p)}
.sz-chat-form{display:flex;gap:8px;flex:none;padding:12px 14px;border-top:1px solid var(--sz-bd)}
.sz-chat-input{
  flex:1;min-width:0;padding:12px 16px;border-radius:999px;font-size:14.5px;
  border:1.5px solid var(--sz-bd);background:var(--sz-bg);color:var(--sz-tx);
}
.sz-chat-input:focus{outline:none;border-color:var(--sz-p);box-shadow:0 0 0 3px rgba(var(--sz-p-rgb),.15)}
.sz-chat-input::placeholder{color:var(--sz-mut)}
.sz-chat-send{
  flex:none;width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;
  background:var(--sz-grad-135);color:#fff;font-size:18px;
  display:grid;place-items:center;box-shadow:0 4px 12px rgba(var(--sz-p-rgb),.4);
  transition:transform .2s;
}
.sz-chat-send:hover{transform:scale(1.06)}
/* dark-mode polish for the chat widget */
html[data-theme="dark"] .sz-chat-panel{box-shadow:0 24px 60px rgba(0,0,0,.55)}
html[data-theme="dark"] .sz-chat-fab{box-shadow:0 10px 26px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.12)}
@media (max-width:480px){
  .sz-chat-panel{right:16px;bottom:88px}
  .sz-chat-fab{right:16px;bottom:16px}
}

/* ============ Customizer options (v2.0) ============ */
/* Header: sticky off */
.sz-no-sticky .sz-header{position:static}
/* Header: centered layout */
.sz-header-centered .sz-header-inner{flex-direction:column;justify-content:center;gap:6px;padding-top:14px;padding-bottom:14px;min-height:0}
.sz-header-centered .sz-nav ul{justify-content:center}
/* Header: hide dark/light toggle */
.sz-no-mode-toggle #sz-mode-toggle{display:none}
/* Footer: 3 columns (or Beliebte Tools hidden) */
.sz-foot-3col .sz-footer-grid{grid-template-columns:1.6fr 1fr 1fr}
/* Homepage: compact hero */
.sz-hero-compact .szm .hero .w{padding-top:44px;padding-bottom:64px}
.sz-hero-compact .szm h1{font-size:46px;letter-spacing:-1px}
.sz-hero-compact .szm .stats{margin-top:28px}
/* Homepage: hide sections */
.sz-no-home-tools .szm section#tools{display:none}
.sz-no-home-features .szm section#how{display:none}
.sz-no-home-faq .szm section:has(#szm-faq){display:none}

/* ============ Page templates (v2.0) ============ */
/* Volle Breite: no content width constraint */
.sz-tpl-fullwidth .sz-main>.entry-content>*,.sz-tpl-fullwidth .sz-main>article{max-width:none}
/* Schmal: narrow centered column */
.sz-tpl-narrow .sz-main>.entry-content>*,.sz-tpl-narrow .sz-main>article{max-width:760px}

@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ---------- v2.0.4 ---------- */
/* Customizer preview iframe only (body class added via is_customize_preview()): pause decorative
   homepage animations so the preview stays light. Never applies on the live site. */
.sz-customize-preview .szm *,.sz-customize-preview .szm *:before,.sz-customize-preview .szm *:after{animation-play-state:paused!important}
/* Homepage hero blobs follow the brand colours (defaults resolve to the exact same hex values => no visual change). */
html .szm .b1{background:var(--v)}
html .szm .b2{background:var(--p)}
html .szm .b4{background:var(--t)}
