/*
Design System for Dobrovoljno Vatrogasno Društvo Lipovec Lonjski
Grounding: No official brand found; derived to match fire service mission.
- Primary (Fire Red): #DC2626
- Secondary (Safety Yellow): #F59E0B
- Dark background: #0F172A
- Light background: #FFFFFF
- Text on dark: headings #F9FAFB, body #D1D5DB
- Text on light: #1F2937
- Borders on dark: #374151
- Heading font: "Poppins", sans-serif
- Body font: "Inter", sans-serif
*/

:root{
  --color-primary:#DC2626;
  --color-accent:#F59E0B;
  --bg-dark:#0F172A;
  --bg-light:#FFFFFF;
  --text-dark-h:#F9FAFB;
  --text-dark-b:#D1D5DB;
  --text-light:#1F2937;
  --border-dark:#374151;

  --radius-md:.5rem;
  --unit:.25rem;
  --space-s:1rem;
  --space-m:2rem;
  --space-l:4rem;
  --space-xl:6rem;

  --shadow:0 10px 20px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.05);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif;
  color:var(--text-light);
  background:var(--bg-light);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3{
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Arial,sans-serif;
  line-height:1.2; margin:0 0 var(--space-s);
}
h1{font-size:3rem}
h2{font-size:2.25rem}
h3{font-size:1.875rem}
p{margin:0 0 1rem}
img{max-width:100%; display:block; border-radius:var(--radius-md)}
.container{max-width:1120px; margin:0 auto; padding:0 var(--space-s)}
.section{padding:var(--space-l) 0}
.section.alt{background:#F7FAFC}
.section-title{margin-bottom:var(--space-m); text-align:center}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-m)}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-m)}
.two-col{display:grid; grid-template-columns:1.2fr 1fr; gap:var(--space-m); align-items:center}
.center{text-align:center}
.narrow{max-width:720px; margin:0 auto}
.mt-1{margin-top:var(--space-s)} .mt-2{margin-top:var(--space-m)}
.mb-2{margin-bottom:var(--space-s)} .w-full{width:100%}

