/*
Theme Name: Nordlicht
Theme URI: https://gerlach.net
Author: Holger H. Gerlach
Author URI: https://gerlach.net
Description: Dunkles, ruhiges Blog-Theme mit driftenden Farbwolken, Glasflächen und einer Typografie, die mit dem Bildschirm mitwächst. Ohne externe Schriften, ohne Tracker, ohne zusätzliche Requests.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nordlicht
Tags: blog, one-column, dark, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, block-styles, wide-blocks
*/

/* ==========================================================================
   1. Tokens
   ========================================================================== */

:root{
  /* Grundtöne */
  --bg:#080B10;
  --bg-soft:#0C1118;
  --ink:#E9EEF2;
  --ink-soft:rgba(233,238,242,.7);
  --ink-faint:rgba(233,238,242,.46);
  --line:rgba(255,255,255,.11);
  --line-strong:rgba(255,255,255,.2);
  --glass:rgba(255,255,255,.055);
  --glass-hover:rgba(255,255,255,.085);

  /* Farbwolken */
  --teal:#2F7D77;
  --indigo:#3B4E92;
  --copper:#9C6152;
  --sea:#1F5E6B;

  /* Akzent für Links und Marker */
  --accent:#7FC8BF;
  --accent-soft:rgba(127,200,191,.16);

  /* Maße */
  --w-content:44rem;
  --w-wide:76rem;
  --pad:clamp(20px,4vw,48px);
  --header-h:clamp(62px,5.4vw,82px);
  --radius:clamp(14px,1.4vw,22px);
  --radius-sm:10px;
  --section:clamp(56px,7.5vw,120px);

  /* Typo */
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:ui-serif,Georgia,"Iowan Old Style","Times New Roman",serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;

  --fs-hero:clamp(38px,6.2vw,90px);
  --fs-h1:clamp(30px,3.5vw,52px);
  --fs-h2:clamp(23px,2.2vw,33px);
  --fs-h3:clamp(19px,1.6vw,25px);
  --fs-body:clamp(17px,.55vw + 14px,21px);
  --fs-lead:clamp(19px,.9vw + 15px,25px);
  --fs-ui:clamp(14px,.25vw + 13px,16px);
  --fs-meta:clamp(12.5px,.15vw + 12px,14px);
}

/* ==========================================================================
   2. Grundlagen
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:var(--fs-body);
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

img,svg,video,iframe{max-width:100%;height:auto;}
img{display:block;}

a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;text-underline-offset:3px;}

:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:4px;
}

h1,h2,h3,h4,h5,h6{
  margin:0 0 .5em;
  font-weight:400;
  line-height:1.14;
  letter-spacing:-.026em;
  text-wrap:balance;
}
h1{font-size:var(--fs-h1);font-weight:300;}
h2{font-size:var(--fs-h2);}
h3{font-size:var(--fs-h3);}
h4{font-size:calc(var(--fs-body) * 1.1);letter-spacing:-.012em;}

p{margin:0 0 1.35em;}
p:last-child{margin-bottom:0;}

hr{border:0;border-top:1px solid var(--line);margin:var(--section) 0;}

::selection{background:var(--accent-soft);color:#fff;}

.screen-reader-text{
  position:absolute!important;
  width:1px;height:1px;
  overflow:hidden;clip:rect(1px,1px,1px,1px);
  clip-path:inset(50%);
  white-space:nowrap;
}
.skip-link{
  position:absolute;
  top:-100px;left:16px;
  z-index:999;
  background:var(--ink);
  color:#080B10;
  padding:12px 18px;
  border-radius:var(--radius-sm);
  font-size:var(--fs-ui);
}
.skip-link:focus{top:16px;}

.wrap{
  width:100%;
  max-width:var(--w-wide);
  margin-inline:auto;
  padding-inline:var(--pad);
}
.wrap--narrow{max-width:calc(var(--w-content) + var(--pad) * 2);}

/* ==========================================================================
   3. Atmosphäre: Farbwolken, Porträt, Schleier, Korn
   ========================================================================== */

.aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.aurora__blob{position:absolute;border-radius:50%;filter:blur(90px);will-change:transform;}
.aurora__blob--1{width:70vmax;height:70vmax;left:-26vmax;top:-30vmax;background:var(--teal);opacity:.5;animation:nl-drift-1 30s ease-in-out infinite alternate;}
.aurora__blob--2{width:58vmax;height:58vmax;right:-8vmax;top:-26vmax;background:var(--indigo);opacity:.44;animation:nl-drift-2 38s ease-in-out infinite alternate;}
.aurora__blob--3{width:52vmax;height:52vmax;left:20%;bottom:-30vmax;background:var(--copper);opacity:.3;animation:nl-drift-3 44s ease-in-out infinite alternate;}
.aurora__blob--4{width:46vmax;height:46vmax;right:-12vmax;top:26%;background:var(--copper);opacity:.34;animation:nl-drift-1 36s ease-in-out infinite alternate-reverse;}

@keyframes nl-drift-1{to{transform:translate3d(9vmax,7vmax,0) scale(1.15);}}
@keyframes nl-drift-2{to{transform:translate3d(-10vmax,9vmax,0) scale(1.1);}}
@keyframes nl-drift-3{to{transform:translate3d(-7vmax,-8vmax,0) scale(1.2);}}

.aurora__portrait{
  position:absolute;
  top:0;right:0;bottom:0;
  width:clamp(320px,60%,1400px);
  background-size:cover;
  background-position:58% 30%;
  background-repeat:no-repeat;
  mix-blend-mode:luminosity;
  opacity:.24;
  -webkit-mask-image:radial-gradient(62% 72% at 64% 38%,#000 0%,#000 16%,rgba(0,0,0,.5) 44%,rgba(0,0,0,.16) 62%,rgba(0,0,0,0) 74%);
  mask-image:radial-gradient(62% 72% at 64% 38%,#000 0%,#000 16%,rgba(0,0,0,.5) 44%,rgba(0,0,0,.16) 62%,rgba(0,0,0,0) 74%);
}

.aurora__veil{
  position:absolute;inset:0;
  background:
    linear-gradient(96deg,rgba(6,9,14,.92) 0%,rgba(6,9,14,.66) 34%,rgba(6,9,14,.14) 64%,rgba(6,9,14,0) 84%),
    linear-gradient(180deg,rgba(6,9,14,.55) 0%,rgba(6,9,14,0) 22%,rgba(6,9,14,.35) 74%,var(--bg) 100%);
}

.aurora__grain{
  position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.05;
  mix-blend-mode:overlay;
}

/* ==========================================================================
   4. Kopfzeile
   ========================================================================== */

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  height:var(--header-h);
  display:flex;
  align-items:center;
  transition:background-color .35s ease,border-color .35s ease,backdrop-filter .35s ease;
  border-bottom:1px solid transparent;
}
.site-header.is-stuck{
  background:rgba(8,11,16,.72);
  backdrop-filter:blur(20px) saturate(150%);
  -webkit-backdrop-filter:blur(20px) saturate(150%);
  border-bottom-color:var(--line);
}
.site-header__inner{
  display:flex;
  align-items:center;
  gap:clamp(16px,2.5vw,40px);
  width:100%;
}

.site-branding{display:flex;align-items:center;gap:12px;margin-right:auto;min-width:0;}
.site-branding a{color:inherit;text-decoration:none;display:flex;align-items:center;gap:12px;}
.custom-logo{
  height:clamp(26px,2.6vw,38px);
  width:auto;
  /* Das blaue Logo wurde für weißen Grund gemacht. Hier wird es zu reinem Weiß. */
  filter:brightness(0) invert(1);
  opacity:.94;
  transition:opacity .25s ease;
}
.site-branding a:hover .custom-logo{opacity:1;}
.site-title{
  font-size:var(--fs-ui);
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin:0;
  white-space:nowrap;
}
.site-title .dot{color:var(--ink-faint);}
.site-tagline{
  display:none;
  font-size:var(--fs-meta);
  color:var(--ink-faint);
  border-left:1px solid var(--line);
  padding-left:12px;
  margin-left:4px;
}
@media (min-width:1100px){.site-tagline{display:block;}}

.nav-primary ul{
  list-style:none;
  display:flex;
  align-items:center;
  gap:clamp(14px,1.8vw,30px);
  margin:0;padding:0;
}
.nav-primary a{
  color:var(--ink-soft);
  font-size:var(--fs-ui);
  text-decoration:none;
  position:relative;
  padding:6px 0;
  transition:color .25s ease;
}
.nav-primary a:hover{color:var(--ink);text-decoration:none;}
.nav-primary a::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:1px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s cubic-bezier(.22,.61,.36,1);
}
.nav-primary a:hover::after,
.nav-primary .current-menu-item > a::after,
.nav-primary .current_page_item > a::after{transform:scaleX(1);}
.nav-primary .current-menu-item > a,
.nav-primary .current_page_item > a{color:var(--ink);}

