/*
Theme Name: Frankenesel
Theme URI: https://frankenesel.de/blog/
Author: kimdoo.de
Author URI: https://kimdoo.de/
Description: Leichtes, barrierearmes Blog-Theme für Frankenesel – Eselwandern auf der Frankenhöhe bei Rothenburg. Passend zur Startseite frankenesel.de: warme Farben, Fraunces, Nunito Sans und Caveat (lokal eingebunden), Hell- und Dunkelmodus, ohne Plugins und ohne externe Dienste.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
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: frankenesel
Tags: blog, one-column, custom-menu, featured-images, threaded-comments, translation-ready, accessibility-ready, wide-blocks, editor-style
*/

/* ===================================================================
   Farben und Grundwerte (gleich wie auf frankenesel.de)
   =================================================================== */
:root{
  --bg:#F7EEE8; --bg2:#F0E2D8; --paper:#FFFAF6;
  --ink:#3A2430; --ink-soft:#6B525D; --line:rgba(58,36,48,.16);
  --rose:#C27E73; --rose-ink:#8E453B; --rose-soft:#EBC7BD;
  --sage:#7C8C68; --green-ink:#46573A;
  --gold:#D9A14A; --gold-soft:#F3DDAE;
  --night:#2E1D26; --night-ink:#F6E9E2; --night-soft:#D6BFC2;
  --sky1:#F5CF98; --sky2:#EBA38C; --hill1:#DC9C8C; --hill2:#BF7D72; --hill3:#8C5B5E; --hill4:#5E6D4D; --hill5:#44513A; --sil:#3A2430;
  --serif:'Fraunces','Iowan Old Style','Palatino Linotype',Georgia,serif;
  --sans:'Nunito Sans','Segoe UI',system-ui,-apple-system,sans-serif;
  --hand:'Caveat','Segoe Print','Bradley Hand',cursive;
  --gutter:max(clamp(18px,4.5vw,48px),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));
  --radius:22px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#1E1419; --bg2:#271B21; --paper:#2D2027;
    --ink:#F4E7E1; --ink-soft:#C8B2B5; --line:rgba(244,231,225,.15);
    --rose:#DB978B; --rose-ink:#E6A89C; --rose-soft:#5A3A3C;
    --sage:#9DAE87; --green-ink:#BCD0A2;
    --gold:#E2AE58; --gold-soft:#4B3A22;
    --night:#140D11; --night-soft:#CDB6B9;
    --sky1:#5B3A45; --sky2:#3E2733; --hill1:#4E3139; --hill2:#3F2830; --hill3:#321F27; --hill4:#2B3325; --hill5:#1F271B; --sil:#120B0F;
    color-scheme:dark;
  }
}
@media (prefers-contrast:more){:root{--ink-soft:var(--ink);--line:currentColor}}