/* Header */
.site-header{
  position:sticky; top:0; z-index:50; background:#ffffffee; backdrop-filter:saturate(180%) blur(8px);
  border-bottom:1px solid #e5e7eb;
}
.header-inner{display:flex; align-items:center; gap:var(--space-s); padding:var(--space-s) 0}
.brand{display:flex; align-items:center; gap:.6rem; text-decoration:none; color:inherit}
.brand-text{font-weight:700}
.logo{height:44px; width:auto}
.nav{display:flex; gap:1rem; list-style:none; padding:0; margin:0}
.nav a{color:#374151; text-decoration:none; padding:.5rem .75rem; border-radius:.4rem}
.nav a:hover,.nav a.active{background:#f1f5f9}
.menu-toggle{display:none; border:1px solid #e5e7eb; border-radius:.5rem; padding:.5rem .75rem; background:#fff}

/* Mobile nav */
.mobile-nav{display:flex; flex-direction:column; padding:var(--space-s); border-bottom:1px solid #eee; background:#fff}
.mobile-nav a{padding:.75rem; border-radius:.5rem; text-decoration:none; color:#111827}
.mobile-nav a:hover{background:#f3f4f6}

/* Buttons */
.btn{display:inline-block; font-weight:600; border-radius:var(--radius-md); padding:.75rem 1.5rem; text-decoration:none; transition:transform .15s ease, box-shadow .2s ease}
.btn:hover{transform:scale(1.05)}
.btn-primary{background:var(--color-primary); color:#fff; box-shadow:var(--shadow)}
.btn-primary:focus-visible{outline:3px solid #fecaca; outline-offset:2px}
.btn-secondary{background:transparent; color:#0f172a; border:2px solid var(--color-primary)}
.btn-light{background:#fff; color:#0f172a; border:2px solid #fff}

/* Hero */
.hero{padding:var(--space-xl) 0; background:linear-gradient(135deg,#fff5f5 0%,#fff1f2 100%)}
.hero-fire{background:linear-gradient(135deg,#fff1f2 0%,#fff7ed 100%)}
.hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:var(--space-m); align-items:center}
.subhead{font-size:1.125rem; color:#475569}
.actions{display:flex; gap:1rem; margin-top:1rem}

/* Stats */
.stats{display:flex; justify-content:center; gap:var(--space-xl); list-style:none; padding:0; margin:var(--space-m) 0 0}
.stats .value{font-family:Poppins,sans-serif; font-size:2rem; color:var(--color-primary); display:block}
.stats .label{color:#475569}

/* Cards */
.card{background:#fff; border:1px solid #eef2f7; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow)}
.card-body{padding:1rem 1.25rem}
.card-link{display:inline-block; margin-top:.5rem; color:var(--color-primary); text-decoration:none; font-weight:600}
.card-link:hover{text-decoration:underline}

/* CTA */
.cta{background:var(--bg-dark); color:var(--text-dark-b); padding:var(--space-l) 0}
.cta-inner{display:flex; align-items:center; justify-content:space-between; gap:var(--space-s)}
.cta h2{color:var(--text-dark-h); margin:0 0 .5rem}

/* Forms */
input,textarea,select{
  width:100%; padding:.75rem; border-radius:var(--radius-md);
  border:1px solid #e5e7eb; background:#fff; color:#111827; font:inherit;
}
input:focus,textarea:focus,select:focus{outline:2px solid var(--color-primary); outline-offset:2px}
label{display:grid; gap:.4rem; font-weight:500}
fieldset{border:0; padding:0; margin:0 0 var(--space-m)}
.radio{display:flex; align-items:center; gap:.5rem}
.donation-amounts{display:flex; gap:.5rem; flex-wrap:wrap}
.amount{background:#fff; border:1px solid #e5e7eb; padding:.5rem .9rem; border-radius:.6rem; cursor:pointer}
.amount[aria-pressed="true"], .amount.active{background:var(--color-primary); color:#fff; border-color:var(--color-primary)}
.payment-placeholder{margin:var(--space-m) 0; border:1px dashed #cbd5e1; border-radius:var(--radius-md); padding:var(--space-s)}
.payment-grid{display:grid; grid-template-columns:2fr 1fr 1fr; gap:.75rem}

/* Footer */
.site-footer{background:#0b1220; color:#cbd5e1; padding:var(--space-l) 0}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.4fr; gap:var(--space-m)}
.footer-title{color:#e2e8f0; margin-bottom:.5rem}
.footer-links{list-style:none; padding:0; margin:0}
.footer-links a{color:#cbd5e1; text-decoration:none}
.footer-links a:hover{text-decoration:underline}

/* Lists */
.checklist{list-style:none; padding:0; margin:0}
.checklist li{padding-left:1.5rem; position:relative; margin:.4rem 0}
.checklist li::before{content:"✓"; position:absolute; left:0; color:var(--color-accent); font-weight:700}

/* Events */
.event-list{list-style:none; padding:0; margin:0; display:grid; gap:1rem}
.event{display:grid; grid-template-columns:120px 1fr; gap:1rem; align-items:center; padding:1rem; border:1px solid #eef2f7; border-radius:var(--radius-md); background:#fff}

/* Page hero */
.page-hero{padding:var(--space-l) 0 var(--space-m); background:linear-gradient(135deg,#fff1f2 0%,#fffbeb 100%)}

/* Cookie banner */
.cookie-banner{position:fixed; inset:auto 1rem 1rem 1rem; background:#0b1220; color:#cbd5e1; padding:1rem; border-radius:var(--radius-md); box-shadow:var(--shadow); display:flex; gap:1rem; align-items:center; justify-content:space-between}
.cookie-banner a{color:#fff; text-decoration:underline}
.cookie-actions{display:flex; gap:.5rem}

/* Helpers */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Responsive */
@media (max-width: 980px){
  .grid-3{grid-template-columns:1fr 1fr}
  .hero-grid{grid-template-columns:1fr; text-align:center}
  .cta-inner{flex-direction:column; text-align:center}
  .two-col{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .payment-grid{grid-template-columns:1fr}
}
@media (max-width: 720px){
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .stats{gap:var(--space-m)}
  .nav{display:none}
  .menu-toggle{display:inline-block}
}