/* Untermenüs */
.nav-primary li{position:relative;}
.nav-primary .sub-menu{
  position:absolute;
  top:100%;left:-14px;
  display:block;
  min-width:210px;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  padding:8px;
  border-radius:var(--radius-sm);
  background:rgba(12,17,24,.94);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:1px solid var(--line);
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:opacity .22s ease,transform .22s ease,visibility .22s;
}
.nav-primary li:hover > .sub-menu,
.nav-primary li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.nav-primary .sub-menu a{display:block;padding:8px 12px;border-radius:6px;}
.nav-primary .sub-menu a:hover{background:var(--glass);}
.nav-primary .sub-menu a::after{display:none;}

.header-actions{display:flex;align-items:center;gap:6px;}

.icon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;height:40px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--ink-soft);
  cursor:pointer;
  transition:background-color .25s ease,color .25s ease;
}
.icon-btn:hover{background:var(--glass);color:var(--ink);}
.icon-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}

.nav-toggle{display:none;}
@media (max-width:900px){
  .nav-primary{display:none;}
  .nav-toggle{display:inline-flex;}
}

/* Mobiles Menü */
.mobile-menu{
  position:fixed;
  inset:0;
  z-index:60;
  background:rgba(6,9,14,.86);
  backdrop-filter:blur(26px) saturate(140%);
  -webkit-backdrop-filter:blur(26px) saturate(140%);
  display:flex;
  flex-direction:column;
  padding:calc(var(--header-h) + 24px) var(--pad) var(--pad);
  opacity:0;
  visibility:hidden;
  transition:opacity .3s ease,visibility .3s;
}
.mobile-menu.is-open{opacity:1;visibility:visible;}
.mobile-menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
.mobile-menu a{
  display:block;
  color:var(--ink);
  font-size:clamp(22px,5vw,30px);
  font-weight:300;
  letter-spacing:-.02em;
  padding:10px 0;
  border-bottom:1px solid var(--line);
  text-decoration:none;
}
.mobile-menu .sub-menu a{font-size:var(--fs-ui);padding-left:16px;color:var(--ink-soft);}
.mobile-menu__close{position:absolute;top:calc((var(--header-h) - 40px) / 2);right:var(--pad);}

/* Suche */
.search-panel{
  position:fixed;
  inset:0;
  z-index:60;
  background:rgba(6,9,14,.86);
  backdrop-filter:blur(26px);
  -webkit-backdrop-filter:blur(26px);
  display:grid;
  place-items:center;
  padding:var(--pad);
  opacity:0;
  visibility:hidden;
  transition:opacity .3s ease,visibility .3s;
}
.search-panel.is-open{opacity:1;visibility:visible;}
.search-panel__box{width:min(100%,640px);}
.search-panel__label{
  display:block;
  font-size:var(--fs-meta);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ink-faint);
  margin-bottom:14px;
}
.search-panel__close{position:absolute;top:calc((var(--header-h) - 40px) / 2);right:var(--pad);}

