/* =========
   FF Ludwigsau Friedlos – Modern Fullwidth Base
   Elementor friendly: keep globals minimal, let Elementor handle sections/layout.
   ========= */

/* Reset */
*,
*::before,
*::after { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 100%;
}

:root{
  --ff-primary: #d72638;  /* Feuerwehr-Rot */
  --ff-dark: #0b0f14;
  --ff-darker: #070a0e;
  --ff-light: #f6f7fb;
  --ff-text: rgba(255,255,255,0.92);
  --ff-muted: rgba(255,255,255,0.65);
  --ff-border: rgba(255,255,255,0.10);
  --ff-radius: 18px;
}

/* Global typography */
body {
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 600px at 20% -10%, rgba(215,38,56,0.22), transparent 60%),
              radial-gradient(1000px 700px at 90% 0%, rgba(255,180,0,0.12), transparent 55%),
              var(--ff-dark);
  color: var(--ff-text);
  overflow-x: hidden;
  line-height: 1.55;
}

a { color: inherit; }
img { max-width: 100%; height: auto; }

/* Fullwidth container for header/footer only.
   Elementor sections should be set to "Full Width" in Elementor. */
.container {
  width: min(1600px, calc(100% - 56px));
  margin: 0 auto;
}

/* Header */
.site-header{
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  background: rgba(11, 15, 20, 0.72);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--ff-border);
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;
  padding: 18px 0;
}

.brand{
  font-family: "Poppins", "Inter", system-ui, sans-serif;
  font-weight: 800;
  font-size: 1.15rem;
  letter-spacing: 0.4px;
  text-decoration:none;
  white-space: nowrap;
}

.brand:hover { color: #fff; }

/* Navigation */
.nav ul{
  list-style: none;
  display: flex;
  gap: 26px;
  padding: 0;
  margin: 0;
  align-items: center;
}

.nav a{
  text-decoration: none;
  font-weight: 650;
  color: rgba(255,255,255,0.86);
  transition: color .18s ease, opacity .18s ease;
}

.nav a:hover{
  color: var(--ff-primary);
}

/* Main layout */
.site-main{
  /* offset for fixed header */
  padding-top: 92px;
}

/* Default WordPress content styling (when not using Elementor) */
.post{
  background: rgba(255,255,255,0.06);
  border: 1px solid var(--ff-border);
  border-radius: var(--ff-radius);
  box-shadow: 0 16px 40px rgba(0,0,0,0.25);
  padding: 26px;
  margin: 0 0 18px;
}

.post-title{
  margin: 0 0 8px;
  line-height: 1.15;
  font-family: "Poppins", "Inter", system-ui, sans-serif;
  letter-spacing: 0.2px;
}

.post-title a{
  text-decoration: none;
}

.post-title a:hover{
  color: var(--ff-primary);
}

.post-meta{
  font-size: 0.95rem;
  color: var(--ff-muted);
  margin-bottom: 16px;
}

/* Footer */
.site-footer{
  background: linear-gradient(180deg, transparent, rgba(0,0,0,0.28)),
              var(--ff-darker);
  border-top: 1px solid var(--ff-border);
  padding: 58px 0;
  margin-top: 40px;
}

.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;
  flex-wrap: wrap;
  color: var(--ff-muted);
}

.footer-nav ul{
  list-style: none;
  display:flex;
  gap: 14px;
  padding: 0;
  margin: 0;
}

.footer-nav a{
  text-decoration: none;
  color: var(--ff-muted);
}

.footer-nav a:hover{
  color: #fff;
}

/* Mobile */
@media (max-width: 820px){
  .container{
    width: calc(100% - 32px);
  }
  .header-inner{
    padding: 14px 0;
  }
  .nav ul{
    flex-wrap: wrap;
    gap: 14px;
    justify-content: flex-end;
  }
  .site-main{
    padding-top: 86px;
  }
}
