/*
Theme Name: Terminkalender
Theme URI: https://terminkalender.net/
Description: Schlankes, schnelles Theme für terminkalender.net – ohne Builder, ohne jQuery, ohne externe Schriften. Arbeitet mit dem Plugin „TK Kalender“.
Version: 1.0.0
Author: Terminkalender.net
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: tk-theme
*/

:root{
  --tk-ink:#1c1917;--tk-muted:#6b6560;--tk-line:#e7e2dc;--tk-surface:#fff;--tk-bg:#faf8f5;
  --tk-accent:#c2410c;--tk-accent-d:#9a3412;--tk-accent-l:#fff1e8;--tk-r:14px;
  --tk-shadow:0 1px 2px rgba(28,25,23,.05),0 4px 16px rgba(28,25,23,.06);
  --tk-font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --tk-wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--tk-bg);color:var(--tk-ink);font:17px/1.65 var(--tk-font);-webkit-font-smoothing:antialiased}
img,svg,video,iframe{max-width:100%;height:auto}
a{color:var(--tk-accent-d);text-underline-offset:3px}
a:hover{color:var(--tk-accent)}
:focus-visible{outline:3px solid var(--tk-accent);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4{line-height:1.25;letter-spacing:-.01em;margin:1.6em 0 .55em;text-wrap:balance}
p{margin:0 0 1.1em}
.tkt-sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tkt-skip{position:absolute;left:-999px;top:0;z-index:100;background:#fff;padding:.6rem 1rem}
.tkt-skip:focus{left:1rem;top:1rem}
.tkt-wrap{max-width:var(--tk-wrap);margin:0 auto;padding:0 20px}
.tkt-narrow{max-width:820px}

/* Kopf */
.tkt-header{background:var(--tk-surface);border-bottom:1px solid var(--tk-line);position:sticky;top:0;z-index:50}
.admin-bar .tkt-header{top:32px}
@media (max-width:782px){.admin-bar .tkt-header{top:0;position:relative}}
.tkt-header-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.tkt-brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--tk-ink)}
.tkt-logo{display:flex}
.tkt-brand-txt{display:flex;flex-direction:column;line-height:1.15}
.tkt-brand-txt strong{font-size:1.15rem;letter-spacing:-.02em}
.tkt-brand-txt small{font-size:.78rem;color:var(--tk-muted)}
.tkt-nav-cb{position:absolute;opacity:0;pointer-events:none}
.tkt-burger{cursor:pointer;width:44px;height:44px;display:grid;place-content:center;gap:5px;border-radius:10px;border:1px solid var(--tk-line)}
.tkt-burger span{display:block;width:20px;height:2px;background:var(--tk-ink);border-radius:2px;transition:transform .2s}
.tkt-nav-cb:checked+.tkt-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.tkt-nav-cb:checked+.tkt-burger span:nth-child(2){opacity:0}
.tkt-nav-cb:checked+.tkt-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.tkt-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--tk-surface);border-bottom:1px solid var(--tk-line);padding:.5rem 20px 1rem;box-shadow:var(--tk-shadow);max-height:calc(100vh - 64px);overflow:auto}
.tkt-nav-cb:checked~.tkt-nav{display:block}
.tkt-menu,.tkt-menu ul{list-style:none;margin:0;padding:0}
.tkt-menu a{display:block;padding:.6rem .25rem;text-decoration:none;color:var(--tk-ink);font-weight:600;border-bottom:1px solid var(--tk-line)}
.tkt-menu .sub-menu a{padding-left:1.25rem;font-weight:400}
.tkt-menu .current-menu-item>a,.tkt-menu .current-menu-ancestor>a{color:var(--tk-accent)}
.tkt-nav .tkt-search{margin-top:.75rem}
.tkt-search-top{display:none}
@media (min-width:1000px){
  .tkt-header-in{flex-wrap:wrap;gap:0 1.5rem;min-height:0;padding-top:.6rem}
  .tkt-search-top{display:block;width:300px}
  .tkt-search-top button{display:none}
  .tkt-burger{display:none}
  .tkt-nav,.tkt-nav-cb:checked~.tkt-nav{display:block;flex-basis:100%;position:static;padding:0;border:0;box-shadow:none;background:none;overflow:visible;max-height:none;margin-top:.35rem}
  .tkt-nav .tkt-search{display:none}
  .tkt-menu{display:flex;flex-wrap:wrap;gap:0;margin:0 -.6rem}
  .tkt-menu>li{position:relative}
  .tkt-menu>li>a{border:0;padding:.55rem .6rem .7rem;font-size:.93rem;white-space:nowrap;border-bottom:3px solid transparent;border-radius:0}
  .tkt-menu>li>a:hover{color:var(--tk-accent-d);border-bottom-color:var(--tk-accent-l)}
  .tkt-menu>.current-menu-item>a,.tkt-menu>.current-menu-ancestor>a,.tkt-menu>.current-menu-parent>a{border-bottom-color:var(--tk-accent)}
  .tkt-menu>li.menu-item-has-children>a::after{content:"";display:inline-block;width:.38em;height:.38em;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);margin:0 0 .2em .45em;opacity:.6}
  .tkt-menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:210px;background:var(--tk-surface);border:1px solid var(--tk-line);border-radius:10px;box-shadow:var(--tk-shadow);padding:.35rem;z-index:5}
  .tkt-menu li:hover>.sub-menu,.tkt-menu li:focus-within>.sub-menu{display:block}
  .tkt-menu .sub-menu a{border:0;padding:.45rem .7rem;border-radius:6px;font-weight:500}
  .tkt-menu .sub-menu a:hover{background:var(--tk-accent-l)}
}
/* Suche */
.tkt-search{display:flex;gap:.4rem}
.tkt-search input{flex:1;min-width:0;font:inherit;font-size:.95rem;padding:.55rem .8rem;border:1px solid var(--tk-line);border-radius:10px;background:var(--tk-bg)}
.tkt-search button,.tkt-btn{font:inherit;font-size:.95rem;font-weight:600;padding:.55rem 1rem;border:0;border-radius:10px;background:var(--tk-accent);color:#fff;cursor:pointer;text-decoration:none;display:inline-block}
.tkt-search button:hover,.tkt-btn:hover{background:var(--tk-accent-d);color:#fff}

/* Startseite */
.tkt-hero{background:linear-gradient(135deg,#7c2d12 0%,#c2410c 55%,#ea580c 100%);color:#fff;padding:2rem 0 2.25rem}
.tkt-hero-in{display:grid;gap:1.5rem}
.tkt-hero-title{font-size:.95rem;font-weight:600;margin:0 0 .35rem;opacity:.9;letter-spacing:.01em}
.tkt-hero-date{font-size:clamp(1.7rem,5.2vw,2.9rem);font-weight:800;line-height:1.1;margin:0 0 1rem;letter-spacing:-.03em}
.tkt-hero-date span{display:block;font-size:.4em;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin-bottom:.2rem}
.tkt-facts{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.tkt-facts li{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:.3rem .8rem;font-size:.88rem}
.tkt-facts strong{margin-right:.2rem}
.tkt-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .5rem;opacity:.85}
.tkt-quick ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
.tkt-quick a{display:block;padding:.6rem .8rem;border-radius:10px;background:#fff;color:var(--tk-accent-d);font-weight:650;font-size:.92rem;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.12);line-height:1.3}
.tkt-quick a:hover{background:var(--tk-accent-l)}
@media (min-width:900px){.tkt-hero{padding:2.75rem 0 3rem}.tkt-hero-in{grid-template-columns:1.4fr 1fr;align-items:end;gap:3rem}}

.tkt-section{margin:2.5rem 0}
.tkt-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.tkt-section-head a{font-weight:600;white-space:nowrap}
.tkt-h2{font-size:clamp(1.3rem,3vw,1.6rem);margin:0 0 1rem}
.tkt-box{background:var(--tk-surface);border:1px solid var(--tk-line);border-radius:var(--tk-r);padding:1.25rem;box-shadow:var(--tk-shadow)}
.tkt-box h2{font-size:1.15rem;margin:0 0 .8rem}
.tkt-aside{display:grid;gap:1.25rem;align-content:start}
.tkt-split{display:grid;gap:1.5rem;margin:2.5rem 0}
.tkt-split .tkt-section{margin:0}
.tkt-month{background:var(--tk-surface);border:1px solid var(--tk-line);border-radius:var(--tk-r);padding:1.25rem;box-shadow:var(--tk-shadow);min-width:0}
@media (min-width:1050px){.tkt-split{grid-template-columns:minmax(0,1fr) 340px}.tkt-aside{position:sticky;top:84px}}
@media (max-width:600px){.tkt-month,.tkt-box{padding:1rem .75rem;border-radius:10px}}

/* „Heute“-Karten im Raster */
.tkt-today .tkk-cards{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.tkt-today .tkk-cards .tkk-item{box-shadow:var(--tk-shadow)}
.tkt-today .tkk-today-box p{color:var(--tk-muted)}
.tkt-aside .tkk-next h2{font-size:1.15rem}
.tkt-aside .tkk-day{grid-template-columns:1fr;gap:.35rem}

/* Karten */
.tkt-cards{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.tkt-card{background:var(--tk-surface);border:1px solid var(--tk-line);border-radius:var(--tk-r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--tk-shadow);transition:transform .15s ease,box-shadow .15s ease}
.tkt-card:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(28,25,23,.06),0 10px 28px rgba(28,25,23,.1)}
.tkt-card-img{display:block;aspect-ratio:16/9;background:var(--tk-accent-l);overflow:hidden}
.tkt-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.tkt-card-ph{display:grid;place-items:center;height:100%;font-size:1.6rem;font-weight:800;color:var(--tk-accent)}
.tkt-card-body{padding:1rem 1.1rem 1.15rem}
.tkt-kicker{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--tk-accent);text-decoration:none;margin-bottom:.3rem}
.tkt-card-title{font-size:1.05rem;margin:0 0 .4rem}
.tkt-card-title a{color:var(--tk-ink);text-decoration:none}
.tkt-card-title a:hover{color:var(--tk-accent-d)}
.tkt-card-title a::after{content:"";position:absolute;inset:0}
.tkt-card{position:relative}
.tkt-card-ex{font-size:.9rem;color:var(--tk-muted);margin:0}
@media (prefers-reduced-motion:reduce){.tkt-card{transition:none}.tkt-card:hover{transform:none}}

/* Beitrag */
.tkt-crumbs{font-size:.85rem;color:var(--tk-muted);margin:1.25rem 0 0}
.tkt-crumbs a{color:var(--tk-muted)}
.tkt-crumbs p{margin:0}
.tkt-article{background:var(--tk-surface);border:1px solid var(--tk-line);border-radius:var(--tk-r);padding:clamp(1.1rem,4vw,2.5rem);margin:1rem 0 2rem;box-shadow:var(--tk-shadow)}
.tkt-article-head{margin-bottom:1.25rem}
.tkt-title{font-size:clamp(1.65rem,4.5vw,2.4rem);margin:.1em 0 .4em;letter-spacing:-.025em}
.tkt-byline{font-size:.88rem;color:var(--tk-muted);margin:0}
.tkt-byline a{color:inherit}
.tkt-hero-img{margin:0 calc(-1 * clamp(1.1rem,4vw,2.5rem)) 1.5rem}
.tkt-hero-img img{width:100%;display:block;max-height:460px;object-fit:cover}
.tkt-hero-img figcaption{font-size:.78rem;color:var(--tk-muted);padding:.4rem clamp(1.1rem,4vw,2.5rem) 0}
.tkt-tags{margin:2rem 0 0;font-size:.85rem;display:flex;flex-wrap:wrap;gap:.35rem}
.tkt-tags a{background:var(--tk-bg);border:1px solid var(--tk-line);border-radius:999px;padding:.15rem .65rem;text-decoration:none;color:var(--tk-muted)}
.tkt-prevnext{display:flex;justify-content:space-between;gap:1rem;margin:2rem 0;font-size:.92rem}
.tkt-prevnext span:last-child{text-align:right}
.tkt-cards-3{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}

/* Fließtext */
.tkt-prose{overflow-wrap:break-word}
.tkt-prose>*:first-child{margin-top:0}
.tkt-prose h2{font-size:clamp(1.35rem,3.4vw,1.7rem);padding-top:.3em}
.tkt-prose h3{font-size:clamp(1.15rem,2.8vw,1.3rem)}
.tkt-prose ul,.tkt-prose ol{padding-left:1.3em;margin:0 0 1.2em}
.tkt-prose li{margin:.25em 0}
.tkt-prose li::marker{color:var(--tk-accent)}
.tkt-prose blockquote,.tkt-prose .wp-block-quote{margin:1.5em 0;padding:1rem 1.25rem;border-left:4px solid var(--tk-accent);background:var(--tk-accent-l);border-radius:0 10px 10px 0}
.tkt-prose blockquote p:last-child{margin:0}
.tkt-prose blockquote cite{font-size:.85rem;color:var(--tk-muted);font-style:normal}
.tkt-prose figure{margin:1.5em 0}
.tkt-prose img{border-radius:10px}
.tkt-prose figcaption,.wp-element-caption{font-size:.82rem;color:var(--tk-muted);margin-top:.4rem;text-align:center}
.tkt-prose hr,.wp-block-separator{border:0;border-top:1px solid var(--tk-line);margin:2.25em 0}
.tkt-prose .wp-block-table{overflow-x:auto;margin:1.5em 0}
.tkt-prose table{width:100%;border-collapse:collapse;font-size:.95rem;background:var(--tk-surface)}
.tkt-prose th,.tkt-prose td{padding:.6rem .75rem;border:1px solid var(--tk-line);text-align:left;vertical-align:top}
.tkt-prose thead th,.tkt-prose tr:first-child th{background:var(--tk-accent-l)}
.tkt-prose tbody tr:nth-child(even) td{background:#fcfbf9}
.tkt-prose .has-fixed-layout{table-layout:fixed}
@media (max-width:600px){.tkt-prose .has-fixed-layout{table-layout:auto}.tkt-prose table{font-size:.88rem}.tkt-prose th,.tkt-prose td{padding:.45rem .5rem}}
.tkt-prose .wp-block-embed{margin:1.5em 0}
.tkt-prose .aligncenter{margin-left:auto;margin-right:auto;text-align:center}
.tkt-prose .alignleft{float:left;margin:.3em 1.25em 1em 0}
.tkt-prose .alignright{float:right;margin:.3em 0 1em 1.25em}
@media (max-width:600px){.tkt-prose .alignleft,.tkt-prose .alignright{float:none;margin:1em auto}}
.tkt-prose .schema-section{margin:1.5em 0}
.tkt-prose code{background:var(--tk-bg);padding:.1em .35em;border-radius:4px;font-size:.9em}

/* Archive */
.tkt-archive-head{margin:1.5rem 0 1.5rem}
.tkt-archive-desc{color:var(--tk-muted);max-width:760px}
.tkt-archive-cal{margin-bottom:2rem}
.tkt-archive-cal .tkk-next h2{font-size:1.2rem}
.tkt-empty{color:var(--tk-muted)}
.tkt-pagination,.navigation.pagination{margin:2.5rem 0}
.nav-links{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}
.page-numbers{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 .8rem;border:1px solid var(--tk-line);border-radius:10px;background:var(--tk-surface);text-decoration:none;color:var(--tk-ink)}
.page-numbers.current{background:var(--tk-accent);border-color:var(--tk-accent);color:#fff}
.tkt-404{padding:3rem 20px}
.tkt-404 .tkt-search{margin:1.5rem 0}

/* Kommentare */
.tkt-comments{margin:2rem 0}
.tkt-comment-list{list-style:none;padding:0}
.tkt-comment-list .comment-body{background:var(--tk-surface);border:1px solid var(--tk-line);border-radius:10px;padding:1rem;margin-bottom:.75rem}
.comment-form input:not([type=checkbox]):not([type=submit]),.comment-form textarea{width:100%;font:inherit;padding:.6rem .75rem;border:1px solid var(--tk-line);border-radius:10px}
.comment-form .submit{font:inherit;font-weight:600;padding:.6rem 1.1rem;border:0;border-radius:10px;background:var(--tk-accent);color:#fff;cursor:pointer}

/* Fuß */
.tkt-footer{background:#1c1917;color:#d6d3d1;margin-top:3.5rem;padding:2.5rem 0 1rem;font-size:.92rem}
.tkt-footer a{color:#fafaf9;text-decoration:none}
.tkt-footer a:hover{color:#fdba74;text-decoration:underline}
.tkt-footer-grid{display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.tkt-footer-h{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#a8a29e;margin:0 0 .6rem}
.tkt-footer-list{list-style:none;margin:0;padding:0}
.tkt-footer-list li{margin:.3rem 0}
.tkt-footer-brand{margin:0;color:#a8a29e}
.tkt-footer-brand strong{color:#fafaf9;font-size:1.05rem}
.tkt-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;border-top:1px solid #3a3532;margin-top:2rem;padding-top:1rem;font-size:.82rem;color:#a8a29e}

@media print{.tkt-header,.tkt-footer,.tkt-aside,.tkt-prevnext,.tkt-comments{display:none}.tkt-article{border:0;box-shadow:none}}