/* ===================================================================
   Basis
   =================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:90px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video,iframe{max-width:100%;height:auto}
img{display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-color:var(--rose)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;font-variation-settings:"SOFT" 100,"opsz" 96;letter-spacing:-.02em;line-height:1.08;margin:0;text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}
.wrap{width:min(1180px,100% - var(--gutter)*2);margin-inline:auto}
.narrow,.narrow-wrap{width:min(760px,100% - var(--gutter)*2);margin-inline:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-999px;top:10px;z-index:100;background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:10px;font-weight:700}
.skip-link:focus{left:12px}
.hand{font-family:var(--hand);font-weight:600;font-size:26px;line-height:1.1;color:var(--rose-ink);margin:0 0 8px}
.lead{font-size:clamp(18px,1.7vw,20px);color:var(--ink-soft);max-width:62ch}
.small{font-size:14px}

/* Knöpfe */
.btn,.wp-block-button__link,.wp-element-button,input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 24px;border-radius:999px;border:1.5px solid transparent;font:700 16px/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:background .2s,transform .2s,border-color .2s;text-align:center}
.btn svg{width:18px;height:18px;flex:none}
.btn-gold,.wp-block-button__link,.wp-element-button,input[type=submit]{background:var(--gold);color:#3A2430}
.btn-gold:hover,.wp-block-button__link:hover,input[type=submit]:hover{background:#E6B35F;transform:translateY(-1px)}
.btn-line,.is-style-outline .wp-block-button__link{border-color:currentColor;background:transparent;color:inherit}
.btn-line:hover,.is-style-outline .wp-block-button__link:hover{background:color-mix(in srgb,currentColor 8%,transparent)}

.chip{display:inline-block;font:700 12.5px/1 var(--sans);letter-spacing:.02em;padding:6px 11px;border-radius:999px;background:color-mix(in srgb,var(--sage) 18%,transparent);color:var(--green-ink);text-decoration:none;margin-bottom:12px}
.chip:hover{background:color-mix(in srgb,var(--sage) 28%,transparent)}
.post-meta{font-size:14px;color:var(--ink-soft);margin:0}

/* ===================================================================
   Kopfzeile
   =================================================================== */
.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
@media (min-width:961px){.site-header{background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2)}}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none;position:relative;z-index:2}
.brand svg{width:46px;height:46px;color:var(--ink)}
.brand b{display:block;font:500 24px/1 var(--serif);letter-spacing:-.01em}
.brand small{display:block;font:600 17px/1.1 var(--hand);color:var(--rose-ink);margin-top:3px}
html.anim .brand .ear{transform-box:fill-box;transform-origin:50% 100%;animation:earflick 8s ease-in-out 3}
html.anim .brand .ear.r{animation-delay:.12s}
@keyframes earflick{0%,90%,100%{transform:rotate(0)}93%{transform:rotate(-7deg)}96%{transform:rotate(3deg)}}
.main-nav{display:flex;align-items:center;gap:clamp(14px,2vw,28px)}
.main-nav .menu{display:flex;align-items:center;gap:clamp(14px,2vw,26px);list-style:none;margin:0;padding:0}
.main-nav .menu a{text-decoration:none;font-weight:600;font-size:15px;opacity:.85;white-space:nowrap;padding:6px 0}
.main-nav .menu a:hover,.main-nav .current-menu-item>a,.main-nav a[aria-current]{opacity:1;text-decoration:underline;text-decoration-color:var(--rose);text-underline-offset:6px;text-decoration-thickness:2px}
.nav-cta{min-height:44px;padding:0 20px;font-size:15px;white-space:nowrap}
.burger{display:none;width:48px;height:48px;border:0;background:transparent;border-radius:12px;cursor:pointer;color:var(--ink);position:relative;z-index:2}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:currentColor;border-radius:2px;transition:transform .3s,opacity .3s}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:23px}.burger span:nth-child(3){top:30px}
.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-open .burger span:nth-child(2){opacity:0}
.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:960px){
  .burger{display:block}
  .main-nav{position:fixed;inset:0;z-index:1;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;padding:calc(env(safe-area-inset-top,0px) + 96px) var(--gutter) 40px;background:var(--bg);transform:translateY(-102%);visibility:hidden;transition:transform .35s ease,visibility 0s linear .35s;overflow-y:auto}
  .menu-open .main-nav{transform:none;visibility:visible;transition:transform .35s ease,visibility 0s}
  .main-nav .menu{flex-direction:column;align-items:flex-start;gap:4px}
  .main-nav .menu a{font:400 30px/1.25 var(--serif);opacity:1;display:block;padding:6px 0}
  .nav-cta{margin-top:18px;min-height:52px;font-size:17px}
  .menu-open{overflow:hidden}
  .menu-open .site-header{background:var(--bg)}
}
@media (max-width:420px){.brand small{display:none}.brand svg{width:40px;height:40px}}

/* Lesefortschritt */
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;pointer-events:none}
.progress span{display:block;height:100%;width:100%;background:var(--gold);transform-origin:0 50%;transform:scaleX(var(--p,0))}

/* ===================================================================
   Blog-Übersicht
   =================================================================== */