.search-form{display:flex;gap:10px;}
.search-form input[type="search"]{
  flex:1;
  min-width:0;
  font:inherit;
  font-size:var(--fs-lead);
  font-weight:300;
  color:var(--ink);
  background:transparent;
  border:0;
  border-bottom:1px solid var(--line-strong);
  padding:12px 2px;
}
.search-form input[type="search"]::placeholder{color:var(--ink-faint);}
.search-form input[type="search"]:focus{outline:none;border-bottom-color:var(--accent);}
.search-form button{
  font:inherit;
  font-size:var(--fs-ui);
  color:var(--ink);
  background:var(--glass);
  border:1px solid var(--line);
  border-radius:999px;
  padding:10px 22px;
  cursor:pointer;
  transition:background-color .25s ease;
}
.search-form button:hover{background:var(--glass-hover);}

/* ==========================================================================
   5. Hero der Startseite
   ========================================================================== */

.hero{
  position:relative;
  margin-top:calc(var(--header-h) * -1);
  min-height:min(86vh,900px);
  display:flex;
  align-items:center;
  isolation:isolate;
  overflow:hidden;
}
.hero__inner{position:relative;z-index:2;padding-block:calc(var(--header-h) + clamp(40px,7vw,90px)) clamp(40px,7vw,90px);}
.hero__card{
  width:min(100%,42rem);
  display:flex;
  flex-direction:column;
  gap:clamp(16px,2vw,26px);
  padding:clamp(26px,3.4vw,46px);
  border-radius:var(--radius);
  background:var(--glass);
  border:1px solid rgba(255,255,255,.13);
  backdrop-filter:blur(28px) saturate(150%);
  -webkit-backdrop-filter:blur(28px) saturate(150%);
  box-shadow:0 30px 80px -46px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.07);
}
.hero__eyebrow{
  font-size:var(--fs-meta);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--ink-faint);
  margin:0;
}
.hero__title{
  font-size:var(--fs-hero);
  font-weight:200;
  letter-spacing:-.035em;
  line-height:1.02;
  margin:0;
}
.hero__text{
  font-size:var(--fs-lead);
  font-weight:300;
  line-height:1.45;
  color:var(--ink-soft);
  margin:0;
  max-width:34ch;
}
.hero__meta{
  display:flex;
  align-items:center;
  gap:14px;
  font-size:var(--fs-meta);
  color:var(--ink-faint);
}
.hero__rule{width:42px;height:1px;background:var(--line-strong);flex:none;}

/* Kleiner Kopfstreifen für Archiv, Seite, Artikel */
.page-hero{
  position:relative;
  margin-top:calc(var(--header-h) * -1);
  padding-block:calc(var(--header-h) + clamp(46px,6vw,90px)) clamp(30px,4vw,56px);
  isolation:isolate;
  overflow:hidden;
}
.page-hero .aurora__blob{filter:blur(80px);}
.page-hero__inner{position:relative;z-index:2;}
.page-hero__eyebrow{
  font-size:var(--fs-meta);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--accent);
  margin:0 0 14px;
}
.page-hero__title{
  font-size:var(--fs-h1);
  font-weight:200;
  letter-spacing:-.032em;
  margin:0;
  max-width:24ch;
}
.page-hero__text{color:var(--ink-soft);margin:14px 0 0;max-width:56ch;}

/* ==========================================================================
   6. Beitragsraster
   ========================================================================== */

.section{padding-block:var(--section);}
.section--tight{padding-block:clamp(36px,5vw,72px);}

.section-head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:12px 24px;
  margin-bottom:clamp(24px,3vw,44px);
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}
.section-head h2{
  font-size:var(--fs-h3);
  font-weight:400;
  letter-spacing:-.015em;
  margin:0;
}
.section-head p{margin:0;color:var(--ink-faint);font-size:var(--fs-meta);}

.post-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));
  gap:clamp(20px,2.4vw,34px);
}

