/*
Theme Name: Seligenstadt Kompakt
Theme URI: https://seligenstadt-kompakt.de/
Author: Seligenstadt Kompakt
Description: Eigenes, mobiles Magazin-Theme fuer Seligenstadt, Froschhausen und Klein-Welzheim.
Version: 2.0.1
Text Domain: seligenstadt-kompakt
*/
:root{--red:#780f18;--warm:#f4f0e8;--cream:#e7d8c4;--ink:#24272a;--muted:#62686c;--line:#d8d1c5;--white:#fff;--max:1180px;--radius:8px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--warm);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.55}
img{max-width:100%;height:auto}
a{color:var(--red)}
a:focus-visible,button:focus-visible{outline:3px solid var(--cream);outline-offset:3px}
.shell{width:100%;max-width:var(--max);margin:auto;padding:0 24px}
.site-header{background:var(--warm);border-bottom:1px solid var(--line)}
.header-inner{display:flex;gap:38px;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}
.brand{display:block;flex:0 1 540px;width:min(540px,100%);line-height:0}
.brand img{display:block;width:100%;height:auto}
.header-search{flex:0 1 330px}
.search-form{display:flex;width:100%;border:1px solid var(--line);background:var(--white)}
.search-field{min-width:0;flex:1;padding:10px 12px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:.84rem}
.search-field:focus{outline:0;box-shadow:inset 0 0 0 2px rgba(120,15,24,.2)}
.search-submit{padding:10px 15px;border:0;background:var(--red);color:var(--warm);font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}
.search-submit:hover{background:#5f0b12}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-nav{background:var(--red);color:var(--warm)}
.site-nav ul{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:8px;margin:0;padding:0;list-style:none}
.site-nav li{margin:0}
.site-nav a{display:block;padding:15px 4px;color:var(--warm);font-size:.78rem;font-weight:800;line-height:1.2;text-decoration:none;white-space:nowrap}
.site-nav a:hover,.site-nav .current-menu-item>a,.site-nav .current-post-ancestor>a{background:rgba(244,240,232,.14)}
.today-section{padding:36px 0;background:var(--red);color:var(--warm);border-top:1px solid rgba(244,240,232,.2)}
.today-heading{margin-bottom:20px}
.today-heading h1{margin:0;font-size:clamp(2rem,5vw,3.4rem);line-height:1;letter-spacing:-.045em}
.kicker{margin:0 0 9px;font-size:.73rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.today-grid{display:grid;grid-template-columns:1fr;gap:25px}
.today-item{padding-top:15px;border-top:1px solid rgba(244,240,232,.55)}
.today-item h2{margin:0 0 7px;font-size:1.05rem;line-height:1.2}
.today-content p{margin:0;font-size:.9rem}
.today-content a{color:var(--warm)}
.today-content ul{margin:7px 0 0;padding-left:20px}
.today-content li{margin:3px 0;font-size:.9rem}
.today-content,.today-content *{overflow-wrap:anywhere}
.today-content,.today-content h1,.today-content h2,.today-content h3,.today-content h4,
.today-content p,.today-content li,.today-content span,.today-content strong{color:var(--warm)!important}
.sk-traffic-accordion{display:grid;gap:9px}
.sk-traffic-notice{border:1px solid rgba(244,240,232,.5);background:rgba(255,255,255,.05)}
.sk-traffic-notice summary{display:grid;grid-template-columns:24px minmax(0,1fr) 12px;gap:10px;align-items:center;min-height:50px;padding:10px 13px;cursor:pointer;font-size:.9rem;font-weight:800;line-height:1.25;list-style:none}
.sk-traffic-notice summary::-webkit-details-marker{display:none}
.sk-traffic-notice summary:hover{background:rgba(255,255,255,.08)}
.sk-traffic-bell{display:flex;align-items:center;justify-content:center}
.sk-traffic-bell svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sk-traffic-chevron{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .18s ease}
.sk-traffic-notice[open] .sk-traffic-chevron{transform:rotate(225deg)}
.sk-traffic-detail-panel{padding:2px 49px 14px;font-size:.86rem;line-height:1.5}
.sk-traffic-detail-panel .sk-traffic-detail{display:inline}
.sk-traffic-detail-panel small{white-space:nowrap}
.sk-traffic-detail-panel a{font-weight:800}
.today-events .sk-event-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.today-events .sk-event-card{height:100%;background:var(--white)}
.today-events .sk-event-card h3,.today-events .sk-event-card h3 a{color:var(--ink)!important}
.today-events .sk-event-card h3 a:hover,.today-events .sk-event-card h3 a:focus{color:var(--red)!important}
.today-events .sk-event-when,.today-events .sk-event-when *{color:var(--red)!important}
.today-events .sk-event-venue,.today-events .sk-event-venue *{color:var(--muted)!important}
.sk-plugin-widget h3{margin:0 0 6px;font-size:1rem}
.sk-plugin-widget p:last-child{margin-bottom:0}
.section{padding:44px 0}
.important-section{background:var(--white)}
.portrait-section{background:var(--cream)}
.portrait-card{background:rgba(255,255,255,.52);padding:22px}
.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:20px}
.section-heading h2{margin:0;font-size:1.6rem;line-height:1.15;letter-spacing:-.03em}
.section-heading h2:after{content:"";display:block;width:64px;height:4px;margin-top:9px;background:var(--red)}
.lead-card{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}
.lead-image,.card-image{display:block;line-height:0;overflow:hidden;background:var(--cream)}
.post-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.lead-copy{padding:8px 0}
.lead-copy h2{margin:6px 0 12px;font-size:clamp(2rem,4vw,3rem);line-height:1.04;letter-spacing:-.045em}
.lead-copy h2 a,.card h3 a{color:var(--ink);text-decoration:none}
.lead-copy h2 a:hover,.card h3 a:hover{color:var(--red)}
.lead-copy>p:not(.topic-tag){margin:0 0 18px}
.read{font-size:.9rem;font-weight:800;color:var(--red);text-decoration:none}
.topic-tag{margin:0;color:var(--red);font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.card{display:flex;min-width:0;flex-direction:column;background:var(--white);box-shadow:0 5px 16px rgba(36,39,42,.07);transition:transform .18s ease,box-shadow .18s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 11px 25px rgba(36,39,42,.12)}
.card-copy{display:flex;flex:1;flex-direction:column;padding:19px 20px 21px}
.card h3{margin:8px 0 9px;font-size:1.2rem;line-height:1.17;letter-spacing:-.025em}
.card-copy>p:not(.topic-tag):not(.date){margin:0;color:#4d555a;font-size:.88rem}
.card .date{margin:auto 0 0;padding-top:14px;color:var(--muted);font-size:.76rem}
.card-empty{opacity:.78}
.card-empty:hover{transform:none;box-shadow:0 5px 16px rgba(36,39,42,.07)}
.editorial-group{padding-top:38px;padding-bottom:38px;border-top:1px solid rgba(216,209,197,.72)}
.category-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.category-story-block{display:flex;min-width:0;flex-direction:column}
.category-heading{min-height:62px;margin-bottom:16px;align-items:flex-start}
.category-heading h2 a{color:var(--ink);text-decoration:none}
.category-heading h2 a:hover,.category-heading h2 a:focus{color:var(--red)}
.category-story-card{flex:1}
.category-story-card .card-copy{padding-top:17px}
.category-story-card h3{font-size:1.32rem}
.obituary-section{background:#eee8df;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.obituary-shell{max-width:920px}
.obituary-feature-card,.obituary-card{overflow:hidden;border:1px solid var(--line);background:var(--white);box-shadow:0 5px 16px rgba(36,39,42,.06)}
.obituary-image-link{display:block;line-height:0;background:#f8f6f1}
.post-image.obituary-image{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;background:#f8f6f1}
.obituary-content-preview{padding:24px;background:#f8f6f1;overflow-wrap:anywhere}
.obituary-content-preview img{display:block;max-width:100%;height:auto;margin:auto}
.obituary-copy{padding:20px 24px 24px}
.obituary-copy h2,.obituary-copy h3{margin:0 0 8px;font-size:1.45rem;line-height:1.2;letter-spacing:-.025em}
.obituary-copy h2 a,.obituary-copy h3 a{color:var(--ink);text-decoration:none}
.obituary-copy h2 a:hover,.obituary-copy h3 a:hover{color:var(--red)}
.obituary-copy .date{margin:0 0 13px;color:var(--muted);font-size:.78rem}
.obituary-more{display:inline-flex;min-height:46px;margin-top:20px;padding:11px 18px;align-items:center;justify-content:center;background:var(--red);color:var(--warm);font-size:.88rem;font-weight:800;text-decoration:none}
.obituary-more:hover,.obituary-more:focus{background:#5f0b12;color:var(--white)}
.obituary-archive-list{display:grid;max-width:840px;margin:0 auto;gap:32px}
.obituary-single{max-width:920px}
.obituary-single .article-header{border-bottom-color:var(--line)}
.obituary-single-image{max-width:840px;background:#f8f6f1}
.obituary-enlarge{margin:-10px 0 24px;font-size:.86rem;font-weight:800}
.obituary-enlarge a{display:inline-flex;min-height:44px;align-items:center}
.sk-obituary-view .article-content{max-width:840px}
.sk-obituary-view .article-content img{max-width:100%;height:auto}
.topics-section{background:var(--white)}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.topic-card{display:block;padding:18px;border:1px solid var(--line);border-left:5px solid var(--red);background:var(--warm);color:var(--ink);font-weight:800;text-decoration:none}
.topic-card:hover{border-color:var(--red);color:var(--red)}
.calendar-teaser{background:var(--cream)}
.calendar-teaser-inner{display:flex;justify-content:space-between;gap:28px;align-items:center}
.calendar-teaser h2{margin:5px 0 4px;font-size:1.7rem;line-height:1.15}
.calendar-teaser p:not(.topic-tag){margin:0}
.calendar-link{display:inline-block;padding:11px 16px;background:var(--red);color:var(--warm);font-size:.86rem;font-weight:800;text-decoration:none;white-space:nowrap}
.archive-head{padding:48px 0 18px}
.archive-head h1{margin:0;font-size:clamp(2.25rem,5vw,3.7rem);line-height:1;letter-spacing:-.05em}
.archive-cards{align-items:stretch}
.pagination{margin-top:34px}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pagination .page-numbers{display:inline-flex;min-width:42px;min-height:42px;padding:8px 12px;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--white);color:var(--red);font-size:.86rem;font-weight:800;text-decoration:none}
.pagination .page-numbers.current,.pagination a.page-numbers:hover{border-color:var(--red);background:var(--red);color:var(--warm)}
.article{width:100%;max-width:var(--max);margin:0 auto;padding:48px 24px 72px}
.article-header{padding-bottom:27px;margin-bottom:29px;border-bottom:1px solid var(--line)}
.article h1{max-width:1040px;margin:9px 0 17px;font-size:clamp(2.25rem,4.2vw,3.3rem);line-height:1.08;letter-spacing:-.04em}
.article .intro{max-width:900px;margin:0;font-size:1.18rem;line-height:1.48}
.article-meta{margin:18px 0 0;color:var(--muted);font-size:.82rem}
.article-image{max-width:980px;margin:28px 0 23px}
.article-image figcaption{margin-top:7px;color:var(--muted);font-size:.75rem}
.article-content{max-width:780px}
.article-content h2,.page-content h2{margin-top:39px;font-size:1.48rem;line-height:1.15;letter-spacing:-.03em}
.article-content p,.article-content li,.page-content p,.page-content li{max-width:760px}
.article-content ul,.page-content ul{padding-left:21px}
.article-content .sk-originalunterlagen{margin-top:45px;padding:22px 24px;border-left:5px solid var(--red);background:var(--white)}
.article-content .sk-originalunterlagen h2{margin:0 0 9px;font-size:1.1rem}
.event-single{max-width:920px}
.event-single .article-header{padding-bottom:0;margin-bottom:27px;border-bottom:0}
.event-single h1{max-width:880px}
.event-single .article-content{max-width:none}
.event-single .article-meta{margin-top:24px}
.event-image{max-width:none;margin:28px 0 0}
.sk-event-details{padding:25px 28px;border-top:5px solid var(--red);background:var(--white);box-shadow:0 5px 16px rgba(36,39,42,.07)}
.sk-event-details dl{display:grid;gap:0;margin:0}
.sk-event-details dl>div{display:grid;grid-template-columns:minmax(110px,150px) minmax(0,1fr);gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}
.sk-event-details dl>div:first-child{padding-top:0}
.sk-event-details dl>div:last-child{padding-bottom:0;border-bottom:0}
.sk-event-details dt{color:var(--red);font-weight:800}
.sk-event-details dd{min-width:0;margin:0;overflow-wrap:anywhere}
.sk-event-actions{display:flex;gap:12px 18px;align-items:center;flex-wrap:wrap;max-width:none!important;margin:25px 0 0!important;padding-top:20px;border-top:1px solid var(--line)}
.sk-event-actions a{font-weight:700}
.sk-event-actions .sk-event-ics{display:inline-block;padding:10px 15px;background:var(--red);color:var(--warm);text-decoration:none}
.sk-event-actions .sk-event-ics:hover,.sk-event-actions .sk-event-ics:focus{background:#5f0b12}
.sk-mid-article-ad{max-width:760px;margin:38px 0;padding:15px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.sk-ad-label{display:block;margin-bottom:8px;color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.share{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:23px 0}
.share strong{font-size:.9rem}
.share button{padding:10px 15px;border:0;background:var(--red);color:var(--warm);font:inherit;font-size:.86rem;font-weight:800;cursor:pointer}
.share button:hover{background:#5f0b12}
.page{width:100%;max-width:var(--max);margin:0 auto;padding:50px 24px 72px}
.page>h1{margin:0 0 30px;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1;letter-spacing:-.05em}
.page-content{max-width:780px}
.calendar-page-intro{max-width:720px;font-size:1.08rem}
.calendar-plugin-area{width:100%;margin-top:26px;overflow-x:auto;overflow-wrap:anywhere;-webkit-overflow-scrolling:touch}
.calendar-plugin-area>*,.calendar-plugin-area img{max-width:100%}
.calendar-plugin-area table{width:100%;border-collapse:collapse}
.empty{padding:26px;border-left:5px solid var(--red);background:var(--white)}
.site-footer{padding:36px 0;background:var(--ink);color:var(--warm)}
.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}
.footer-brand{display:flex;align-items:center}
.footer-brand p{margin:3px 0 0;color:#d8d4cb;font-size:.8rem}
.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 17px}
.footer-links a{color:var(--warm);font-size:.82rem}
@media(max-width:1100px){.site-nav{overflow-x:auto;-webkit-overflow-scrolling:touch}.site-nav ul{width:max-content;max-width:none;justify-content:flex-start;gap:7px;padding:0 18px}.site-nav a{padding-right:8px;padding-left:8px}}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-card{grid-template-columns:1fr}.lead-copy{padding-bottom:8px}.footer-inner{align-items:flex-start;flex-direction:column}.footer-links{justify-content:flex-start}}
@media(max-width:760px){.today-events .sk-event-list,.category-blocks{grid-template-columns:1fr}.category-heading{min-height:0}.obituary-shell{max-width:none}}
@media(max-width:680px){body{font-size:17px}.shell{padding:0 17px}.header-inner{gap:12px;align-items:stretch;flex-direction:column;padding-top:10px;padding-bottom:12px}.brand{flex:0 0 auto;width:min(460px,100%)}.header-search{width:100%;flex-basis:auto}.nav-shell{padding:0}.site-nav ul{padding:0 7px}.site-nav a{padding:12px 9px;font-size:.7rem}.today-section{padding:28px 0}.today-grid{gap:19px}.section{padding:34px 0}.cards,.topic-grid{grid-template-columns:1fr}.lead-copy h2{font-size:2rem}.portrait-card{padding:14px}.calendar-teaser-inner{align-items:flex-start;flex-direction:column}.article{padding:37px 17px 58px}.article h1{font-size:2.3rem;line-height:1.08}.sk-event-details{padding:20px}.sk-event-details dl>div{grid-template-columns:1fr;gap:3px;padding:12px 0}.sk-event-actions{align-items:stretch;flex-direction:column}.sk-event-actions .sk-event-ics{text-align:center}.page{padding:38px 17px 58px}.calendar-plugin-area table{min-width:560px}.footer-links{display:grid;grid-template-columns:1fr 1fr}.obituary-copy{padding:17px}.obituary-more{width:100%;margin-top:16px}.obituary-feature-card,.obituary-card{box-shadow:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.card{transition:none}}