.blog-hero{position:relative;background:linear-gradient(180deg,var(--sky1) 0%,var(--sky2) 70%,var(--hill1) 100%);padding-top:clamp(48px,8vw,96px);overflow:hidden}
.blog-hero h1{font-size:clamp(44px,7vw,96px);line-height:.95;letter-spacing:-.035em;margin:4px 0 18px;max-width:16ch}
.blog-hero .lead{color:var(--ink)}
.cat-nav{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0}
.cat-nav a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;font-weight:700;font-size:14.5px;text-decoration:none;background:color-mix(in srgb,var(--paper) 70%,transparent);border:1px solid var(--line)}
.cat-nav a:hover{background:var(--paper)}
.cat-nav a[aria-current]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.hero-search{max-width:520px;margin-top:22px}
.landscape{display:block;width:100%;height:clamp(90px,12vw,170px);margin-top:clamp(20px,4vw,40px)}
.landscape .sun{fill:var(--gold);opacity:.85}
.landscape .dk{color:var(--sil)}
html.anim .landscape .walkers{animation:walkin 7s cubic-bezier(.25,.6,.4,1) both .3s}
@keyframes walkin{from{transform:translateX(-140px)}to{transform:translateX(330px)}}
.landscape .walkers{transform:translateX(330px)}
html.anim .landscape .dk{animation:bob .4s ease-in-out 16 alternate .3s}
html.anim .landscape .dk2{animation-delay:.5s}
@keyframes bob{to{transform:translateY(-2px)}}

.blog-list{padding:clamp(40px,6vw,72px) 0 clamp(56px,8vw,96px)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
.card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:relative;transition:transform .35s cubic-bezier(.2,.9,.3,1.2),box-shadow .35s}
.card:hover,.card:focus-within{transform:translateY(-4px);box-shadow:0 22px 40px -28px rgba(58,36,48,.55)}
.card-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--bg2)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.card:hover .card-img img{transform:scale(1.04)}
.card-ph{display:grid;place-items:center;height:100%;color:color-mix(in srgb,var(--ink) 22%,transparent)}
.card-ph svg{width:96px;height:86px}
.card-body{display:flex;flex-direction:column;align-items:flex-start;padding:22px 24px 24px;flex:1}
.card-title{font-size:clamp(22px,2vw,26px);line-height:1.15;margin-bottom:10px}
.card-title a{text-decoration:none}
.card-title a::after{content:"";position:absolute;inset:0;border-radius:var(--radius)}
.card-title a:focus-visible{outline:none}
.card:has(.card-title a:focus-visible){outline:3px solid var(--gold);outline-offset:3px}
.card-excerpt{font-size:15.5px;color:var(--ink-soft);margin-bottom:16px}
.card .post-meta{margin-top:auto}
.card .chip{position:relative;z-index:1}
.card-big{display:grid;grid-template-columns:1.15fr 1fr;margin-bottom:clamp(18px,2.4vw,28px)}
.card-big .card-img{aspect-ratio:auto;min-height:340px}
.card-big .card-body{padding:clamp(26px,4vw,48px);justify-content:center}
.card-big .card-title{font-size:clamp(30px,3.6vw,46px);line-height:1.05}
.card-big .card-excerpt{font-size:17px}
.empty{text-align:center;max-width:560px;margin:0 auto;padding:30px 0}
.empty svg{width:120px;height:106px;color:var(--rose-ink);margin:0 auto 16px}
.empty h2{font-size:clamp(28px,4vw,40px);margin-bottom:12px}

