/*
Theme Name: CeEsVau Theme
Description: Neues klassisches WordPress-Theme.
Author: Site Owner
Version: 1.2.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: ceesvau-theme-deutsch
*/

:root{--hh:90px; --cw:1180px; --tx:#1f2937; --mut:#6b7280; --bd:#e5e7eb; --bg:#ffffff; --hbg:#ffffff; --fbg:#f7f7f7;}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",Arial,sans-serif;color:var(--tx);background:var(--bg);line-height:1.65}
a{color:inherit}
img{max-width:100%;height:auto}
.hdr{height:var(--hh);background:var(--hbg);border-bottom:1px solid var(--bd);display:flex;align-items:center;position:relative;z-index:20}
.wrap{width:min(var(--cw),calc(100% - 40px));margin:0 auto}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;height:100%}
.logo{display:flex;align-items:center;min-width:0}
.logo img{display:block;max-height:calc(var(--hh) - 20px);width:auto}
.brand{text-decoration:none;font-weight:700;font-size:1.25rem;white-space:nowrap}
.ad{margin-left:auto;text-align:right;max-width:65%;overflow:hidden}
.ad>*:first-child{margin-top:0}
.ad>*:last-child{margin-bottom:0}
.hero{position:relative;min-height:380px;background:#1f2937 center/cover no-repeat;display:flex;align-items:center;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.58),rgba(0,0,0,.12));z-index:1}
.hero::after{content:"";position:absolute;inset:-8px;background:inherit;background-position:center;background-size:cover;filter:blur(5px);transform:scale(1.03);z-index:0;pointer-events:none}
.hero.noimg{min-height:190px;background:#303743}
.hero .wrap{position:relative;z-index:2;padding:0;color:#fff}
.hero h1{margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1.08;text-wrap:balance;text-shadow:1px 1px 2px rgba(0,0,0,.8)}
.desc{max-width:800px;margin:16px 0 0;font-size:1.06rem}
.main{width:min(var(--cw),calc(100% - 40px));margin:0 auto;padding:48px 0 64px}
.main>*:first-child{margin-top:0}
.main h2,.main h3,.main h4{line-height:1.25}
.list{display:grid;gap:28px}
.card{border:1px solid var(--bd);border-radius:12px;padding:24px;background:#fff}
.card h2{margin:0 0 10px;font-size:1.55rem}
.card h2 a{text-decoration:none}
.meta{font-size:.9rem;color:var(--mut);margin-bottom:12px}
.empty{padding:32px;border:1px solid var(--bd);border-radius:12px;background:#fafafa}
.pager{margin-top:36px}
.pager .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.pager a,.pager span{padding:8px 12px;border:1px solid var(--bd);border-radius:6px;text-decoration:none}
.pager .current{font-weight:700}
.foot{background:var(--fbg);border-top:1px solid var(--bd)}
.foot .wrap{padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.94rem}
.legal{display:flex;gap:18px;flex-wrap:wrap}
.legal a{text-decoration:none}
.cnt {max-width:1100px;margin:0 auto;font-family:inherit;color:#262626;line-height:1.65}
.cnt .summary {position:relative;z-index:5;max-width:1100px;margin:-94px auto 42px;padding:16px;background:#fefefe;border:1px solid #d4d6d4;border-radius:14px;box-shadow:0 8px 22px rgba(0,0,0,.16)}
.cnt .entry {display:grid;grid-template-columns:74px 105px minmax(0,1fr) 280px;min-height:112px;background:#fefefe;border:1px solid #d3d5d3}
.cnt .entry + .entry {margin-top:-1px}
.cnt .index, .cnt .media, .cnt .details, .cnt .actions {min-width:0;padding:10px 12px}
.cnt .index {display:flex;align-items:center;justify-content:center;border-right:1px solid #d3d5d3}
.cnt .badge {width:45px;height:62px;display:flex;align-items:flex-start;justify-content:center;padding-top:8px;box-sizing:border-box;background-image:url("/wapp.webp");background-repeat:no-repeat;background-position:center top;background-size:contain;color:#fefefe;font-size:20px;line-height:1;font-weight:700}
.cnt .media {display:flex;align-items:center;justify-content:center;border-right:1px solid #d3d5d3}
.cnt .media img {max-width:76px;max-height:76px;width:auto;height:auto;object-fit:contain}
.cnt .details {display:flex;align-items:flex-start;justify-content:flex-start;padding-top:14px;border-right:1px solid #d3d5d3}
.cnt .entry .title {margin:0;color:#111111;font-size:21px;line-height:1.36;font-weight:700}
.cnt .actions {display:flex;align-items:flex-start;justify-content:flex-start;gap:6px;padding-top:14px}
.cnt .button {display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:38px;padding:3px 20px 0;background:#f4cf18;color:#111111!important;border:0;border-radius:999px;text-decoration:none!important;text-align:center;white-space:nowrap;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.1;font-weight:500;letter-spacing:0;box-shadow:none}
.cnt .button:hover {background:#e8c40f;color:#111111!important;border:0}
.cnt .button:focus-visible {outline:2px solid #846b08;outline-offset:2px}
.cnt .meta .button {max-width:none;width:auto}
.cnt .entry:not(:has(.media img)) {grid-template-columns:74px minmax(0,1fr) 280px}
.cnt .entry:not(:has(.media img)) .media {display:none}
.cnt .card-head:not(:has(.image img)) {grid-template-columns:1fr}
.cnt .card-head:not(:has(.image img)) .image {display:none}
@media (max-width: 980px) {
.cnt .summary { margin-top: -60px; }
.cnt .entry { grid-template-columns: 66px 90px minmax(0, 1fr); }
.cnt .entry:not(:has(.media img)) { grid-template-columns: 66px minmax(0, 1fr); }
.cnt .details { border-right: 0; }
.cnt .actions { grid-column: 2 / 4; padding-top: 0; padding-bottom: 14px; }
.cnt .entry:not(:has(.media img)) .actions { grid-column: 2 / 3; }
.cnt .entry .title { font-size: 18px; }
}
@media (max-width: 640px) {
.cnt .summary { margin-top: -36px; padding: 10px; border-radius: 10px; }
.cnt .entry { grid-template-columns: 54px 78px minmax(0, 1fr); min-height: 0; }
.cnt .entry:not(:has(.media img)) { grid-template-columns: 54px minmax(0, 1fr); }
.cnt .index, .cnt .media, .cnt .details, .cnt .actions { padding: 10px; }
.cnt .badge { width: 31px; height: 50px; padding-top: 8px; font-size: 15px; }
.cnt .media img { max-width: 58px; max-height: 58px; }
.cnt .entry .title { font-size: 16px; }
.cnt .button { padding: 8px 11px; font-size: 12px; white-space: normal; }
.cnt .actions { grid-column: 1 / -1; padding-top: 0; justify-content: flex-start; }
.cnt .entry:not(:has(.media img)) .actions { grid-column: 1 / -1; }
}
.cnt .intro {margin:35px 0 45px;padding:25px 30px;background:#f4f7f3;border-left:5px solid #347a38;border-radius:4px;font-size:17px}
.cnt .intro p {margin:0}
.cnt .list > h2 {margin:50px 0 30px;font-size:34px}
.cnt .card {position:relative;margin:0 0 55px;padding:35px;background:#fefefe;border:1px solid #dedfdf;border-radius:8px;box-shadow:0 3px 15px rgba(0,0,0,.05)}
.cnt .card > h3 {margin:0 0 30px 40px;font-size:26px;line-height:1.3}
.cnt .card-head {display:grid;grid-template-columns:300px 1fr;gap:35px;align-items:center;margin-bottom:30px}
.cnt .image {min-height:260px;display:flex;align-items:center;justify-content:center}
.cnt .image img {max-width:100%;max-height:260px;width:auto;height:auto;object-fit:contain}
.cnt .meta {font-size:16px}
.cnt .meta .button {max-width:none;width:auto}
.cnt .text {margin:25px 0}
.cnt .text p {display:block;margin:0 0 16px!important}
@media (max-width: 900px) {
.cnt .card-head { grid-template-columns: 220px 1fr; }
.cnt .card-head:not(:has(.image img)) { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
.cnt { width: 100%; }
.cnt .intro { padding: 20px; font-size: 16px; }
.cnt .card { padding: 25px 18px; }
.cnt .card > h3 { margin: 45px 0 25px; font-size: 22px; }
.cnt .card-head { grid-template-columns: 1fr; gap: 15px; }
.cnt .image { min-height: auto; }
.cnt .meta .button { max-width: none; width: auto; }
}
@media (max-width: 768px) {
.cnt { width: 100%; max-width: 100%; overflow-x: hidden; }
.cnt .summary { width: calc(100% - 24px); max-width: none; margin-top: -42px; margin-left: 12px; margin-right: 12px; margin-bottom: 34px; padding: 9px; border-radius: 10px; box-sizing: border-box; }
.cnt .entry { grid-template-columns: 50px 76px minmax(0, 1fr); min-height: 0; }
.cnt .entry:not(:has(.media img)) { grid-template-columns: 50px minmax(0, 1fr); }
.cnt .index, .cnt .media, .cnt .details, .cnt .actions { padding: 9px; }
.cnt .badge { width: 30px; height: 49px; padding-top: 8px; font-size: 14px; }
.cnt .media img { max-width: 58px; max-height: 58px; }
.cnt .details { align-items: center; padding-top: 10px; padding-bottom: 10px; border-right: 0; }
.cnt .entry .title { font-size: 16px; line-height: 1.28; overflow-wrap: anywhere; hyphens: auto; }
.cnt .actions { grid-column: 1 / -1; align-items: center; justify-content:flex-start; padding-top: 8px; padding-bottom: 10px; border-top: 1px solid #e8eae8; }
.cnt .button { max-width: 100%; padding: 8px 11px; white-space: normal; font-size: 12px; line-height: 1.25; }
.cnt .intro { margin: 28px 12px 36px; padding: 18px 16px; font-size: 15px; line-height: 1.55; }
.cnt .list { padding-left: 12px; padding-right: 12px; }
.cnt .list > h2 { margin-top: 38px; margin-bottom: 22px; font-size: 26px; line-height: 1.2; }
.cnt .card { margin-bottom: 34px; padding: 22px 16px; border-radius: 7px; }
.cnt .card > h3 { margin-top: 40px; margin-left: 0; margin-bottom: 22px; font-size: 21px; line-height: 1.25; overflow-wrap: anywhere; hyphens: auto; }
.cnt .card-head { grid-template-columns: 1fr; gap: 14px; margin-bottom: 22px; }
.cnt .image { min-height: auto; padding: 4px 0 8px; }
.cnt .image img { max-height: 220px; }
.cnt .meta { font-size: 15px; }
.cnt .meta .button { width: auto; max-width: 100%; margin-top: 14px; }
.cnt .text { margin: 20px 0; font-size: 15px; }
}
@media (max-width: 420px) {
.cnt .summary { margin-top: -30px; width: calc(100% - 16px); margin-left: 8px; margin-right: 8px; padding: 7px; }
.cnt .entry { grid-template-columns: 44px 66px minmax(0, 1fr); }
.cnt .entry:not(:has(.media img)) { grid-template-columns: 44px minmax(0, 1fr); }
.cnt .index, .cnt .media, .cnt .details, .cnt .actions { padding: 7px; }
.cnt .badge { width: 27px; height: 44px; padding-top: 7px; font-size: 13px; }
.cnt .media img { max-width: 50px; max-height: 50px; }
.cnt .entry .title { font-size: 15px; }
.cnt .button { font-size: 12px; padding: 8px 10px; }
.cnt .intro, .cnt .list { margin-left: 8px; margin-right: 8px; }
.cnt .list { padding-left: 0; padding-right: 0; }
.cnt .card { padding: 20px 14px; }
}
.cnt .text p{display:block;margin:0 0 16px!important}.cnt .text p:last-child{margin-bottom:0!important}

/* Homepage image grid: 3 columns on desktop, responsive on mobile, title overlay */
.home-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:42px 0}
.home-link-card{position:relative;display:block;min-width:0;aspect-ratio:4/3;overflow:hidden;background:#666;text-decoration:none;border-radius:2px}
.home-link-card-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.home-link-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(45,45,45,.78) 0,rgba(55,55,55,.48) 24%,rgba(55,55,55,0) 52%);pointer-events:none}
.home-link-card-title{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:16px 18px;color:#fff;font-size:clamp(1.05rem,1.7vw,1.35rem);font-weight:700;line-height:1.25;text-shadow:0 1px 4px rgba(0,0,0,.75);overflow-wrap:anywhere}
.home-link-card:hover .home-link-card-image,.home-link-card:focus-visible .home-link-card-image{transform:scale(1.025)}
.home-link-card:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.home-link-card.no-image{min-height:220px}
.home-extra-content{margin:42px 0 0}
.home-extra-content>*:first-child{margin-top:0}
.home-extra-content>*:last-child{margin-bottom:0}
@media(max-width:700px){
.home-link-grid{grid-template-columns:1fr;gap:16px;margin:32px 0}
.home-link-card{aspect-ratio:16/10}
.home-link-card-title{padding:15px 16px;font-size:1.15rem}
.home-extra-content{margin-top:32px}
}