.card{
  position:relative;
  display:flex;
  flex-direction:column;
  border-radius:var(--radius);
  background:var(--glass);
  border:1px solid var(--line);
  overflow:hidden;
  transition:transform .45s cubic-bezier(.22,.61,.36,1),background-color .35s ease,border-color .35s ease;
}
.card:hover{transform:translateY(-4px);background:var(--glass-hover);border-color:var(--line-strong);}

.card__media{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--bg-soft);
}
.card__media img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .8s cubic-bezier(.22,.61,.36,1),opacity .4s ease;
  opacity:.86;
}
.card:hover .card__media img{transform:scale(1.045);opacity:1;}
.card__media::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,11,16,0) 40%,rgba(8,11,16,.5) 100%);
}
.card__media--empty{
  background:
    radial-gradient(90% 120% at 20% 0%,rgba(47,125,119,.5) 0%,rgba(47,125,119,0) 60%),
    radial-gradient(80% 110% at 100% 100%,rgba(59,78,146,.45) 0%,rgba(59,78,146,0) 60%),
    var(--bg-soft);
}

.card__body{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:clamp(20px,2vw,28px);
  flex:1;
}
.card__cats{display:flex;flex-wrap:wrap;gap:8px;}
.chip{
  display:inline-block;
  font-size:var(--fs-meta);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--accent);
  background:var(--accent-soft);
  border-radius:999px;
  padding:4px 11px;
  text-decoration:none;
  transition:background-color .25s ease;
}
.chip:hover{background:rgba(127,200,191,.26);text-decoration:none;}
.chip--muted{color:var(--ink-faint);background:var(--glass);}

.card__title{
  font-size:clamp(19px,1.35vw,24px);
  font-weight:400;
  line-height:1.22;
  letter-spacing:-.02em;
  margin:0;
}
.card__title a{color:var(--ink);text-decoration:none;}
/* Die ganze Karte ist klickbar. */
.card__title a::after{content:"";position:absolute;inset:0;z-index:1;}
/* Chips und Links in der Karte bleiben trotzdem einzeln anklickbar. */
.card__cats a,.card__meta a{position:relative;z-index:2;}
.card:hover .card__title a{color:#fff;}

.card__excerpt{
  font-size:var(--fs-ui);
  line-height:1.62;
  color:var(--ink-soft);
  margin:0;
}
.card__meta{
  margin-top:auto;
  padding-top:6px;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:var(--fs-meta);
  color:var(--ink-faint);
}
.card__meta .sep{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6;}

/* Sanftes Auftauchen beim Scrollen */
.reveal{opacity:0;transform:translateY(14px);}
.reveal.is-in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1);}

/* ==========================================================================
   7. Einzelner Beitrag
   ========================================================================== */

.progress{
  position:fixed;
  top:0;left:0;
  height:2px;
  width:100%;
  transform:scaleX(0);
  transform-origin:left;
  background:linear-gradient(90deg,var(--teal),var(--accent));
  z-index:70;
}

.entry-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  font-size:var(--fs-meta);
  color:var(--ink-faint);
  margin-top:18px;
}
.entry-meta .sep{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6;}

.featured-image{
  margin-block:clamp(24px,4vw,52px);
}
.featured-image img{
  width:100%;
  border-radius:var(--radius);
  border:1px solid var(--line);
}
.featured-image figcaption{
  margin-top:10px;
  font-size:var(--fs-meta);
  color:var(--ink-faint);
  text-align:center;
}

