/* RhyKI UI (migrated) */
		:root{--bg:#f4f5f2;--ink:#121319;--muted:#636872;--line:#dcded7;--card:#fff;--vio:#7e73ff;--mx:50%;--my:50%}body.dark{--bg:#121318;--ink:#eceff5;--muted:#b2b8c5;--line:#2b2f39;--card:#171a22;--vio:#978fff}body.dark{background-image:linear-gradient(rgba(170,180,210,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(170,180,210,.14) 1px,transparent 1px);background-size:28px 28px}body.dark .nav,body.dark .section,body.dark .hero,body.dark .fcard,body.dark .step,body.dark .card,body.dark .s,body.dark .mobile-menu,body.dark .logos{background:var(--card)!important}body.dark .footer{background:#0d0f14}body.dark .logo-mark{color:#f2f4f8;opacity:.62}body.dark .menu{color:#d9e0f2}body.dark .menu a{color:#f2f6ff;opacity:.92}body.dark .menu a:hover{opacity:1}body.dark .menu a:after{background:linear-gradient(90deg,#8e84ff,#c3bfff)}body.dark .btn,body.dark .cta,body.dark .theme-toggle,body.dark .hamburger{background:#1e2330;color:#f3f6ff;border-color:#3a4152}body.dark .btn:hover,body.dark .cta:hover{background:#262d3c}body.dark .mobile-menu{background:#171b24;border-color:#3a4152}body.dark .mobile-menu a{background:#0f1420;border-color:#4b556d;color:#f2f6ff}body.dark .mobile-menu a:hover{background:#1b2336}body.dark .node{background:#1b2030;border-color:#3b4358;color:#eef2ff}body.dark .trust-mini{background:#161b26;border-color:#3a4152;color:#dfe6ff}body.dark .trust-chip{background:#1f2636;border-color:#3a4152;color:#e8edff}body.dark input,body.dark textarea{background:#141926;color:#ecf1ff;border-color:#3a4152}body.dark input::placeholder,body.dark textarea::placeholder{color:#9aa4bb}body.dark .chatbot-panel{background:#131926;border-color:#3a4152;box-shadow:0 20px 40px rgba(0,0,0,.45)}body.dark .chat-head{color:#eef2ff;border-bottom-color:#3a4152}body.dark .chat-body{background:#131926}body.dark .bubble.bot{background:#20283a;color:#eef2ff}body.dark .bubble.me{background:#7e73ff;color:#fff}body.dark .chat-input{border-top-color:#3a4152;background:#131926}body.dark .chat-input input{background:#0f1522;color:#eef2ff;border:1px solid #3a4152}body.dark .chat-input button{background:#1f2636;color:#eef2ff;border-color:#3a4152}body.dark .hero h1{color:#f5f7ff}body.dark .hero p,body.dark .small{color:#c6cce0}body.dark .badge{color:#a8b0c7}body.dark .step-detail{background:#121826;border-color:#3a4152;color:#d5ddef}body.dark .stats .s b{color:#f4f7ff}body.dark .stats .s span{color:#c3cbe0}body.dark .blog-card{background:#171d2a;border-color:#3a4152}body.dark .blog-card h3{color:#f2f6ff}body.dark .blog-card .small{color:#b7c0d8}body.dark .blog-card .btn{background:#222b3d;color:#f4f7ff;border-color:#3a4152}body.dark .blog-card .btn:hover{background:#2a354d}
		*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background-color:var(--bg);background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px);background-size:28px 28px}
		a{text-decoration:none;color:inherit}.wrap{max-width:1140px;margin:0 auto;padding:18px;position:relative;z-index:2}
		.white-surface{position:relative;overflow:hidden}
		.white-surface:before{content:'';position:absolute;inset:-20%;background:radial-gradient(320px circle at var(--mx) var(--my),rgba(126,115,255,.12),transparent 55%);pointer-events:none;opacity:.9}
		.nav{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.9);border:1px solid var(--line);backdrop-filter:blur(6px);padding:14px 18px;border-radius:14px;position:sticky;top:12px;z-index:20}
		.brand{font-weight:800}.menu{display:flex;gap:18px;font-size:14px;color:#4d5563}.menu a{position:relative}.menu a:after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:linear-gradient(90deg,#131729,var(--vio));transform:scaleX(0);transform-origin:left;transition:.2s}.menu a:hover:after{transform:scaleX(1)}.theme-toggle{display:none;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:16px}.hamburger{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;place-items:center;padding:0}.hamburger svg{width:20px;height:20px;stroke:#111;stroke-width:2.2;fill:none;stroke-linecap:round}.mobile-menu{display:none;position:sticky;top:64px;z-index:30;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:8px;width:100%;box-shadow:0 10px 24px rgba(0,0,0,.08)}.mobile-menu.open{display:grid;gap:8px}.mobile-menu a{padding:12px 12px;border:1px solid #cfd6e6;border-radius:8px;font-size:16px;line-height:1.2;color:#0f1522;background:#ffffff}
		.btn,.cta,button{transition:.2s}.btn{padding:10px 14px;border:1px solid #111;border-radius:10px;font-weight:600;background:#fff}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(50,40,120,.18)}
		.hero{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:56px 22px 36px;text-align:center}
		.hero h1{font-size:clamp(34px,5.4vw,66px);line-height:1.06;margin:0 0 10px;letter-spacing:-1px}.hero p{max-width:760px;margin:0 auto;color:var(--muted);font-size:18px}
		.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-bottom:8px}.cta{display:inline-block;margin-top:18px;padding:13px 22px;border:1px solid #1d1f2a;border-radius:10px;font-weight:700;background:#fff}.cta:hover{transform:translateY(-2px);box-shadow:0 14px 24px rgba(46,34,120,.2)}
		.nodes-wrap{margin:24px auto 8px;max-width:900px;position:relative;height:230px}
		.nodes-wrap svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
		.node{position:absolute;min-width:160px;background:#fff;border:1px solid #d4d7e2;border-radius:12px;padding:10px 12px;font-size:13px;text-align:left;box-shadow:0 8px 16px rgba(20,20,35,.08)}
		.node b{display:block;font-size:12px;margin-bottom:3px}
		.n-center{left:50%;top:50%;transform:translate(-50%,-50%);min-width:140px;text-align:center;border:1px solid #bcb4ff;background:linear-gradient(145deg,#fff,#f7f5ff)}
		.n-lt{left:4%;top:14%}.n-rt{right:4%;top:14%}.n-lb{left:4%;bottom:14%}.n-rb{right:4%;bottom:14%}
		.section{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px 22px;scroll-margin-top:88px}.wrap section.section:nth-of-type(even){background:#fcfcff}
		.section h2{font-size:clamp(28px,4.2vw,50px);line-height:1.08;margin:0 0 10px}.section p{color:var(--muted)}
		.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.s,.card,.price,.logo,.fcard{border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}.s:hover,.card:hover,.price:hover,.logo:hover,.fcard:hover,.step:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(18,20,28,.08);border-color:#c9c4ff}.fcard,.card{display:flex;flex-direction:column}.testis .card{min-height:190px}
		.s b{font-size:30px;display:block}.s{text-align:center}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.blog-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:0;min-height:260px}.blog-card h3{font-size:24px;line-height:1.2}.fcard{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.mini-graphic{height:98px;border:1px dashed #d5d8e3;border-radius:10px;background:linear-gradient(180deg,#fcfcff,#f7f6ff);margin-bottom:10px;display:grid;place-items:center;padding:8px}.mini-graphic svg{width:100%;height:100%}.graph{height:120px;border:1px dashed #d5d8e3;border-radius:10px;display:flex;align-items:flex-end;gap:8px;padding:10px;margin-top:10px}.bar{flex:1;background:linear-gradient(180deg,#bcb4ff,#7e73ff);border-radius:6px 6px 2px 2px}.steps{display:grid;gap:10px;margin-top:14px}.step{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;cursor:pointer}.badge{font-size:11px;letter-spacing:.08em;color:var(--muted)}.step-detail{grid-column:1/-1;max-height:0;opacity:0;overflow:hidden;margin-top:0;padding:0 12px;border:1px dashed transparent;border-radius:10px;background:#fcfcff;font-size:13px;color:var(--muted);line-height:1.45;transition:max-height .22s ease,opacity .18s ease,margin-top .18s ease,padding .18s ease,border-color .18s ease}.step.open .step-detail,.step:hover .step-detail,.step:focus-within .step-detail{max-height:220px;opacity:1;margin-top:6px;padding:10px 12px;border-color:#d8dbe5}.step-glyph{width:64px;height:64px;border-radius:14px;display:grid;place-items:center;border:1px solid #d3d7e6;background:#f8f9ff}.step-glyph svg{width:38px;height:38px;stroke:#5c53cb;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}.step:nth-child(2) .step-glyph,.step:nth-child(4) .step-glyph{background:#f3fbf2;border-color:#cde8ca;}.step:nth-child(2) .step-glyph svg,.step:nth-child(4) .step-glyph svg{stroke:#3d8742;}
		.logos{display:block;margin-top:16px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.logo-strip{display:flex;gap:36px;align-items:center;white-space:nowrap;padding:14px 18px;will-change:transform;animation:logoTicker 42s linear infinite}.logos:hover .logo-strip{animation-play-state:paused}.logo-mark{font-size:26px;line-height:1;font-weight:700;letter-spacing:.02em;color:#111;opacity:.66;filter:grayscale(1);text-transform:uppercase}.logo-mark.small{font-size:22px;font-weight:600}.logo-mark:hover{opacity:.9}@keyframes logoTicker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
		.testis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.small{font-size:13px;color:var(--muted)}.ava{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);object-fit:cover}
		.form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.form-full textarea{grid-column:1/-1;padding:12px;border:1px solid #cfd3ca;border-radius:10px;font:inherit;resize:vertical}.form-full button{grid-column:1/-1}.form input{padding:12px;border:1px solid #cfd3ca;border-radius:10px}.form input:invalid{border-color:#d04646}.form input:focus,.form textarea:focus{outline:none;border-color:#7e73ff;box-shadow:0 0 0 3px rgba(126,115,255,.12)}
		button{padding:12px 16px;border:1px solid #111;background:#111;color:#fff;border-radius:10px;font-weight:700}button:hover{transform:translateY(-1px)}
		.chatbot{position:fixed;right:18px;bottom:60px;z-index:55}.chatbot-toggle{display:flex;align-items:center;gap:10px;background:#111;color:#fff;border-radius:16px;padding:12px 16px;border:1px solid #111;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.25);min-height:46px}
		.chatbot-panel{display:none;position:absolute;right:0;bottom:56px;width:320px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.18);flex-direction:column}
		.chatbot.open .chatbot-panel{display:flex}.chat-head{padding:12px 14px;border-bottom:1px solid var(--line);font-weight:700;display:flex;justify-content:space-between;align-items:center;font-size:14px;gap:8px}.chat-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--muted);line-height:1;padding:0;margin:0}.chat-body{padding:12px;max-height:360px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.bubble{padding:9px 12px;border-radius:12px;font-size:13px;line-height:1.4;max-width:85%}.bubble.bot{background:#f4f5ff;color:var(--ink);align-self:flex-start}.bubble.me{background:#111;color:#fff;align-self:flex-end}.chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}.chat-input input{flex:1;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:13px;outline:none;background:#fff;color:var(--ink)}.chat-input button{background:#111;color:#fff;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;min-height:36px}
		.footer{max-width:1140px;margin:22px auto 0;background:#121319;color:#e7e9ee;border-radius:18px;padding:20px 18px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}.footer h4{margin:0 0 8px;font-size:14px;color:#fff}.footer p,.footer a{margin:0;color:#bec3ce;font-size:13px}.footer a{display:block;margin-bottom:4px}.footer-copy{margin-top:14px;padding-top:10px;border-top:1px solid rgba(255,255,255,.14);font-size:12px;color:#9fa6b5;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.theme-toggle-footer{width:30px;height:30px;border-radius:8px;border:1px solid #4a5263;background:#fff;color:#1a1f2b;display:flex;align-items:center;justify-content:center;padding:0;line-height:0}.theme-toggle-footer svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block}.theme-toggle-footer:hover{background:#f0f3f8}body.dark .theme-toggle-footer{background:#1e2330;color:#f3f6ff;border-color:#3a4152}
body.dark .footer a:hover{color:#c3bfff;transition:color .15s}.trust-mini{margin:8px 0 12px;padding:10px 12px;border:1px dashed #d8dbe5;border-radius:10px;background:#fcfcff;font-size:13px;color:#4c5462;display:flex;flex-wrap:wrap;gap:8px}.trust-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 8px;border-radius:6px;background:rgba(126,115,255,.08);border:none;color:#5148b2;font-size:12px;font-weight:500;letter-spacing:.01em}.trust-chip::before{content:'✓';font-size:11px;font-weight:700;color:#7e73ff}
		.mobile-sticky{display:none}.mobile-sticky.hide{display:none!important}.mobile-sticky.down{opacity:.0;transform:translateY(16px);pointer-events:none;transition:all .18s ease}.mobile-sticky.up{opacity:1;transform:translateY(0);transition:all .18s ease}
		@media(max-width:980px){.menu a:nth-child(n+3){display:none}.stats,.logos,.testis,.feature-grid,.blog-grid{grid-template-columns:1fr 1fr}.form{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.nodes-wrap{height:auto;display:grid;gap:10px}.node{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none}.nodes-wrap svg{display:none}}
		@media(max-width:560px){.chatbot{right:12px;bottom:112px}.chatbot-toggle{padding:11px 14px;font-size:14px;min-height:48px;border-radius:16px}.chatbot-panel{bottom:52px;}.menu{display:none}.nav{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px}.nav .btn{display:none}.hamburger{display:grid}.theme-toggle{display:none}.mobile-menu{margin-top:10px}.mobile-menu a{min-height:44px;display:flex;align-items:center}.stats,.logos,.testis,.feature-grid,.blog-grid{grid-template-columns:1fr}.hero{padding:42px 16px 26px}.hero h1{font-size:44px;line-height:1.08}.hero p{font-size:18px;line-height:1.5}.section{padding:24px 14px}.chatbot-panel{width:min(92vw,320px)}.nodes-wrap{display:grid;gap:10px;padding:6px 0}.nodes-wrap .node{position:relative !important;left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;transform:none !important;padding:12px}.nodes-wrap .node:not(:last-of-type)::after{content:"";position:absolute;left:50%;top:100%;width:2px;height:10px;background:#8c86ff;transform:translateX(-50%)}.mobile-sticky{display:block;position:fixed;left:12px;right:12px;bottom:70px;z-index:40}.mobile-sticky a{display:block;text-align:center;padding:14px;border-radius:12px;background:#111;color:#fff;font-weight:700;box-shadow:0 10px 28px rgba(0,0,0,.2)}}

/* ═══════════════════════════════════════════════════════════
   BLOG TYPOGRAPHY & LAYOUT  —  rhyki.ch
   ═══════════════════════════════════════════════════════════ */

/* ── Single Post: outer shell ── */
body.single-post .wp-site-blocks,
body.single .wp-site-blocks {
  /* max-width/margin removed – nav+footer now full-width; .wrap handles content */
}

/* Article card: generous padding */
body.single-post .section.white-surface,
body.single .section.white-surface {
  padding: 44px 52px;
}
@media (max-width: 720px) {
  body.single-post .section.white-surface,
  body.single .section.white-surface { padding: 30px 24px; }
}
@media (max-width: 480px) {
  body.single-post .section.white-surface,
  body.single .section.white-surface { padding: 22px 16px; }
}

/* Post date */
body.single-post .wp-block-post-date,
body.single .wp-block-post-date {
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 10px;
  display: block;
}

/* Post title (H1 rendered by template) */
body.single-post .wp-block-post-title,
body.single .wp-block-post-title {
  font-size: clamp(26px, 4vw, 42px);
  line-height: 1.12;
  letter-spacing: -.5px;
  margin: 0 0 30px;
  color: var(--ink);
}

/* ── Body copy ── */
body.single-post .wp-block-post-content,
body.single .wp-block-post-content {
  font-size: 17px;
  line-height: 1.78;
  color: var(--ink);
}

/* Paragraphs */
body.single-post .wp-block-post-content p,
body.single .wp-block-post-content p {
  margin-top: 0;
  margin-bottom: 1.3em;
}

/* H1 inside content = duplicate of post title — hide it */
body.single-post .wp-block-post-content h1.wp-block-heading {
  display: none;
}

/* H2 */
body.single-post .wp-block-post-content h2.wp-block-heading,
body.single .wp-block-post-content h2.wp-block-heading {
  font-size: clamp(19px, 2.6vw, 24px);
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -.2px;
  margin-top: 2.4em;
  margin-bottom: .6em;
  color: var(--ink);
}

/* H3 */
body.single-post .wp-block-post-content h3.wp-block-heading,
body.single .wp-block-post-content h3.wp-block-heading {
  font-size: clamp(17px, 2vw, 20px);
  font-weight: 700;
  line-height: 1.3;
  margin-top: 1.9em;
  margin-bottom: .45em;
  color: var(--ink);
}

/* Lists */
body.single-post .wp-block-post-content ul,
body.single .wp-block-post-content ul,
body.single-post .wp-block-post-content ol,
body.single .wp-block-post-content ol {
  padding-left: 1.6em;
  margin-top: 0;
  margin-bottom: 1.3em;
}
body.single-post .wp-block-post-content li,
body.single .wp-block-post-content li {
  margin-bottom: .5em;
  line-height: 1.65;
}

/* Strong */
body.single-post .wp-block-post-content strong { font-weight: 700; color: var(--ink); }

/* Links */
body.single-post .wp-block-post-content a,
body.single .wp-block-post-content a {
  color: #5a4fcf;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
body.single-post .wp-block-post-content a:hover { color: #111; }

/* Blockquote */
body.single-post .wp-block-post-content .wp-block-quote,
body.single .wp-block-post-content .wp-block-quote {
  border-left: 3px solid var(--vio);
  margin: 1.8em 0;
  padding: 12px 20px;
  background: #f7f6ff;
  border-radius: 0 10px 10px 0;
  font-style: italic;
  color: var(--muted);
}

/* HR - hidden */
body.single-post .wp-block-post-content .wp-block-separator {
  display: none;
}

/* Inline code */
body.single-post .wp-block-post-content code {
  background: #f0eeff;
  border-radius: 4px;
  padding: 2px 6px;
  font-size: .88em;
  color: #4a3fb5;
}

/* CTA button inside post */
body.single-post .wp-block-button__link,
body.single .wp-block-button__link {
  background: #111 !important;
  color: #fff !important;
  border: 1px solid #111 !important;
  border-radius: 999px !important;
  padding: 12px 26px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  font-size: 15px !important;
  display: inline-block !important;
}
body.single-post .wp-block-button__link:hover { background: #222 !important; }

/* Back button */
body.single-post .is-style-outline .wp-block-button__link,
body.single .is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: #111 !important;
  border: 1px solid #ccc !important;
}
body.single-post .is-style-outline .wp-block-button__link:hover { border-color: #111 !important; }

/* Button wrapper spacing */
body.single-post .wp-block-buttons { margin-top: 2em; }

/* ── Dark mode: single post ── */
body.dark.single-post .wp-block-post-content .wp-block-quote {
  background: #1a1f2e;
  border-color: #978fff;
}
body.dark.single-post .wp-block-post-content code { background: #1e2336; color: #b8b0ff; }
/* body.dark.single-post h2 border removed */
body.dark.single-post .is-style-outline .wp-block-button__link {
  color: #f3f6ff !important;
  border-color: #4a5263 !important;
}
body.dark.single-post .wp-block-post-content a,
body.dark.single .wp-block-post-content a {
  color: #a89fff;
  text-decoration-color: rgba(168, 159, 255, 0.4);
}
body.dark.single-post .wp-block-post-content a:hover,
body.dark.single .wp-block-post-content a:hover {
  color: #c3bfff;
  text-decoration-color: rgba(195, 191, 255, 0.65);
}

/* ── Blog Archive (/blog/) ── */
body.blog .wp-site-blocks,
body.archive .wp-site-blocks {
  /* max-width/margin removed – nav+footer now full-width; .wrap handles content */
}
body.blog .wp-block-post-template,
body.archive .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  list-style: none;
  padding: 0;
  margin: 0;
}
body.blog .wp-block-post,
body.archive .wp-block-post {
  /* Karte wird von .blog-card innen erledigt — kein eigenes Styling hier */
  display: flex;
  flex-direction: column;
  min-width: 0;
}
body.blog .wp-block-post-date,
body.archive .wp-block-post-date {
  font-size: 12px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .06em;
}
body.blog .wp-block-post-title,
body.archive .wp-block-post-title { font-size: 18px; line-height: 1.3; font-weight: 700; margin: 0; }
body.blog .wp-block-post-title a,
body.archive .wp-block-post-title a { text-decoration: none; color: var(--ink); }
body.blog .wp-block-post-title a:hover,
body.archive .wp-block-post-title a:hover { color: var(--vio); }
body.blog .wp-block-post-excerpt,
body.archive .wp-block-post-excerpt { font-size: 14px; line-height: 1.6; color: var(--muted); flex: 1; }
body.blog .wp-block-read-more,
body.archive .wp-block-read-more {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  color: #111;
  text-decoration: none;
  padding: 8px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  width: fit-content;
  margin-top: 6px;
  transition: border-color .18s;
  background: #fff;
}
body.blog .wp-block-read-more:hover,
body.archive .wp-block-read-more:hover { border-color: #111; }
@media (max-width: 860px) {
  body.blog .wp-block-post-template,
  body.archive .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 540px) {
  body.blog .wp-block-post-template,
  body.archive .wp-block-post-template { grid-template-columns: 1fr !important; }
}
/* Dark mode: archive */
/* body.dark.blog .wp-block-post: kein Styling — handled by body.dark .blog-card */
body.dark.blog .wp-block-post-title a,
body.dark.archive .wp-block-post-title a { color: #eaf0ff; }
body.dark.blog .wp-block-read-more,
body.dark.archive .wp-block-read-more { color: #b0a9ff; border-color: rgba(176, 169, 255, 0.32); background: transparent; }
body.dark.blog .wp-block-read-more:hover,
body.dark.archive .wp-block-read-more:hover { color: #c3bfff; border-color: rgba(176, 169, 255, 0.6); }

/* ── Homepage blog section ── */
#blog .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  list-style: none;
  padding: 0;
  margin: 0;
}
#blog .wp-block-post-template > li { min-width: 0; }
.blog-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 18px;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
  transition: transform .18s ease, box-shadow .18s ease;
}
.blog-card:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(18,20,28,.08); }
.blog-thumb { display: block; overflow: hidden; border-radius: 10px; border: 1px solid var(--line); }
.blog-thumb img { width: 100%; height: 160px; object-fit: cover; object-position: center; display: block; }
.blog-card h3,
.blog-card-title {
  font-size: 17px;
  line-height: 1.3;
  font-weight: 700;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.3em * 3);
}
.blog-card .small { font-size: 13px; line-height: 1.6; color: var(--muted); flex: 1; }
.blog-card .wp-block-read-more,
.blog-card .btn {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  color: #111;
  text-decoration: none;
  margin-top: auto;
  padding: 8px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  width: fit-content;
  background: #fff;
  transition: border-color .18s;
}
.blog-card .wp-block-read-more:hover,
.blog-card .btn:hover { border-color: #111; transform: none; box-shadow: none; }
@media (max-width: 860px) {
  #blog .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 540px) {
  #blog .wp-block-post-template { grid-template-columns: 1fr !important; }
  .blog-thumb img { height: 140px; }
}
body.dark .blog-card { background: #171d2a; border-color: #3a4152; }
body.dark .blog-card h3 { color: #f2f6ff; }
body.dark .blog-card .small { color: #b7c0d8; }
body.dark .blog-card .wp-block-read-more,
body.dark .blog-card .btn { background: transparent; color: #b0a9ff; border-color: rgba(176, 169, 255, 0.32); }
body.dark .blog-card .wp-block-read-more:hover,
body.dark .blog-card .btn:hover { color: #c3bfff; border-color: rgba(176, 169, 255, 0.6); }

/* ── Contact form status ── */
#kontakt .form-full button { width: 100%; max-width: 420px; margin: 0 auto; display: block; }
.rhyki-contact-status-msg {
  margin: 14px auto 0; width: 100%; max-width: 420px; text-align: center;
  padding: 10px 14px; border-radius: 12px; border: 1px solid #b8dfbf;
  background: rgba(232,249,236,.92);
}
.rhyki-contact-status-msg.is-success { color: #2f7d32 !important; }
.rhyki-contact-status-msg.is-error { border-color: #e6b9b9; background: rgba(252,238,238,.94); color: #b42318 !important; }
body.dark .rhyki-contact-status-msg { border-color: #2f6a3e; background: rgba(18,44,28,.88); }
body.dark .rhyki-contact-status-msg.is-success { color: #7ee28d !important; }
body.dark .rhyki-contact-status-msg.is-error { border-color: #7a3a3a; background: rgba(60,24,24,.88); color: #ffb3b3 !important; }
@media (max-width: 560px) { .rhyki-contact-status-msg { margin: 10px 0 0; padding: 9px 12px; } }


/* ═══════════════════════════════════════════════════════════
   FIX 2026-02-25 — Chatbot Mascot & Blog-Grid
   ═══════════════════════════════════════════════════════════ */

/* Chatbot-Launcher-Mascot: auf Button-Größe begrenzen */
.rhyki-launcher-mascot {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  display: block;
}

/* Blog-Grid: Gutenberg rendert Posts in wp-block-post-template */
.blog-grid .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px;
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}
@media (max-width: 980px) {
  .blog-grid .wp-block-post-template {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 560px) {
  .blog-grid .wp-block-post-template {
    grid-template-columns: 1fr !important;
  }
}


/* ═══════════════════════════════════════════════════════════
   FIX 2026-02-26 — Blog-Grid, Nav-Button, Nodes, Karten-Spacing
   ═══════════════════════════════════════════════════════════ */

/* ── A: Blog-Grid Breite (alle Gutenberg-Query-Blöcke) ────
   Twenty-Twenty-Five setzt contentSize: 645px.
   Dies überschreibt die max-width für ALLE Post-Grids. */
.wp-block-query,
.wp-block-query .wp-block-post-template {
  max-width: 100% !important;
  width: 100% !important;
}
.wp-block-query .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px;
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}
@media (max-width: 980px) {
  .wp-block-query .wp-block-post-template {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 560px) {
  .wp-block-query .wp-block-post-template {
    grid-template-columns: 1fr !important;
  }
}

/* ── B: Nav-Button Schriftgrösse ──────────────────────────
   .btn hatte keine font-size → erbte zu grosse Theme-Schrift */
.nav .btn,
.nav a.btn {
  font-size: 13px !important;
  padding: 8px 14px;
  white-space: nowrap;
  line-height: 1.4;
}

/* ── C: Nodes — feste einheitliche Breite ─────────────────
   SVG-Pfade laufen auf x=220 (links) und x=680 (rechts).
   Bei 900px Containerbreite: 4%×900=36px + width = 221px → x≈220 ✓
   Rechts: 900−36−width = 680 → width=184px → x=680 ✓
   Wir nehmen 185px für sicheres Überlappen. */
.n-lt,
.n-rt,
.n-lb,
.n-rb {
  width: 185px;
  min-width: 185px;
  box-sizing: border-box;
}

/* ── D: Blog-Karten — einheitliches Spacing ──────────────
   Gutenberg-Block-Elemente haben eigene Default-Margins.
   Alles auf 0 setzen, flex gap:10px übernimmt den Abstand. */
.blog-card > *,
.blog-card .wp-block-post-date,
.blog-card .wp-block-post-title,
.blog-card .wp-block-post-excerpt,
.blog-card .wp-block-post-featured-image,
.blog-card .wp-block-read-more {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.blog-card .wp-block-post-featured-image {
  display: block;
  overflow: hidden;
  border-radius: 8px;
  max-height: 180px;
}
.blog-card .wp-block-post-featured-image img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  border-radius: 8px;
}
/* Weiterlesen-Button ans Ende drücken */
.blog-card .wp-block-read-more {
  margin-top: auto !important;
}

/* ── rhyki-blog-grid: Shortcode-Grid, kein Gutenberg Overhead ── */
.rhyki-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  width: 100%;
  margin-top: 12px;
}
@media (max-width: 980px) {
  .rhyki-blog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .rhyki-blog-grid { grid-template-columns: 1fr; }
}
.blog-card-btn { margin-top: auto; }

/* Blog-Card: nur Headings auf 0 — kein globales * */
.blog-card h1, .blog-card h2, .blog-card h3,
.blog-card h4, .blog-card h5, .blog-card h6,
.blog-card-title {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* Real client logos in ticker */
.logo-strip .logo-img {
  height: 38px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .60;
  display: inline-block;
  vertical-align: middle;
  transition: opacity .2s, filter .2s;
}
.logos:hover .logo-strip .logo-img {
  opacity: .85;
}

/* ── Dark Mode: Logo-Bilder weiss ──────────────────────── */
body.dark .logo-strip .logo-img {
  filter: brightness(0) invert(1);
  opacity: .55;
}

/* ── Preise-Sektion (Homepage One-Pager) ─────────────── */
#preise h2 { text-align: center; margin-bottom: 6px; }
#preise > .small { text-align: center; color: var(--muted); }
.preise-pakete {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 24px 0 0;
}
.preise-paket {
  border: 2px solid var(--line);
  border-radius: 16px;
  padding: 28px 22px;
  background: var(--card);
  display: flex;
  flex-direction: column;
  transition: transform .18s ease, box-shadow .18s ease;
}
.preise-paket:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(18,20,28,.08);
}
.preise-paket.empfohlen {
  border-color: #7e73ff;
  box-shadow: 0 4px 24px rgba(126,115,255,.18);
}
.preise-badge {
  display: inline-block;
  background: #7e73ff;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 3px 10px;
  border-radius: 999px;
  margin-bottom: 10px;
  align-self: flex-start;
}
.preise-paket h3 { font-size: 20px; margin: 0 0 4px; }
.preise-preis {
  font-size: 30px;
  font-weight: 800;
  color: #7e73ff;
  margin: 6px 0 2px;
  line-height: 1.1;
}
.preise-preis span { font-size: 15px; font-weight: 500; color: var(--muted); }
.preise-einrichtung { font-size: 12px; color: var(--muted); margin-bottom: 14px; }
.preise-paket ul {
  list-style: none;
  padding: 0;
  margin: 12px 0 20px;
  display: grid;
  gap: 7px;
  flex: 1;
}
.preise-paket ul li {
  font-size: 13px;
  padding-left: 20px;
  position: relative;
  color: var(--ink);
}
.preise-paket ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #7e73ff;
  font-weight: 700;
}
.preise-cta {
  display: block;
  text-align: center;
  padding: 11px 16px;
  background: var(--card);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: background .18s;
  margin-top: auto;
}
.preise-cta:hover { opacity: .85; }
.preise-cta.primary { background: #7e73ff; color: #fff; border: none; }
.preise-cta.primary:hover { background: #5f54e0; }
@media (max-width: 860px) {
  .preise-pakete { grid-template-columns: 1fr; max-width: 420px; margin-left: auto; margin-right: auto; }
}
body.dark .preise-paket { background: #171a22; border-color: #2b2f39; }
body.dark .preise-paket.empfohlen { border-color: #978fff; }
body.dark .preise-paket ul li { color: #c8cfe0; }
body.dark .preise-einrichtung { color: #9aa4bb; }
body.dark .preise-cta { background: #1e2330; color: #f3f6ff; border-color: #3a4152; }
body.dark .preise-cta:hover { background: #262d3c; }
body.dark .preise-cta.primary { background: #7e73ff; color: #fff; border: none; }

/* ── Blog-Card Layout: gezieltes Spacing ─────────────── */
.rhyki-blog-grid .blog-card { gap: 0; }
.rhyki-blog-grid .blog-card .blog-thumb-wrap { margin: 0 0 10px 0; }
.rhyki-blog-grid .blog-card > .small { margin: 0 0 3px 0; line-height: 1.4; }
.rhyki-blog-grid .blog-card .blog-card-title { margin: 0 0 6px 0 !important; }
.rhyki-blog-grid .blog-card .blog-card-excerpt { margin: 0 0 10px 0; }
.rhyki-blog-grid .blog-card .blog-card-btn-wrap { margin-top: auto; padding-top: 10px; }

/* Excerpt: max 3 Zeilen */
.blog-card-excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
  max-height: calc(1.5em * 3);
}

/* Logo visibility fix: TheBrandPower logo is white – make it dark in light mode */
body:not(.dark) .logo-img[alt="The Brandpower"] {
  filter: brightness(0);
  opacity: 0.66;
}

/* ── Legal Pages / body.page Content-Spacing ─────────── */
body.page:not(.home) .section.white-surface {
  padding: 48px 52px;
}
body.page .wp-block-post-title {
  font-size: clamp(26px, 3.6vw, 40px);
  line-height: 1.1;
  margin: 0 0 32px;
  color: var(--ink);
}
body.page .wp-block-post-content h2 {
  font-size: clamp(19px, 2.4vw, 26px);
  font-weight: 700;
  line-height: 1.2;
  margin: 44px 0 14px;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  padding-bottom: 8px;
}
body.page .wp-block-post-content h3 {
  font-size: clamp(16px, 1.8vw, 20px);
  font-weight: 600;
  line-height: 1.3;
  margin: 28px 0 10px;
  color: var(--ink);
}
body.page .wp-block-post-content p {
  font-size: 16px;
  line-height: 1.75;
  color: var(--muted);
  margin: 0 0 14px;
}
body.page .wp-block-post-content ul,
body.page .wp-block-post-content ol {
  padding-left: 22px;
  margin: 0 0 18px;
}
body.page .wp-block-post-content li {
  font-size: 16px;
  line-height: 1.7;
  color: var(--muted);
  margin-bottom: 6px;
}
body.page .wp-block-post-content strong {
  font-weight: 700;
  color: var(--ink);
}
body.page .wp-block-post-content em {
  color: var(--muted);
  font-style: italic;
}
body.page .wp-block-post-content hr,
body.page .wp-block-post-content .wp-block-separator {
  display: none;
}
body.page .wp-block-post-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  margin: 20px 0 28px;
}
body.page .wp-block-post-content th {
  text-align: left;
  font-weight: 600;
  color: var(--ink);
  padding: 10px 14px;
  background: var(--line);
  border: 1px solid var(--line);
}
body.page .wp-block-post-content td {
  padding: 10px 14px;
  border: 1px solid var(--line);
  color: var(--muted);
  vertical-align: top;
}
body.page .wp-block-post-content code {
  font-family: monospace;
  font-size: 13px;
  background: var(--line);
  padding: 2px 6px;
  border-radius: 4px;
  color: var(--ink);
}
body.page .wp-block-post-content a {
  color: var(--vio);
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (max-width: 768px) {
  body.page:not(.home) .section.white-surface { padding: 32px 20px; }
  body.page .wp-block-post-content table { font-size: 13px; }
  body.page .wp-block-post-content th,
  body.page .wp-block-post-content td { padding: 8px 10px; }
}


/* ── Hostinger Chatbot UI Overrides ── */
/* X-Button: kleiner, inline mit Header-Aktionen */
.chatbot-wrapper__close-icon {
  width: 24px !important;
  height: 24px !important;
  padding: 4px !important;
  filter: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
.chatbot-wrapper__close-icon:hover {
  background: var(--h-bg-neutral-secondary, #f3f3f5) !important;
}
/* Input-Feld: abgerundete Ecken passend zum Design */
.chatbot-footer__input-wrapper {
  border-radius: 20px !important;
}
/* Send-Button ebenfalls etwas runder */
.chatbot-footer__send-wrapper {
  border-radius: 16px !important;
}

/* Dark-Mode Fix 2026-03-03: Schritt-Badges in Violett fuer bessere Sichtbarkeit */
body.dark #demo-b .step-glyph{
  background: linear-gradient(180deg,#8f84ff 0%, #7669ff 100%) !important;
  border-color: #a79eff !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(126,115,255,.35);
}
body.dark #demo-b .step-glyph *{
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

/* Dark-Mode Fix 2026-03-03: Hauptbuttons in Violett fuer bessere Sichtbarkeit */
body.dark .btn,
body.dark .cta,
body.dark .mobile-sticky a,
body.dark .chat-input button,
body.dark #demo-b a{
  background: #7e73ff !important;
  border-color: #978fff !important;
  color: #ffffff !important;
}
body.dark .btn:hover,
body.dark .cta:hover,
body.dark .mobile-sticky a:hover,
body.dark .chat-input button:hover,
body.dark #demo-b a:hover{
  background: #9389ff !important;
  border-color: #b3abff !important;
  color: #ffffff !important;
}

/* Dark-Mode Fix 2026-03-03: Injected Demo-B Block (#demo-b-live) */
body.dark #demo-b-live .step-glyph{
  background: linear-gradient(180deg,#8f84ff 0%, #7669ff 100%) !important;
  border-color: #a79eff !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(126,115,255,.35) !important;
}
body.dark #demo-b-live .step-glyph *{
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

/* Dark-Mode Fix 2026-03-03: Schritte-Badges weiss + eckiger + Glow */
body.dark .steps .badge,
body.dark #demo-b-live .badge{
  background: linear-gradient(180deg,#9c92ff 0%, #7e73ff 100%) !important;
  color: #ffffff !important;
  border: 1px solid #b9b1ff !important;
  border-radius: 8px !important;
  padding: 5px 10px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  box-shadow: 0 0 0 2px rgba(126,115,255,.20), 0 10px 24px rgba(126,115,255,.35) !important;
}

/* Dark-Mode Fix 2026-03-03: Badge Override mit höherer Spezifität */
body.dark #leistungen .steps .step .badge,
body.dark #demo-b-live .steps .step .badge,
body.dark #demo-b-live .badge{
  background: linear-gradient(180deg,#9c92ff 0%, #7e73ff 100%) !important;
  color: #ffffff !important;
  border: 1px solid #b9b1ff !important;
  border-radius: 8px !important;
  padding: 5px 10px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  box-shadow: 0 0 0 2px rgba(126,115,255,.20), 0 10px 24px rgba(126,115,255,.35) !important;
}

/* Light-Mode Fix 2026-03-03: Schritte-Badges als klare Buttons */
body:not(.dark) #leistungen .steps .step .badge,
body:not(.dark) #demo-b-live .steps .step .badge,
body:not(.dark) #demo-b-live .badge{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(180deg,#8f84ff 0%, #7669ff 100%) !important;
  color: #ffffff !important;
  border: 1px solid #9a90ff !important;
  border-radius: 8px !important;
  padding: 5px 10px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  box-shadow: 0 0 0 2px rgba(126,115,255,.14), 0 8px 18px rgba(126,115,255,.22) !important;
}

/* Fix: Blog-Card Buttons im Dark Mode bleiben transparent (kein !important-Konflikt) */
body.dark .blog-card .wp-block-read-more,
body.dark .blog-card .btn {
  background: transparent !important;
  color: #b0a9ff !important;
  border-color: rgba(176, 169, 255, 0.32) !important;
}
body.dark .blog-card .wp-block-read-more:hover,
body.dark .blog-card .btn:hover {
  color: #c3bfff !important;
  border-color: rgba(176, 169, 255, 0.6) !important;
  background: transparent !important;
}

/* Fix: Legal/Page Content Dark Mode */
body.dark.page .wp-block-post-content h2 { border-bottom-color: #3a4152; }
body.dark.page .wp-block-post-content code { background: #1e2336; color: #b8b0ff; }
body.dark.page .wp-block-post-content th { background: #2b2f39 !important; color: var(--ink); border-color: #3a4152 !important; }
body.dark.page .wp-block-post-content td { border-color: #3a4152 !important; }
body.dark.page .wp-block-post-content a { color: #a89fff; }
body.dark.page .wp-block-post-content a:hover { color: #c3bfff; }
body.dark.page .wp-block-post-title { color: var(--ink); }