/* Seitenzahlen */
.pagination{margin-top:clamp(36px,5vw,56px)}
.pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.pagination .page-numbers{display:inline-grid;place-items:center;min-width:46px;min-height:46px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--paper);text-decoration:none;font-weight:700}
.pagination .page-numbers.current{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.pagination a.page-numbers:hover{border-color:var(--ink)}

/* Suche */
.search-form{display:flex;align-items:center;background:var(--paper);border:1.5px solid var(--line);border-radius:999px;padding:4px 4px 4px 18px;max-width:520px;margin:18px auto 0}
.blog-hero .search-form{margin-left:0}
.search-form:focus-within{border-color:var(--rose)}
.search-form input{flex:1;min-width:0;border:0;background:transparent;font:inherit;color:inherit;padding:10px 0;outline:none}
.search-form button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:0;background:var(--gold);color:#3A2430;cursor:pointer}
.search-form button svg{width:20px;height:20px}

/* ===================================================================
   Einzelbeitrag
   =================================================================== */
.entry-head{padding:clamp(36px,6vw,80px) 0 clamp(26px,4vw,44px);background:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%)}
.back{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;text-decoration:none;color:var(--ink-soft);margin-bottom:22px}
.back svg{width:18px;height:18px;transform:rotate(180deg);transition:transform .25s}
.back:hover svg{transform:rotate(180deg) translateX(3px)}
.entry-head .chip{display:table}
.entry-title{font-size:clamp(38px,6vw,72px);line-height:1;letter-spacing:-.03em;margin-bottom:18px}
.entry-head .lead{margin-bottom:16px}
.entry-hero{margin:0 auto clamp(28px,4vw,48px);max-width:1100px}
.entry-hero img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:clamp(18px,3vw,30px)}
.entry-hero figcaption{font-size:13px;color:var(--ink-soft);margin-top:10px;text-align:center}

