/* Foto-Wettbewerb */
.fw-body{background:var(--paper); color:var(--ink);}
.fw-wrap{width:100%; max-width:1180px; margin:0 auto; padding:0 32px;}
@media(min-width:1500px){ .fw-wrap{max-width:1340px; padding:0 48px;} }
.fw-top{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 32px; border-bottom:1px solid var(--line); background:var(--paper);}
.fw-brand{display:inline-flex; align-items:center; gap:12px; color:var(--ink);}
.fw-brand img{height:38px;}
.fw-brand span{font-family:'Fraunces',serif; font-size:1.05rem; line-height:1.15; display:block;}
.fw-brand small{display:block; font-family:'Inter',sans-serif; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:#8a7a72;}
.fw-langs{display:flex; align-items:center; gap:14px; font-size:.82rem;}
.fw-langs a{color:#6b5a53;} .fw-langs a.on{color:var(--curtain); font-weight:600;}
.fw-langs .fw-back{color:var(--curtain);}

.fw-hero{background:var(--ink); color:var(--parchment); padding:64px 0 56px; text-align:center;}
.fw-hero h1{font-size:clamp(2rem,4vw,3.2rem); font-weight:500; margin-top:10px;}
.fw-hero .eyebrow{color:var(--brass);}
.fw-lead{margin:18px auto 0; max-width:720px; color:rgba(243,233,216,.88); font-size:1.03rem;}
.fw-prizes{margin:14px auto 0; max-width:720px; color:var(--brass); font-family:'Fraunces',serif; font-style:italic; font-size:1.08rem;}
.fw-deadline{margin-top:12px; font-size:.9rem; color:rgba(243,233,216,.72);}
.fw-hero-cta{margin-top:28px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.fw-hero-cta .btn-ghost-dark{background:transparent; border:1px solid var(--brass); color:var(--parchment) !important;}
.fw-hero-cta .btn-ghost-dark:hover{background:var(--brass); color:#221512 !important;}

.fw-note{margin:24px 0 0; padding:14px 18px; border-left:3px solid var(--curtain); background:#fff; font-size:.95rem;}
.fw-note-ok{border-left-color:#2f7d46;}

.fw-gallery-sec{padding:48px 32px 20px;}
.fw-cats{display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-bottom:34px;}
.fw-cats a{padding:9px 18px; border:1px solid var(--line); border-radius:30px; font-size:.86rem; color:#5c4b45; background:#fff;}
.fw-cats a.on{background:var(--curtain); border-color:var(--curtain); color:#fff;}
.fw-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
@media(max-width:1000px){.fw-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.fw-grid{grid-template-columns:1fr;}}
.fw-card{background:#fff; border:1px solid var(--line); display:flex; flex-direction:column;}
.fw-card img{width:100%; aspect-ratio:4/3; object-fit:cover; display:block;}
.fw-card figcaption{padding:16px 18px 18px; display:flex; flex-direction:column; gap:6px; flex:1;}
.fw-card h3{font-size:1.1rem; font-weight:500;}
.fw-meta{font-size:.82rem; color:var(--curtain);}
.fw-author{font-size:.82rem; color:#8a7a72;}
.fw-card-foot{margin-top:auto; padding-top:14px; display:flex; align-items:center; justify-content:space-between; gap:10px;}
.fw-vote{padding:9px 18px; border:1px solid var(--curtain); background:transparent; color:var(--curtain); font-family:inherit; font-size:.82rem; font-weight:600; cursor:pointer; border-radius:2px;}
.fw-vote:hover{background:var(--curtain); color:#fff;}
.fw-count{font-size:.82rem; color:#8a7a72;}
.fw-empty{text-align:center; color:#8a7a72; padding:40px 0;}

.fw-upload{padding:56px 32px 80px; max-width:900px;}
.fw-upload h2{font-size:1.8rem; font-weight:500; margin-bottom:8px;}
.fw-upload .fw-lead{margin-left:0; color:#5c4b45;}
.fw-form{margin-top:26px; display:flex; flex-direction:column; gap:16px;}
.fw-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media(max-width:640px){.fw-row{grid-template-columns:1fr;}}
.fw-form label{display:flex; flex-direction:column; gap:6px; font-size:.84rem; color:#5c4b45;}
.fw-form input[type=text],.fw-form input[type=email],.fw-form select,.fw-form input[type=file]{padding:11px 12px; border:1px solid var(--line); background:#fff; font-family:inherit; font-size:.95rem; color:var(--ink);}
.fw-check{flex-direction:row !important; align-items:flex-start; gap:10px !important; font-size:.84rem; line-height:1.5;}
.fw-check input{margin-top:3px;}
.fw-form .btn{align-self:flex-start; margin-top:6px;}

.fw-modal{position:fixed; inset:0; z-index:9000; display:flex; align-items:center; justify-content:center; padding:24px;}
.fw-modal[hidden]{display:none;}
.fw-modal-bd{position:absolute; inset:0; background:rgba(15,8,7,.8);}
.fw-modal-box{position:relative; width:100%; max-width:480px; background:var(--paper); padding:28px; display:flex; flex-direction:column; gap:14px;}
.fw-modal-box h3{font-size:1.3rem; font-weight:500;}
.fw-modal-photo{font-family:'Fraunces',serif; font-style:italic; color:var(--curtain);}
.fw-hint{font-size:.84rem; color:#6b5a53; line-height:1.55;}
.fw-modal-box label{display:flex; flex-direction:column; gap:6px; font-size:.84rem; color:#5c4b45;}
.fw-modal-box input[type=email]{padding:11px 12px; border:1px solid var(--line); background:#fff; font-family:inherit; font-size:.95rem;}
.fw-modal-cta{display:flex; gap:12px; flex-wrap:wrap;}
.fw-modal-cta .btn-ghost-dark{background:transparent; border:1px solid var(--line); color:var(--ink) !important;}
.fw-modal-x{position:absolute; top:10px; right:12px; border:none; background:none; font-size:1.7rem; line-height:1; color:#8a7a72; cursor:pointer;}

.fw-legal{max-width:820px; padding:56px 32px 80px;}
.fw-legal h1{font-size:clamp(1.8rem,3.4vw,2.5rem); font-weight:500;}
.fw-stand{color:#8a7a72; font-size:.88rem; margin:8px 0 34px;}
.fw-legal h2{font-family:'Fraunces',serif; font-size:1.25rem; font-weight:500; margin:32px 0 10px;}
.fw-legal p{color:#5c4b45; line-height:1.68; margin-bottom:12px;}
.fw-legal a{color:var(--curtain); text-decoration:underline;}
.fw-foot{border-top:1px solid var(--line); padding:22px 32px; text-align:center; font-size:.84rem; color:#8a7a72;}
.fw-foot a{color:var(--curtain);}

/* ---------- Lightbox: Foto in voller Groesse ---------- */
.fw-card a.fw-lb { display:block; cursor:zoom-in; }
.fw-lightbox{
  position:fixed; inset:0; z-index:9999; padding:24px;
  background:rgba(12,8,7,.93);
  display:flex; align-items:center; justify-content:center;
}
.fw-lightbox[hidden]{ display:none; }
.fw-lightbox img{
  max-width:96vw; max-height:92vh; object-fit:contain;
  box-shadow:0 24px 60px rgba(0,0,0,.55);
}
.fw-lightbox button{
  position:absolute; top:16px; right:20px;
  width:44px; height:44px; font-size:26px; line-height:1;
  color:#fff; background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.3); cursor:pointer;
}