.entry-content{
  max-width:var(--w-content);
  margin-inline:auto;
}
.entry-content > *{margin-bottom:1.35em;}
.entry-content > *:last-child{margin-bottom:0;}
.entry-content h2{margin-top:1.9em;}
.entry-content h3{margin-top:1.7em;}
.entry-content h2,.entry-content h3,.entry-content h4{color:#F3F7F9;}
.entry-content a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgba(127,200,191,.45);}
.entry-content a:hover{text-decoration-color:var(--accent);}
.entry-content strong{font-weight:600;color:#F3F7F9;}
.entry-content ul,.entry-content ol{padding-left:1.4em;}
.entry-content li{margin-bottom:.5em;}
.entry-content li::marker{color:var(--accent);}
.entry-content img{border-radius:var(--radius-sm);}

.entry-content blockquote{
  margin:2em 0;
  padding:0 0 0 clamp(18px,2.4vw,32px);
  border-left:2px solid var(--accent);
  font-family:var(--serif);
  font-size:var(--fs-lead);
  font-style:italic;
  line-height:1.5;
  color:#F1F5F7;
}
.entry-content blockquote cite{
  display:block;
  margin-top:12px;
  font-family:var(--sans);
  font-size:var(--fs-meta);
  font-style:normal;
  color:var(--ink-faint);
}

.entry-content code{
  font-family:var(--mono);
  font-size:.88em;
  background:var(--glass);
  border:1px solid var(--line);
  border-radius:5px;
  padding:.12em .4em;
}
.entry-content pre{
  background:var(--bg-soft);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  padding:clamp(16px,2vw,24px);
  overflow-x:auto;
  font-size:.9em;
  line-height:1.6;
}
.entry-content pre code{background:none;border:0;padding:0;}

.entry-content table{
  width:100%;
  border-collapse:collapse;
  font-size:var(--fs-ui);
  display:block;
  overflow-x:auto;
}
.entry-content th,.entry-content td{
  padding:12px 14px;
  border-bottom:1px solid var(--line);
  text-align:left;
}
.entry-content th{color:var(--ink);font-weight:500;}
.entry-content td{color:var(--ink-soft);}

.entry-content figure{margin:2em 0;}
.entry-content figcaption{
  margin-top:10px;
  font-size:var(--fs-meta);
  color:var(--ink-faint);
}

/* Blockeditor: breite und volle Ausrichtung */
.entry-content .alignwide{
  width:min(var(--w-wide),100vw - var(--pad) * 2);
  max-width:none;
  margin-inline:calc(50% - min(var(--w-wide),100vw - var(--pad) * 2) / 2);
}
.entry-content .alignfull{
  width:100vw;
  max-width:none;
  margin-inline:calc(50% - 50vw);
}
.entry-content .alignleft{float:left;margin:.4em 1.6em 1.2em 0;max-width:50%;}
.entry-content .alignright{float:right;margin:.4em 0 1.2em 1.6em;max-width:50%;}
.entry-content .aligncenter{margin-inline:auto;}
.wp-caption{max-width:100%;}
.wp-block-button__link{
  display:inline-block;
  background:var(--ink);
  color:#080B10;
  border-radius:999px;
  padding:12px 26px;
  font-size:var(--fs-ui);
  font-weight:500;
  text-decoration:none;
}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;
  color:var(--ink);
  border:1px solid var(--line-strong);
}

.entry-footer{
  max-width:var(--w-content);
  margin:clamp(36px,5vw,64px) auto 0;
  padding-top:26px;
  border-top:1px solid var(--line);
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  justify-content:space-between;
}
.tag-list{display:flex;flex-wrap:wrap;gap:8px;}

.author-box{
  max-width:var(--w-content);
  margin:clamp(30px,4vw,52px) auto 0;
  display:flex;
  gap:clamp(16px,2vw,24px);
  align-items:flex-start;
  padding:clamp(20px,2.4vw,30px);
  border-radius:var(--radius);
  background:var(--glass);
  border:1px solid var(--line);
}
.author-box img{border-radius:50%;flex:none;width:56px;height:56px;object-fit:cover;}
.author-box__name{font-size:var(--fs-ui);font-weight:500;margin:0 0 6px;letter-spacing:0;}
.author-box__text{font-size:var(--fs-ui);color:var(--ink-soft);margin:0;line-height:1.6;}