/* Fließtext und Blöcke */
.entry-content{font-size:clamp(17px,1.4vw,19px);line-height:1.75}
.entry-content>*{width:min(720px,100% - var(--gutter)*2);margin-inline:auto;margin-block:0 1.15em}
.entry-content>.alignwide{width:min(1100px,100% - var(--gutter)*2)}
.entry-content>.alignfull{width:100%}
.entry-content>.alignleft{float:left;width:auto;max-width:45%;margin:.3em 1.4em 1em max(var(--gutter),calc((100% - 720px)/2))}
.entry-content>.alignright{float:right;width:auto;max-width:45%;margin:.3em max(var(--gutter),calc((100% - 720px)/2)) 1em 1.4em}
.entry-content h2{font-size:clamp(28px,3.4vw,40px);margin-top:1.6em;margin-bottom:.5em}
.entry-content h3{font-size:clamp(23px,2.6vw,29px);margin-top:1.4em;margin-bottom:.45em}
.entry-content h4{font:700 19px/1.3 var(--sans);margin-top:1.3em;margin-bottom:.4em;letter-spacing:0}
.entry-content a{color:var(--rose-ink);text-decoration-thickness:1.5px}
.entry-content a:hover{color:var(--ink)}
.entry-content ul,.entry-content ol{padding-left:1.3em}
.entry-content li{margin-bottom:.4em}
.entry-content li::marker{color:var(--rose-ink)}
.entry-content img{border-radius:18px;height:auto}
.entry-content figure{margin-block:1.6em}
.entry-content figcaption,.wp-element-caption{font-size:14px;color:var(--ink-soft);text-align:center;margin-top:10px}
.entry-content .has-drop-cap:not(:focus)::first-letter{font:400 4.2em/.8 var(--serif);float:left;margin:.08em .1em 0 0;color:var(--rose-ink)}
.entry-content hr,.wp-block-separator{border:0;height:24px;background:none;margin-block:2em;position:relative;overflow:visible}
.entry-content hr::before,.wp-block-separator::before{content:"· · ·";position:absolute;inset:0;text-align:center;font:600 24px/1 var(--hand);letter-spacing:.4em;color:var(--rose)}
.entry-content blockquote,.wp-block-quote{position:relative;margin-block:1.8em;padding:6px 0 6px 28px;border-left:3px solid var(--rose)}
.wp-block-quote p{font:italic 300 clamp(20px,2vw,24px)/1.45 var(--serif);margin-bottom:.5em}
.wp-block-quote cite,.wp-block-pullquote cite{font:600 14px/1.3 var(--sans);font-style:normal;color:var(--ink-soft)}
.wp-block-pullquote{border:0;padding:clamp(24px,4vw,40px) 0;text-align:center}
.wp-block-pullquote blockquote{border:0;padding:0;margin:0}
.wp-block-pullquote p{font:italic 300 clamp(26px,3.2vw,38px)/1.25 var(--serif)}
.wp-block-pullquote::before{content:"„";display:block;font:400 80px/.6 var(--serif);color:var(--rose)}
.entry-content pre,.entry-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}
.entry-content pre{background:var(--bg2);padding:18px 20px;border-radius:14px;overflow-x:auto}
.entry-content :not(pre)>code{background:var(--bg2);padding:.1em .35em;border-radius:6px}
.entry-content table{width:100%;border-collapse:collapse;font-size:.92em}
.entry-content th,.entry-content td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}
.entry-content th{font-weight:700}
.wp-block-table{overflow-x:auto}
.wp-block-table table{background:var(--paper);border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.wp-block-table thead{border-bottom:2px solid var(--rose)!important}
.wp-block-table th,.wp-block-table td{border:0!important;border-bottom:1px solid var(--line)!important;padding:12px 14px}
.wp-block-table tr:last-child td{border-bottom:0!important}
.wp-block-table th{background:var(--bg2);font-size:.9em}
.wp-block-gallery{gap:12px}
.wp-block-image.is-style-fe-arch img{border-radius:999px 999px 18px 18px;aspect-ratio:4/5;object-fit:cover}
.wp-block-embed iframe{border-radius:16px;width:100%}
.wp-block-buttons{gap:12px}
.has-text-align-center{text-align:center}
.is-style-fe-note{background:color-mix(in srgb,var(--sage) 14%,var(--paper));border-radius:20px;padding:22px 26px!important;border:1px solid var(--line)}
.is-style-fe-note>*:last-child{margin-bottom:0}
.fe-hand{font:600 26px/1.1 var(--hand);color:var(--rose-ink)}
.is-style-fe-cta{background:var(--night);color:var(--night-ink);border-radius:24px;padding:clamp(24px,4vw,40px)!important}
.is-style-fe-cta h2,.is-style-fe-cta h3{color:var(--night-ink);margin-top:0}
.is-style-fe-cta p{color:var(--night-soft)}

.entry-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding:14px 0 clamp(40px,6vw,64px);clear:both}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.tags a{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--bg2);font-size:14px;font-weight:600;text-decoration:none}
.tags a:hover{background:var(--rose-soft)}
.share{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.share-btn{min-height:44px;font-size:15px}
.share-status{margin:0;font-size:14px;color:var(--green-ink);font-weight:700}

/* Anfrage-Band */
.cta-band{background:var(--night);color:var(--night-ink);padding:clamp(48px,7vw,84px) 0;position:relative;overflow:hidden}
.cta-in{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,48px);align-items:center}
.cta-donkey{width:clamp(90px,14vw,170px);height:auto;color:var(--gold)}
html.anim .cta-donkey{transform-origin:50% 100%}
.cta-band .hand{color:#F3C77A}
.cta-band h2{font-size:clamp(30px,4vw,48px);margin-bottom:12px;color:var(--night-ink)}
.cta-band p{color:var(--night-soft);max-width:60ch}
.cta-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.cta-band .btn-line{color:var(--night-ink)}

/* Vor/Zurück, Ähnliche */
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:clamp(40px,6vw,64px)}
.pn{display:flex;flex-direction:column;gap:6px;padding:20px 24px;border:1px solid var(--line);border-radius:20px;background:var(--paper);text-decoration:none;transition:border-color .25s,transform .25s}
.pn:hover{border-color:var(--ink);transform:translateY(-2px)}
.pn small{font-size:13px;font-weight:700;color:var(--ink-soft)}
.pn b{font:400 21px/1.2 var(--serif)}
.pn.next{text-align:right;grid-column:2}
.related{padding:clamp(48px,7vw,80px) 0 clamp(20px,4vw,40px)}
.related>h2{font-size:clamp(30px,4vw,44px);margin-bottom:clamp(22px,3vw,32px)}

