/*
Theme Name: Kreditecho
Theme URI: https://kreditecho.de
Author: Kreditecho
Author URI: https://kreditecho.de
Description: Sauberes, professionelles Magazin- & Ratgeber-Theme im Kreditecho-CI. Dunkler Header, scrollbare Sticky-Sidebar, Author-Box, widgetisierte Footer- und Sidebar-Bereiche, stylische Beitragsbilder und die lokal eingebundene Schrift Inter (DSGVO-konform, kein externer Font-Aufruf).
Version: 1.0.1
Requires at least: 6.0
Tested up to: 6.5
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: kreditecho
Tags: blog, news, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, sticky-post, threaded-comments, translation-ready, editor-style
*/

/* =========================================================
   1. Fonts (Inter – lokal eingebunden / DSGVO-konform)
   ========================================================= */
@font-face{font-family:"Inter";src:url("assets/fonts/inter-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("assets/fonts/inter-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("assets/fonts/inter-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("assets/fonts/inter-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("assets/fonts/inter-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}

/* =========================================================
   2. Design Tokens (Kreditecho CI)
   ========================================================= */
:root{
  --ke-petrol:#0E5163;
  --ke-petrol-dark:#0A3A47;
  --ke-petrol-deep:#072c36;
  --ke-emerald:#10B981;
  --ke-emerald-dark:#0E9E6E;
  --ke-emerald-light:#34D399;
  --ke-emerald-tint:rgba(16,185,129,.12);
  --ke-ink:#14222A;
  --ke-slate:#5C6E76;
  --ke-slate-light:#869298;
  --ke-mist:#F3F7F8;
  --ke-line:#DDE6E8;
  --ke-white:#ffffff;

  --ke-bg:#ffffff;
  --ke-bg-alt:#F3F7F8;
  --ke-text:#14222A;
  --ke-muted:#5C6E76;

  --ke-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  --ke-radius-sm:8px;
  --ke-radius:14px;
  --ke-radius-lg:22px;
  --ke-pill:999px;

  --ke-shadow-sm:0 1px 2px rgba(13,38,46,.06),0 1px 3px rgba(13,38,46,.05);
  --ke-shadow:0 4px 14px rgba(13,38,46,.08),0 2px 6px rgba(13,38,46,.05);
  --ke-shadow-lg:0 18px 48px rgba(10,58,71,.16),0 6px 18px rgba(10,58,71,.08);

  --ke-container:1200px;
  --ke-gap:48px;
  --ke-header-h:100px;

  --ke-t:.2s ease;
}

/* =========================================================
   3. Reset & Base
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--ke-header-h) + 20px)}
body{
  margin:0;
  font-family:var(--ke-font);
  font-size:1.0625rem;
  line-height:1.7;
  color:var(--ke-text);
  background:var(--ke-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--ke-petrol);text-decoration:none;transition:color var(--ke-t)}
a:hover{color:var(--ke-emerald-dark)}
h1,h2,h3,h4,h5,h6{font-weight:800;line-height:1.2;color:var(--ke-ink);margin:0 0 .6em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.4vw,2.85rem)}
h2{font-size:clamp(1.55rem,3vw,2.05rem)}
h3{font-size:clamp(1.3rem,2.2vw,1.55rem)}
h4{font-size:1.2rem}
p{margin:0 0 1.25rem}
ul,ol{margin:0 0 1.25rem;padding-left:1.4rem}
li{margin:.4rem 0}
blockquote{margin:1.8rem 0;padding:1rem 1.5rem;border-left:4px solid var(--ke-emerald);background:var(--ke-mist);border-radius:0 var(--ke-radius-sm) var(--ke-radius-sm) 0;color:var(--ke-ink);font-size:1.1rem}
blockquote p:last-child{margin-bottom:0}
code,kbd,pre{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}
code{background:var(--ke-mist);padding:.15em .4em;border-radius:6px;font-size:.9em;color:var(--ke-petrol)}
pre{background:var(--ke-ink);color:#e8eff1;padding:1.2rem 1.4rem;border-radius:var(--ke-radius);overflow:auto;font-size:.9rem;line-height:1.6}
pre code{background:none;color:inherit;padding:0}
hr{border:0;border-top:1px solid var(--ke-line);margin:2.5rem 0}
table{width:100%;border-collapse:collapse;margin:0 0 1.5rem;font-size:.97rem}
th,td{padding:.7rem .9rem;border:1px solid var(--ke-line);text-align:left}
th{background:var(--ke-mist);font-weight:700;color:var(--ke-ink)}
tbody tr:nth-child(even){background:#fafcfc}
::selection{background:var(--ke-emerald);color:#fff}

/* =========================================================
   4. Layout helpers
   ========================================================= */
.container{width:100%;max-width:var(--ke-container);margin:0 auto;padding:0 24px}
.site{display:flex;flex-direction:column;min-height:100vh}
.site-content{flex:1 0 auto;padding:48px 0 64px}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 332px;gap:var(--ke-gap);align-items:start}
.content-layout.no-sidebar{grid-template-columns:minmax(0,1fr)}
.content-narrow{max-width:820px;margin:0 auto}

/* Accessibility */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;word-wrap:normal!important}
.skip-link{position:absolute;left:-9999px;z-index:100000;top:8px;left:8px;background:var(--ke-emerald);color:#fff;padding:.7em 1.2em;border-radius:var(--ke-radius-sm);font-weight:700;box-shadow:var(--ke-shadow)}
.skip-link:focus{left:8px;color:#fff}
:focus-visible{outline:3px solid var(--ke-emerald);outline-offset:2px;border-radius:3px}

/* =========================================================
   5. Buttons
   ========================================================= */
.ke-btn,button,input[type=submit],.wp-block-button__link{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--ke-font);font-weight:700;font-size:.97rem;line-height:1;
  padding:.85em 1.5em;border-radius:var(--ke-pill);border:0;cursor:pointer;
  background:var(--ke-emerald);color:#fff;transition:background var(--ke-t),transform var(--ke-t),box-shadow var(--ke-t);
  text-decoration:none;
}
.ke-btn:hover,button:hover,input[type=submit]:hover{background:var(--ke-emerald-dark);color:#fff;transform:translateY(-1px);box-shadow:var(--ke-shadow)}
.ke-btn--ghost{background:transparent;color:var(--ke-petrol);box-shadow:inset 0 0 0 2px var(--ke-line)}
.ke-btn--ghost:hover{background:var(--ke-mist);color:var(--ke-petrol);box-shadow:inset 0 0 0 2px var(--ke-emerald)}
.ke-btn--light{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.ke-btn--light:hover{background:var(--ke-emerald);color:#fff;box-shadow:none}

/* =========================================================
   6. Header (dunkel)
   ========================================================= */
.site-header{
  position:sticky;top:0;z-index:1000;
  background:var(--ke-petrol-dark);
  color:#eaf2f3;
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:box-shadow var(--ke-t),background var(--ke-t);
}
.site-header.is-scrolled{box-shadow:0 10px 30px rgba(7,44,54,.35);background:var(--ke-petrol-deep)}
.header-inner{display:flex;align-items:center;gap:24px;min-height:var(--ke-header-h)}
.site-branding{display:flex;align-items:center;flex:0 0 auto;margin-right:auto}
.site-logo{display:inline-flex;align-items:center;color:#fff;line-height:0}
.site-logo-svg{height:72px;width:auto}
.logo-mark circle{vector-effect:none}
.logo-dot{fill:var(--ke-emerald-light)}
.logo-word{fill:currentColor;font-family:var(--ke-font);font-weight:700}
.logo-echo{fill:var(--ke-emerald-light)}
.custom-logo{max-height:80px;width:auto}
.site-title{font-size:1.4rem;font-weight:800;margin:0}
.site-title a{color:#fff}
.site-description{font-size:.8rem;color:rgba(234,242,243,.7);margin:2px 0 0}

/* Navigation */
.main-navigation{display:flex;align-items:center}
.main-navigation .menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px}
.main-navigation .menu li{margin:0;position:relative}
.main-navigation .menu a{
  display:flex;align-items:center;gap:.35em;color:#dceaec;font-weight:600;font-size:.97rem;
  padding:.7em .9em;border-radius:var(--ke-radius-sm);transition:color var(--ke-t),background var(--ke-t);
}
.main-navigation .menu a:hover{color:#fff;background:rgba(255,255,255,.08)}
.main-navigation .menu .current-menu-item>a,
.main-navigation .menu .current_page_item>a,
.main-navigation .menu .current-menu-ancestor>a{color:#fff}
.main-navigation .menu .current-menu-item>a::after,
.main-navigation .menu .current_page_item>a::after{content:"";position:absolute;left:.9em;right:.9em;bottom:.35em;height:2px;background:var(--ke-emerald-light);border-radius:2px}
.menu-item-has-children>a .submenu-caret{width:.7em;height:.7em;transition:transform var(--ke-t)}
/* Dropdowns */
.main-navigation ul ul{
  position:absolute;top:calc(100% + 8px);left:0;min-width:230px;
  background:#fff;border-radius:var(--ke-radius);box-shadow:var(--ke-shadow-lg);
  padding:8px;list-style:none;margin:0;display:flex;flex-direction:column;gap:2px;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:all var(--ke-t);z-index:50;
  border:1px solid var(--ke-line);
}
.main-navigation ul li:hover>ul,.main-navigation ul li:focus-within>ul{opacity:1;visibility:visible;transform:translateY(0)}
.main-navigation ul ul a{font-weight:500;padding:.6em .8em;border-radius:var(--ke-radius-sm)}
@media (min-width:783px){
  .main-navigation .menu ul a{color:var(--ke-ink)}
  .main-navigation .menu ul a:hover{background:var(--ke-mist);color:var(--ke-petrol)}
  .main-navigation .menu ul .current-menu-item>a,
  .main-navigation .menu ul .current_page_item>a{color:var(--ke-petrol)}
}
.main-navigation ul ul::before{content:"";position:absolute;top:-6px;left:24px;width:12px;height:12px;background:#fff;border-left:1px solid var(--ke-line);border-top:1px solid var(--ke-line);transform:rotate(45deg)}
.main-navigation ul ul .current-menu-item>a::after{display:none}

.header-cta{flex:0 0 auto}
.menu-toggle{display:none}
.submenu-toggle{display:none}

/* =========================================================
   7. Page header / Archive hero
   ========================================================= */
.page-hero{background:var(--ke-mist);border-bottom:1px solid var(--ke-line)}
.page-hero .container{padding-top:44px;padding-bottom:44px}
.page-hero .hero-eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ke-emerald-dark);margin-bottom:.6rem}
.page-hero h1{margin:0 0 .3rem}
.page-hero .archive-description{color:var(--ke-muted);max-width:680px;margin:.6rem 0 0}
.breadcrumbs{font-size:.85rem;color:var(--ke-slate-light);margin-bottom:.9rem}
.breadcrumbs a{color:var(--ke-slate)}
.breadcrumbs .sep{margin:0 .45em;opacity:.5}

/* =========================================================
   8. Post cards (Listen / Archive)
   ========================================================= */
.posts-grid{display:grid;grid-template-columns:1fr;gap:28px}
.post-card{
  background:#fff;border:1px solid var(--ke-line);border-radius:var(--ke-radius-lg);overflow:hidden;
  display:flex;flex-direction:column;transition:transform var(--ke-t),box-shadow var(--ke-t),border-color var(--ke-t);
}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--ke-shadow-lg);border-color:transparent}
.post-card .card-media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--ke-mist)}
.post-card .card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.post-card:hover .card-media img{transform:scale(1.04)}
.post-card .card-cat{position:absolute;top:14px;left:14px}
.post-card .card-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.post-card .card-title{font-size:1.4rem;margin:0 0 .5rem;line-height:1.25}
.post-card .card-title a{color:var(--ke-ink)}
.post-card .card-title a:hover{color:var(--ke-petrol)}
.post-card .card-excerpt{color:var(--ke-muted);margin:0 0 1.1rem}
.post-card .card-meta{margin-top:auto}

/* Two-column cards on wide content when no sidebar */
.no-sidebar .posts-grid{grid-template-columns:repeat(2,1fr)}

/* Category pill */
.cat-pill{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:.4em .85em;border-radius:var(--ke-pill);background:var(--ke-emerald-tint);color:var(--ke-emerald-dark);transition:background var(--ke-t),color var(--ke-t)}
a.cat-pill:hover{background:var(--ke-emerald);color:#fff}
.card-cat .cat-pill{background:rgba(10,58,71,.82);color:#fff;backdrop-filter:blur(4px)}
.card-cat .cat-pill:hover{background:var(--ke-emerald)}

/* Entry meta */
.entry-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .9rem;font-size:.88rem;color:var(--ke-slate)}
.entry-meta .meta-author{display:inline-flex;align-items:center;gap:.5em;font-weight:600;color:var(--ke-ink)}
.entry-meta .meta-author img{width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:var(--ke-shadow-sm)}
.entry-meta .meta-sep{width:3px;height:3px;border-radius:50%;background:var(--ke-line)}
.entry-meta a{color:var(--ke-slate)}
.entry-meta a:hover{color:var(--ke-emerald-dark)}

/* =========================================================
   9. Single post
   ========================================================= */
.single-article{background:#fff}
.single-header{margin-bottom:28px}
.single-header .cat-row{margin-bottom:1rem;display:flex;gap:.5rem;flex-wrap:wrap}
.single-header .entry-title{margin:0 0 1.1rem}
.single-header .entry-meta{padding-bottom:0}
.single-lead{font-size:1.2rem;color:var(--ke-slate);line-height:1.6;margin:1.1rem 0 0}

/* Stylisches Beitragsbild */
.featured-media{position:relative;margin:30px 0 36px;border-radius:var(--ke-radius-lg);overflow:hidden;box-shadow:var(--ke-shadow-lg);background:var(--ke-mist)}
.featured-media::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(13,38,46,.06);pointer-events:none}
.featured-media img{width:100%;height:auto;display:block;aspect-ratio:16/8.4;object-fit:cover}
.featured-media figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 22px 14px;color:#fff;font-size:.85rem;
  background:linear-gradient(to top,rgba(7,44,54,.78),rgba(7,44,54,0));}

.entry-content{font-size:1.125rem;line-height:1.78;color:#243038}
.entry-content > *{max-width:760px}
.entry-content > .alignwide{max-width:1040px}
.entry-content > .alignfull{max-width:none}
.entry-content h2{margin-top:2.4rem}
.entry-content h3{margin-top:1.9rem}
.entry-content a{color:var(--ke-petrol);text-decoration:underline;text-decoration-color:rgba(14,81,99,.3);text-underline-offset:3px}
.entry-content a:hover{color:var(--ke-emerald-dark);text-decoration-color:var(--ke-emerald)}
.entry-content img{border-radius:var(--ke-radius)}
.entry-content figure{margin:2rem 0}
.entry-content figcaption{font-size:.85rem;color:var(--ke-slate);text-align:center;margin-top:.6rem}
.entry-content ul li::marker{color:var(--ke-emerald)}
.entry-content ol li::marker{color:var(--ke-emerald-dark);font-weight:700}

.alignwide{margin-left:auto;margin-right:auto}
.alignfull{width:100%}
.alignleft{float:left;margin:.4rem 1.6rem 1rem 0;max-width:50%}
.alignright{float:right;margin:.4rem 0 1rem 1.6rem;max-width:50%}
.aligncenter{margin-left:auto;margin-right:auto}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:.85rem;color:var(--ke-slate);text-align:center}
.wp-block-image{margin:0 0 1.5rem}
.sticky-badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ke-emerald-dark);background:var(--ke-emerald-tint);padding:.25em .7em;border-radius:var(--ke-pill);margin-bottom:.8rem}

.entry-footer{margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--ke-line);display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.tag-links{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.tag-links .tags-label{font-weight:700;color:var(--ke-ink);font-size:.9rem;margin-right:.2rem}
.tag-links a{font-size:.85rem;background:var(--ke-mist);color:var(--ke-slate);padding:.4em .85em;border-radius:var(--ke-pill);border:1px solid var(--ke-line)}
.tag-links a:hover{background:var(--ke-emerald-tint);color:var(--ke-emerald-dark);border-color:transparent}

/* =========================================================
   10. Author Box
   ========================================================= */
.author-box{
  display:flex;gap:24px;align-items:flex-start;margin:40px 0 8px;padding:30px 32px;
  background:linear-gradient(135deg,var(--ke-mist),#fff);border:1px solid var(--ke-line);border-radius:var(--ke-radius-lg);
  position:relative;overflow:hidden;
}
.author-box::before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:linear-gradient(var(--ke-emerald),var(--ke-petrol))}
.author-box .author-avatar{flex:0 0 auto}
.author-box .author-avatar img{width:84px;height:84px;border-radius:50%;border:3px solid #fff;box-shadow:var(--ke-shadow)}
.author-box .author-info{flex:1;min-width:0}
.author-box .author-eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ke-emerald-dark)}
.author-box .author-name{font-size:1.3rem;margin:.2rem 0 .5rem}
.author-box .author-name a{color:var(--ke-ink)}
.author-box .author-name a:hover{color:var(--ke-petrol)}
.author-box .author-bio{color:var(--ke-muted);font-size:.98rem;margin:0 0 .9rem}
.author-box .author-archive-link{display:inline-flex;align-items:center;gap:.4em;font-weight:700;font-size:.9rem;color:var(--ke-petrol)}
.author-box .author-archive-link:hover{color:var(--ke-emerald-dark);gap:.6em}

/* Post navigation */
.post-navigation{margin:40px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.post-navigation .nav-links a{display:block;padding:18px 22px;border:1px solid var(--ke-line);border-radius:var(--ke-radius);background:#fff;transition:border-color var(--ke-t),box-shadow var(--ke-t)}
.post-navigation .nav-links a:hover{border-color:var(--ke-emerald);box-shadow:var(--ke-shadow)}
.post-navigation .nav-subtitle{display:block;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ke-slate-light);margin-bottom:.4rem}
.post-navigation .nav-title{font-weight:700;color:var(--ke-ink);line-height:1.35}
.post-navigation .nav-next{text-align:right}

/* =========================================================
   11. Comments
   ========================================================= */
.comments-area{margin-top:48px;padding-top:8px}
.comments-title,.comment-reply-title{font-size:1.5rem;margin-bottom:1.4rem}
.comment-list{list-style:none;margin:0;padding:0}
.comment-list ol.children{list-style:none;margin:0 0 0 28px;padding:0}
.comment-body{padding:22px 24px;border:1px solid var(--ke-line);border-radius:var(--ke-radius);margin-bottom:18px;background:#fff}
.comment-meta{display:flex;align-items:center;gap:.7rem;margin-bottom:.7rem}
.comment-author .avatar{width:44px;height:44px;border-radius:50%}
.comment-author .fn{font-weight:700;color:var(--ke-ink);font-style:normal}
.comment-metadata{font-size:.82rem;color:var(--ke-slate-light)}
.comment-metadata a{color:var(--ke-slate-light)}
.bypostauthor>.comment-body{border-color:var(--ke-emerald);box-shadow:0 0 0 1px var(--ke-emerald-tint)}
.reply a{font-size:.82rem;font-weight:700;color:var(--ke-emerald-dark)}
.comment-respond{margin-top:24px;padding:28px 30px;background:var(--ke-mist);border-radius:var(--ke-radius-lg);border:1px solid var(--ke-line)}
.comment-form label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.35rem;color:var(--ke-ink)}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{
  width:100%;padding:.8em 1em;border:1px solid var(--ke-line);border-radius:var(--ke-radius-sm);font-family:var(--ke-font);font-size:1rem;background:#fff;margin-bottom:1rem;transition:border-color var(--ke-t),box-shadow var(--ke-t)}
.comment-form input:focus,.comment-form textarea:focus{outline:0;border-color:var(--ke-emerald);box-shadow:0 0 0 3px var(--ke-emerald-tint)}

/* =========================================================
   12. Sidebar (sticky + eigene Scrollbar)
   ========================================================= */
.widget-area{position:sticky;top:calc(var(--ke-header-h) + 24px);max-height:calc(100vh - var(--ke-header-h) - 48px);
  overflow-y:auto;overflow-x:hidden;padding-right:10px;
  scrollbar-width:thin;scrollbar-color:var(--ke-petrol) transparent;
}
.widget-area::-webkit-scrollbar{width:8px}
.widget-area::-webkit-scrollbar-track{background:var(--ke-mist);border-radius:var(--ke-pill)}
.widget-area::-webkit-scrollbar-thumb{background:linear-gradient(var(--ke-emerald),var(--ke-petrol));border-radius:var(--ke-pill)}
.widget-area::-webkit-scrollbar-thumb:hover{background:var(--ke-petrol-dark)}

.widget{background:#fff;border:1px solid var(--ke-line);border-radius:var(--ke-radius-lg);padding:24px 24px;margin-bottom:24px}
.widget:last-child{margin-bottom:0}
.widget .widget-title{font-size:1.05rem;font-weight:800;color:var(--ke-ink);margin:0 0 1.1rem;padding-bottom:.7rem;position:relative}
.widget .widget-title::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:3px;border-radius:3px;background:var(--ke-emerald)}
.widget ul{list-style:none;margin:0;padding:0}
.widget ul li{margin:0;padding:.6em 0;border-bottom:1px solid var(--ke-line);font-size:.95rem}
.widget ul li:last-child{border-bottom:0;padding-bottom:0}
.widget ul li a{color:var(--ke-slate);display:inline-flex;align-items:center;gap:.4em}
.widget ul li a:hover{color:var(--ke-emerald-dark)}
.widget ul ul{margin-top:.4em;margin-left:.9em}
.widget select{width:100%;padding:.7em;border:1px solid var(--ke-line);border-radius:var(--ke-radius-sm);font-family:var(--ke-font);background:#fff}
.widget_search .search-form,.widget_block .wp-block-search__inside-wrapper{display:flex;gap:8px}
.search-form{display:flex;gap:8px}
.search-form .search-field{flex:1;padding:.8em 1em;border:1px solid var(--ke-line);border-radius:var(--ke-pill);font-family:var(--ke-font);font-size:.95rem;background:var(--ke-mist)}
.search-form .search-field:focus{outline:0;border-color:var(--ke-emerald);box-shadow:0 0 0 3px var(--ke-emerald-tint);background:#fff}
.search-form .search-submit{padding:.8em 1.3em}
.widget_tag_cloud .tagcloud{display:flex;flex-wrap:wrap;gap:.5rem}
.widget_tag_cloud a{font-size:.82rem!important;background:var(--ke-mist);color:var(--ke-slate);padding:.4em .85em;border-radius:var(--ke-pill);border:1px solid var(--ke-line)}
.widget_tag_cloud a:hover{background:var(--ke-emerald-tint);color:var(--ke-emerald-dark)}
.widget img{border-radius:var(--ke-radius-sm)}
.widget_recent_entries .post-date{display:block;font-size:.78rem;color:var(--ke-slate-light)}

/* =========================================================
   13. Footer (widgetisiert)
   ========================================================= */
.site-footer{flex-shrink:0;background:var(--ke-petrol-dark);color:#c6d6d9;margin-top:auto}
.footer-widgets{padding:64px 0 44px}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.footer-brand-col .site-logo-svg{height:54px;margin-bottom:16px}
.footer-brand-col .footer-tagline{font-size:.95rem;color:#9fb6bb;max-width:280px}
.footer-widgets .widget{background:transparent;border:0;padding:0;margin:0}
.footer-widgets .widget .widget-title{color:#fff;font-size:.95rem;letter-spacing:.02em;margin-bottom:1rem;padding-bottom:.6rem}
.footer-widgets .widget .widget-title::after{background:var(--ke-emerald-light);width:28px}
.footer-widgets .widget ul li{border-bottom:1px solid rgba(255,255,255,.08);padding:.55em 0;font-size:.92rem}
.footer-widgets .widget ul li a{color:#bccdd1}
.footer-widgets .widget ul li a:hover{color:var(--ke-emerald-light)}
.footer-widgets .widget select{background:var(--ke-petrol-deep);border-color:rgba(255,255,255,.15);color:#fff}
.footer-widgets a{color:#bccdd1}
.footer-widgets a:hover{color:var(--ke-emerald-light)}
.footer-widgets .search-form .search-field{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}
.footer-widgets .search-form .search-field::placeholder{color:#8aa1a6}

.footer-bottom{border-top:1px solid rgba(255,255,255,.09);padding:22px 0}
.footer-bottom .container{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between}
.footer-copy{font-size:.86rem;color:#8aa1a6;margin:0}
.footer-copy a{color:#bccdd1}
.footer-menu{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;margin:0;padding:0}
.footer-menu li{margin:0}
.footer-menu a{font-size:.86rem;color:#bccdd1;font-weight:500}
.footer-menu a:hover{color:var(--ke-emerald-light)}

/* =========================================================
   14. Pagination
   ========================================================= */
.ke-pagination{margin-top:48px}
.ke-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center}
.ke-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border-radius:var(--ke-radius-sm);border:1px solid var(--ke-line);background:#fff;color:var(--ke-ink);font-weight:600;transition:all var(--ke-t)}
.ke-pagination .page-numbers:hover{border-color:var(--ke-emerald);color:var(--ke-emerald-dark)}
.ke-pagination .page-numbers.current{background:var(--ke-petrol);border-color:var(--ke-petrol);color:#fff}
.ke-pagination .page-numbers.dots{border:0;background:none}

/* =========================================================
   15. 404 / no results
   ========================================================= */
.error-404,.no-results{text-align:center;padding:40px 0}
.error-404 .error-num{font-size:clamp(5rem,16vw,9rem);font-weight:800;line-height:1;color:var(--ke-petrol);letter-spacing:-.03em}
.error-404 .error-num .dot{color:var(--ke-emerald)}
.no-results{text-align:left}

/* =========================================================
   16. Responsive
   ========================================================= */
@media (max-width:1080px){
  :root{--ke-gap:36px}
  .content-layout{grid-template-columns:minmax(0,1fr) 300px}
}
@media (max-width:900px){
  .content-layout{grid-template-columns:minmax(0,1fr)}
  .widget-area{position:static;max-height:none;overflow:visible;padding-right:0;margin-top:48px;
    display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;align-items:start}
  .no-sidebar .posts-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:repeat(2,1fr);gap:32px}
}
@media (max-width:782px){
  :root{--ke-header-h:86px}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
    background:rgba(255,255,255,.1);color:#fff;border:0;border-radius:var(--ke-radius-sm);
    padding:.6em .9em;font-weight:700;font-size:.92rem;cursor:pointer}
  .menu-toggle .bars{display:inline-block;width:18px;height:2px;background:#fff;position:relative;transition:var(--ke-t)}
  .menu-toggle .bars::before,.menu-toggle .bars::after{content:"";position:absolute;left:0;width:18px;height:2px;background:#fff;transition:var(--ke-t)}
  .menu-toggle .bars::before{top:-6px}.menu-toggle .bars::after{top:6px}
  .menu-toggle[aria-expanded=true] .bars{background:transparent}
  .menu-toggle[aria-expanded=true] .bars::before{top:0;transform:rotate(45deg)}
  .menu-toggle[aria-expanded=true] .bars::after{top:0;transform:rotate(-45deg)}
  .site-logo-svg{height:58px}
  .header-cta{display:none}
  .main-navigation{position:fixed;inset:var(--ke-header-h) 0 auto 0;background:var(--ke-petrol-dark);
    border-top:1px solid rgba(255,255,255,.08);max-height:calc(100vh - var(--ke-header-h));overflow-y:auto;
    transform:translateY(-12px);opacity:0;visibility:hidden;transition:all var(--ke-t);box-shadow:0 20px 40px rgba(0,0,0,.3)}
  .main-navigation.is-open{transform:translateY(0);opacity:1;visibility:visible}
  .main-navigation .menu{flex-direction:column;align-items:stretch;gap:0;padding:12px}
  .main-navigation .menu li{border-bottom:1px solid rgba(255,255,255,.06)}
  .main-navigation .menu a{padding:.95em .6em;font-size:1.02rem}
  .main-navigation .menu .current-menu-item>a::after{display:none}
  .main-navigation ul ul{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:rgba(0,0,0,.18);
    border:0;border-radius:var(--ke-radius-sm);padding:4px 4px 4px 14px;margin:4px 0 8px;display:none}
  .main-navigation ul ul::before{display:none}
  .main-navigation ul ul a{color:#cfe0e3}
  .main-navigation .submenu-open>ul{display:flex}
  .submenu-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-left:auto;
    background:rgba(255,255,255,.08);border:0;border-radius:var(--ke-radius-sm);color:#fff;cursor:pointer;position:absolute;right:8px;top:6px}
  .menu-item-has-children{position:relative}
  .menu-item-has-children>a{padding-right:54px}
  .submenu-toggle svg{transition:transform var(--ke-t)}
  .submenu-open>.submenu-toggle svg{transform:rotate(180deg)}
  .post-navigation{grid-template-columns:1fr}
  .author-box{flex-direction:column;gap:16px;padding:24px}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .entry-footer{flex-direction:column;align-items:flex-start}
  .site-content{padding:32px 0 48px}
}
@media (max-width:480px){
  .container{padding:0 18px}
  .post-card .card-body{padding:20px}
  blockquote{padding:.8rem 1.1rem}
}

/* Print */
@media print{.site-header,.site-footer,.widget-area,.post-navigation,.comments-area,.menu-toggle{display:none!important}
  .content-layout{grid-template-columns:1fr}}
