/*
Theme Name: Feuerwehr Großneuhausen
Version: 3.0
Description: Website der Freiwilligen Feuerwehr Großneuhausen.
*/
@font-face{font-family:Barlow;src:url(assets/barlow-bold.ttf) format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--ink:#191b1c;--red:#d92d28;--paper:#f7f6f2;--line:#d7d6d1}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none} a:hover{text-decoration:underline;text-underline-offset:4px}
a:focus-visible,button:focus-visible{outline:3px solid #ed9e35;outline-offset:4px}
svg{width:20px;height:20px;flex:none}
.wrap{width:min(calc(100% - 11vw),1240px);margin:auto}
header,footer{background:#17191a;color:white}
header{position:relative;z-index:4}
.head,.brand,.head nav,.emergency,.actions,.button,.location,.kicker,.sectionhead,.textlink,.foot,.foot div,.report small,.circle{display:flex;align-items:center}
.head{height:82px;gap:36px}
.brand{gap:12px;margin-right:auto}.brand:hover{text-decoration:none}.brand img{width:42px;height:52px;object-fit:contain}
.brand span,.brand strong{display:block;text-transform:uppercase;line-height:1.02;font-family:Barlow,sans-serif}
.brand span{font-size:16px;letter-spacing:.65px}.brand strong{font-size:24px;letter-spacing:.1px}
.head nav{gap:clamp(18px,2.2vw,35px);height:100%;font-size:14px;font-weight:600}
.head nav a{height:100%;display:grid;align-items:center;position:relative}
.head nav a[aria-current]:after{content:'';position:absolute;bottom:18px;width:24px;height:3px;background:#ef4239}
.emergency{border:1px solid #be4a43;padding:8px 14px;gap:6px;font-weight:bold;font-size:14px;color:#fff}.emergency svg{color:#ff655b;width:16px}
.toggle{display:none;background:transparent;border:0;color:white;padding:8px}
.hero{position:relative;isolation:isolate;overflow:hidden;background:#161a1d;color:white;border-bottom:5px solid var(--red)}
.hero-photo{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#15191c 1%,rgba(19,24,27,.95) 17%,rgba(19,24,27,.7) 37%,rgba(18,22,25,.12) 65%),linear-gradient(0deg,rgba(10,13,15,.69),transparent 35%),url(assets/hero.jpg);background-size:cover,cover,94% auto;background-position:center,center,calc(100% + 16vw) 52%;background-repeat:no-repeat}
.hero-inner{position:relative;padding:clamp(50px,5vw,78px) 0 68px}
.kicker,.location,.tag,.report time span,.back{font:700 11px/1.5 Arial,sans-serif;letter-spacing:1.65px;text-transform:uppercase}
.kicker{gap:10px}.kicker i{width:28px;height:3px;background:#ee4035}
.hero h1,h2,.inner h1,.report h3,.cards strong,.copy h2,.copy h3{font-family:Barlow,'Arial Narrow',sans-serif;font-weight:700}
.hero h1{font-size:clamp(84px,8.2vw,132px);line-height:.88;margin:24px 0 21px;letter-spacing:-.025em}
.hero em{color:#f24437;font-style:normal}
.hero p{color:#e3e5e5;line-height:1.6;font-size:clamp(15px,1.15vw,18px);margin:0 0 23px}
.actions{gap:12px;flex-wrap:wrap}.button{gap:18px;padding:13px 20px;min-height:48px;font-size:14px;font-weight:bold;border:1px solid transparent;border-radius:3px}
.button:hover,.emergency:hover{text-decoration:none;filter:brightness(1.12)}.red{background:var(--red);color:white}.ghost{border-color:#8f9190;background:#181a1c66;color:white}.dark{border-color:#666}.button svg,.textlink svg{width:17px}
.location{position:absolute;bottom:17px;right:0;color:#fff;gap:9px;font-size:10px;letter-spacing:1.3px;text-shadow:0 1px 3px #000}.location svg{width:14px;color:#ff665c}.location i{height:10px;width:1px;background:#ccc}
.section,.discover,.inner{padding-block:clamp(42px,4.7vw,74px)}
.sectionhead,.foot{justify-content:space-between;gap:20px}.sectionhead{margin-bottom:22px;align-items:end}
h2{font-size:clamp(40px,3.6vw,58px);line-height:1.08;margin:8px 0 0;letter-spacing:-.02em}
.textlink{font-weight:bold;font-size:14px;gap:10px;margin-bottom:5px}.textlink svg{color:var(--red)}
.reports{border-top:2px solid var(--ink)}
.report{display:flex;align-items:center;gap:25px;padding:18px 8px 18px 0;border-bottom:1px solid var(--line)}
.report:hover{text-decoration:none;background:#eeede8}.report time{width:84px;flex:none;border-right:1px solid var(--line);display:grid;align-content:center;text-align:center}
.report time b{font:700 38px/.95 Barlow,sans-serif}.report time span{font-size:9px;letter-spacing:1px;margin-top:5px}
.tag{display:inline-block;color:#97332a;background:#f1e2dc;border-radius:2px;padding:2px 7px;font-size:9px;letter-spacing:1px}
.report h3{margin:4px 0 1px;font-size:26px;line-height:1.1}.report small{color:#585b59;font-size:12px;gap:5px}.report small svg{width:12px;height:14px}
.circle{width:35px;height:35px;border:1px solid #c6c8c4;border-radius:50%;justify-content:center;margin-left:auto;flex:none}
.discover{background:#e9e8e3}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}.cards a{background:#fff}.cards img{display:block;width:100%;aspect-ratio:1.8;object-fit:cover}.cards strong{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;font-size:24px}.cards svg{color:var(--red)}
.foot{padding-block:27px;font-size:13px}.foot div{gap:18px}.inner{min-height:70vh}.inner h1{font-size:clamp(50px,6vw,88px);line-height:1;margin:12px 0 30px}.back{display:inline-block;margin-bottom:38px;letter-spacing:1px;color:#585b59}
.copy{max-width:760px;font-size:18px}.copy h2{font-size:34px;margin-top:26px}.copy img{max-width:100%;height:auto;max-height:420px;object-fit:cover}.copy a{text-decoration:underline;text-underline-offset:3px}.copy figure{margin:24px 0}.copy figcaption{font-size:13px;color:#555}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:5px;background:white;color:black;padding:10px;z-index:9}
@media(max-width:850px){.head{height:70px;gap:14px}.toggle{display:grid}.head nav{display:none;position:absolute;top:100%;left:0;right:0;height:auto;background:#17191a;padding:12px 5.5vw 24px}.head nav.open{display:grid;gap:0}.head nav a{padding:12px 0}.head nav a[aria-current]:after{display:none}.hero-photo{background-size:cover,cover,115% auto;background-position:center,center,calc(100% + 25vw) 50%}.cards{gap:10px}}
@media(max-width:560px){.brand img{width:32px;height:43px}.brand{gap:8px}.brand span{font-size:12px}.brand strong{font-size:19px}.head{gap:7px}.emergency{padding:7px 9px}.emergency span{display:none}.hero-inner{padding:45px 0 58px}.hero-photo{background-image:linear-gradient(90deg,rgba(16,20,23,.84),rgba(16,20,23,.34)),linear-gradient(0deg,rgba(10,13,15,.7),transparent 55%),url(assets/hero.jpg);background-size:cover,cover,auto 100%;background-position:center,center,46% center}.hero h1{font-size:82px}.hero .kicker{font-size:9px}.hero p{font-size:14px}.button{padding:11px 13px;font-size:13px;gap:9px}.location{font-size:8px}.sectionhead{gap:8px}.textlink{font-size:12px;gap:4px}.report{gap:13px}.report time{width:56px}.report h3{font-size:22px}.report small{font-size:11px}.circle{width:28px;height:28px}.circle svg{width:15px}.cards{grid-template-columns:1fr}.foot{align-items:flex-start;flex-direction:column}.copy{font-size:16px}}
/* Preserve the place name, including ß, in headings and labels. */
.brand strong,.hero .kicker,.inner .kicker,.location,.tag{text-transform:none}
.section-links{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}
.section-links a{padding:8px 13px;border:1px solid var(--line);border-radius:3px;font-size:14px}
.section-links a[aria-current]{color:white;background:var(--ink);border-color:var(--ink)}
.archive-year{font-size:30px;padding:18px 0 10px}
.copy{overflow-wrap:anywhere}
.copy .gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(175px,100%),1fr));gap:16px}
.copy .gallery figure{margin:0}
.copy .gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.copy table{width:100%;border-collapse:collapse;margin:20px 0;font-size:clamp(14px,2vw,17px)}
.copy td,.copy th{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.copy td img{max-width:min(72px,14vw)}
.copy img.alignleft{float:left;margin:4px 18px 12px 0}
.copy::after{content:"";display:block;clear:both}
.news-entry{max-width:760px;border-top:1px solid var(--line);padding:20px 0}
.news-entry h2{font-size:32px}.news-entry time{font-size:14px;color:#555}
.foot div{flex-wrap:wrap}
@media(max-width:1020px) and (min-width:851px){.head{gap:14px}.head nav{gap:14px}}

.single-einsatz .copy{max-width:850px}
.single-einsatz .copy>p:first-child{padding:18px 22px;border-left:4px solid var(--red);background:white}
.report:focus-visible,.cards a:focus-visible{outline-offset:-3px}
.archive-year{position:relative;margin-top:0;background:var(--paper)}
@media(prefers-reduced-motion:no-preference){.circle,.button,.cards a{transition:background .16s,transform .16s}.report:hover .circle,.cards a:hover svg{transform:translateX(3px)}}


.hero h1{font-size:clamp(3.2rem,7.6vw,7.2rem);letter-spacing:-.045em;text-transform:none;line-height:.98}.hero p{max-width:32rem}.archive-tools{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;border-top:4px solid var(--red);background:#fff;padding:1.25rem;margin:2rem 0}.archive-tools label{display:grid;gap:.4rem;font-size:.86rem;font-weight:bold}.archive-tools label:first-child{flex:1 1 15rem}.archive-tools input,.archive-tools select{font:inherit;min-height:44px;max-width:100%;width:100%;padding:.6rem .8rem;border:1px solid #777;border-radius:4px;background:#fff;color:#191b1c}.archive-tools output{align-self:center;font-weight:bold}.archive-tools[hidden],.reports [hidden]{display:none}.cards a{overflow:hidden}.cards img{transition:transform .25s}.cards a:hover img{transform:scale(1.025)}@media(prefers-reduced-motion:reduce){.cards img{transition:none}}