/* Kommentare */
.comments{padding:clamp(40px,6vw,64px) 0 clamp(48px,7vw,80px)}
.comments-title,.comment-reply-title{font-size:clamp(26px,3vw,34px);margin-bottom:22px}
.comment-list{list-style:none;margin:0 0 36px;padding:0}
.comment-list ol.children{list-style:none;padding-left:clamp(14px,4vw,40px)}
.comment-body{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px 22px;margin-bottom:14px}
.comment-author{display:flex;align-items:center;gap:10px;font-weight:700}
.comment-author img{border-radius:50%}
.comment-author .says{display:none}
.comment-metadata{font-size:13px;margin:2px 0 10px}
.comment-metadata a{color:var(--ink-soft);text-decoration:none}
.comment-content p:last-child{margin-bottom:0}
.reply a{font-size:14px;font-weight:700;color:var(--rose-ink)}
.comment-awaiting-moderation{font-size:14px;color:var(--ink-soft)}
.comment-form{display:grid;gap:14px}
.comment-form p{margin:0}
.comment-form label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;min-height:50px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--paper);font:inherit;color:inherit}
.comment-form textarea{min-height:140px;resize:vertical}
.comment-form input:focus,.comment-form textarea:focus{border-color:var(--rose);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--rose) 25%,transparent)}
.comment-form .comment-form-cookies-consent{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.comment-form .comment-form-cookies-consent label{font-weight:400;margin:0}
.comment-form-cookies-consent input{margin-top:5px;width:18px;height:18px;accent-color:var(--rose-ink)}
.comment-notes,.logged-in-as{font-size:14px;color:var(--ink-soft)}

/* 404 */
.notfound{text-align:center;padding:clamp(60px,10vw,120px) 0;max-width:640px}
.nf-donkey{width:140px;height:124px;color:var(--rose-ink);margin:0 auto 10px;display:block}
html.anim .nf-donkey{animation:tilt 3s ease-in-out 3}
@keyframes tilt{0%,100%{transform:rotate(0)}50%{transform:rotate(-6deg)}}
.notfound h1{font-size:clamp(40px,6vw,64px);margin-bottom:14px}
.notfound .lead{margin-inline:auto}
.nf-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:26px}

/* ===================================================================
   Fußzeile
   =================================================================== */
.site-footer{background:var(--night);color:var(--night-ink);padding:clamp(56px,7vw,84px) 0 calc(28px + env(safe-area-inset-bottom,0px));position:relative;margin-top:0}
.cta-band+.site-footer,.post-nav~.site-footer{margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(28px,4vw,56px)}
.site-footer .brand svg{color:var(--night-ink)}
.site-footer .brand small{color:#E6A89C}
.site-footer .small{color:var(--night-soft);margin-top:16px;max-width:42ch}
.site-footer .fh{font:700 13px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#F3C77A;margin-bottom:16px}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.site-footer a{color:var(--night-ink);text-decoration:none}
.site-footer a:hover{text-decoration:underline;text-decoration-color:var(--gold)}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:clamp(36px,5vw,56px);padding-top:22px;border-top:1px solid rgba(246,233,226,.16);font-size:14px;color:var(--night-soft)}
.walkline{position:absolute;left:0;right:0;top:-54px;height:56px;overflow:hidden;pointer-events:none}
.walkline svg{position:absolute;bottom:0;left:-80px;width:52px;height:46px;color:var(--night)}
html.anim .walkline.go svg{animation:stroll 26s linear 1 forwards}
@keyframes stroll{to{transform:translateX(calc(100vw + 120px))}}

/* Einblenden beim Scrollen (nur mit JavaScript und erlaubter Bewegung) */
html.anim.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
html.anim.js .reveal.in{opacity:1;transform:none}

/* ===================================================================
   Responsiv
   =================================================================== */
@media (max-width:1060px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .card-big{grid-template-columns:1fr}
  .card-big .card-img{min-height:0;aspect-ratio:16/10}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:first-child{grid-column:1/-1}
}
@media (max-width:640px){
  body{font-size:16px}
  .cards{grid-template-columns:1fr}
  .cta-in{grid-template-columns:1fr}
  .post-nav{grid-template-columns:1fr}
  .pn.next{grid-column:auto;text-align:left}
  .entry-content>.alignleft,.entry-content>.alignright{float:none;max-width:none;margin-inline:auto;width:min(720px,100% - var(--gutter)*2)}
  .entry-foot{flex-direction:column;align-items:flex-start}
  .footer-grid{grid-template-columns:1fr}
  .legal{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media print{
  .site-header,.site-footer,.cta-band,.post-nav,.related,.comments,.share,.progress,.landscape{display:none!important}
  body{background:#fff;color:#000}
}