.post-nav{
  display:grid;
  gap:clamp(14px,2vw,22px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  margin-top:var(--section);
}
.post-nav__item{
  display:block;
  padding:clamp(20px,2.2vw,28px);
  border-radius:var(--radius);
  background:var(--glass);
  border:1px solid var(--line);
  text-decoration:none;
  transition:background-color .3s ease,border-color .3s ease,transform .4s cubic-bezier(.22,.61,.36,1);
}
.post-nav__item:hover{background:var(--glass-hover);border-color:var(--line-strong);transform:translateY(-3px);text-decoration:none;}
.post-nav__label{
  display:block;
  font-size:var(--fs-meta);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ink-faint);
  margin-bottom:10px;
}
.post-nav__title{
  font-size:clamp(17px,1.2vw,21px);
  font-weight:400;
  letter-spacing:-.018em;
  line-height:1.28;
  color:var(--ink);
}
.post-nav__item--next{text-align:right;}

/* ==========================================================================
   8. Kommentare
   ========================================================================== */

.comments-area{
  max-width:var(--w-content);
  margin:var(--section) auto 0;
}
.comments-title,.comment-reply-title{
  font-size:var(--fs-h3);
  font-weight:400;
  margin-bottom:24px;
}
.comment-list{list-style:none;margin:0 0 40px;padding:0;display:flex;flex-direction:column;gap:20px;}
.comment-list .children{list-style:none;margin:20px 0 0;padding-left:clamp(16px,3vw,38px);display:flex;flex-direction:column;gap:20px;}
.comment-body{
  padding:clamp(18px,2vw,26px);
  border-radius:var(--radius);
  background:var(--glass);
  border:1px solid var(--line);
}
.comment-author{display:flex;align-items:center;gap:12px;font-size:var(--fs-ui);}
.comment-author img{border-radius:50%;}
.comment-author .fn{font-style:normal;font-weight:500;}
.comment-metadata{font-size:var(--fs-meta);color:var(--ink-faint);margin:6px 0 12px;}
.comment-content{font-size:var(--fs-ui);line-height:1.68;color:var(--ink-soft);}
.reply{margin-top:12px;font-size:var(--fs-meta);}

.comment-respond{
  padding:clamp(22px,2.6vw,34px);
  border-radius:var(--radius);
  background:var(--glass);
  border:1px solid var(--line);
}
.comment-form label{
  display:block;
  font-size:var(--fs-meta);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-faint);
  margin-bottom:8px;
}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
  width:100%;
  font:inherit;
  font-size:var(--fs-ui);
  color:var(--ink);
  background:rgba(255,255,255,.05);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  padding:12px 14px;
  margin-bottom:18px;
}
.comment-form textarea{min-height:150px;resize:vertical;}
.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:var(--accent);}
.comment-form .form-submit{margin:0;}
.comment-form input[type="submit"]{
  font:inherit;
  font-size:var(--fs-ui);
  font-weight:500;
  color:#080B10;
  background:var(--ink);
  border:0;
  border-radius:999px;
  padding:13px 30px;
  cursor:pointer;
  transition:opacity .25s ease,transform .25s ease;
}
.comment-form input[type="submit"]:hover{opacity:.9;transform:translateY(-1px);}
.comment-form .comment-notes,.comment-form .comment-form-cookies-consent label{
  font-size:var(--fs-meta);
  text-transform:none;
  letter-spacing:0;
  color:var(--ink-faint);
  line-height:1.6;
}
.comment-form-cookies-consent{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;}
.comment-form-cookies-consent input{margin-top:4px;}
.comment-form-cookies-consent label{margin:0;}

/* ==========================================================================
   9. Seitennummerierung
   ========================================================================== */

.pagination{margin-top:clamp(36px,5vw,64px);}
.nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;}
.page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;height:42px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid var(--line);
  color:var(--ink-soft);
  font-size:var(--fs-ui);
  text-decoration:none;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease;
}
.page-numbers:hover{background:var(--glass);color:var(--ink);text-decoration:none;}
.page-numbers.current{background:var(--ink);color:#080B10;border-color:var(--ink);}
.page-numbers.dots{border-color:transparent;}

/* ==========================================================================
   10. Fußzeile
   ========================================================================== */

.site-footer{
  position:relative;
  margin-top:var(--section);
  padding-top:clamp(48px,6vw,90px);
  isolation:isolate;
  overflow:hidden;
  border-top:1px solid var(--line);
}
.site-footer .aurora{opacity:.5;}
.site-footer__inner{position:relative;z-index:2;}
.footer-widgets{
  display:grid;
  gap:clamp(26px,3.5vw,54px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  padding-bottom:clamp(36px,4.5vw,64px);
}
.footer-widgets .widget-title,
.footer-widgets h2,
.footer-widgets h3{
  font-size:var(--fs-meta);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ink-faint);
  font-weight:500;
  margin:0 0 16px;
}
.footer-widgets ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.footer-widgets a{color:var(--ink-soft);text-decoration:none;font-size:var(--fs-ui);}
.footer-widgets a:hover{color:var(--ink);}
.footer-widgets .widget{font-size:var(--fs-ui);color:var(--ink-soft);}

.site-footer__bar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:14px 26px;
  padding-block:26px;
  border-top:1px solid var(--line);
  font-size:var(--fs-meta);
  color:var(--ink-faint);
}
.site-footer__bar ul{list-style:none;display:flex;flex-wrap:wrap;gap:18px;margin:0;padding:0;}
.site-footer__bar a{color:var(--ink-faint);text-decoration:none;}
.site-footer__bar a:hover{color:var(--ink);}

/* ==========================================================================
   11. Sonderfälle
   ========================================================================== */

.no-results{
  max-width:var(--w-content);
  margin-inline:auto;
  text-align:center;
  padding-block:clamp(40px,6vw,90px);
}
.no-results .search-form{margin-top:26px;justify-content:center;}

.error-404{text-align:center;padding-block:clamp(60px,10vw,150px);}
.error-404__code{
  font-size:clamp(80px,16vw,220px);
  font-weight:200;
  letter-spacing:-.05em;
  line-height:1;
  color:transparent;
  background:linear-gradient(150deg,#F2F6F8 0%,rgba(127,200,191,.7) 60%,rgba(156,97,82,.55) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  margin:0 0 18px;
}

.sticky-flag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:var(--fs-meta);
  color:var(--accent);
}

/* Auf schmalen Schirmen wandert das Porträt nach oben, der Kasten nach unten */
@media (max-width:760px){
  .hero{
    min-height:min(82vh,800px);
    align-items:flex-end;
  }
  .hero__inner{padding-block:calc(var(--header-h) + 40vw) clamp(28px,7vw,48px);}
  .aurora__portrait{
    width:100%;
    background-position:52% 16%;
    opacity:.22;
    -webkit-mask-image:radial-gradient(96% 50% at 54% 22%,#000 0%,#000 22%,rgba(0,0,0,.5) 50%,rgba(0,0,0,0) 74%);
    mask-image:radial-gradient(96% 50% at 54% 22%,#000 0%,#000 22%,rgba(0,0,0,.5) 50%,rgba(0,0,0,0) 74%);
  }
  .hero .aurora__veil{
    background:linear-gradient(180deg,rgba(6,9,14,.3) 0%,rgba(6,9,14,.08) 24%,rgba(6,9,14,.72) 62%,var(--bg) 100%);
  }
}

/* WordPress-Adminleiste: alles Feste rutscht nach unten */
body.admin-bar .site-header{top:32px;}
body.admin-bar .progress{top:32px;}
body.admin-bar .mobile-menu,
body.admin-bar .search-panel{top:32px;}
@media screen and (max-width:782px){
  body.admin-bar .site-header,
  body.admin-bar .progress,
  body.admin-bar .mobile-menu,
  body.admin-bar .search-panel{top:0;}
}

/* Barrierefreiheit: Bewegung reduzieren */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .aurora__blob{animation:none;}
  .reveal{opacity:1;transform:none;}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;}
}

/* Druck */
@media print{
  .site-header,.site-footer,.aurora,.progress,.post-nav,.comments-area{display:none!important;}
  body{background:#fff;color:#111;}
  .entry-content{max-width:none;}
}
