/*
Theme Name: FFW Basic
Author: FFW / Levarix
Version: 1.2.4
Text Domain: ffw-basic
*/

/* =========================
   Tokens
========================= */
:root{
  --ffw-bg: #f6f7f8;
  --ffw-surface: #ffffff;
  --ffw-text: #101114;
  --ffw-muted: rgba(16,17,20,.68);
  --ffw-border: rgba(16,17,20,.10);

  --lb13-red: #ff3b30;
  --lb13-dark: #2f2f2f;

  --container: 1200px;
  --radius: 16px;

  --shadow: 0 14px 36px rgba(0,0,0,.08);
  --shadow-soft: 0 10px 22px rgba(0,0,0,.06);

  --focus: 0 0 0 3px rgba(255,59,48,.25);
}

/* =========================
   Base Reset
========================= */
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }

body{
  background: var(--ffw-bg);
  color: var(--ffw-text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

a:focus, button:focus, input:focus, select:focus{
  outline:none;
  box-shadow: var(--focus);
}

/* =========================
   Layout
========================= */
.ffw-container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 24px 18px;
}

/* Adminbar */
body.admin-bar .lb13-siteheader{ top:32px; }
@media (max-width: 782px){
  body.admin-bar .lb13-siteheader{ top:46px; }
}

/* =========================
   HEADER
========================= */
.lb13-siteheader{
  position: sticky;
  top: 0;
  z-index: 9999;
}

.lb13-wrap{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 18px;
}

/* Topbar */
.lb13-topbar{
  background: var(--lb13-red);
  color:#fff;
  font-weight:800;
  font-size:14px;
}
.lb13-topbar-inner{
  min-height: 44px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 14px;
}
.lb13-topbar-left{
  display:flex;
  align-items:center;
  gap: 12px;
  flex-wrap: wrap;
}
.lb13-topitem{
  color:#fff;
  text-decoration:none;
  opacity:.95;
  white-space: nowrap;
}
.lb13-topitem:hover{ opacity:1; text-decoration:underline; text-underline-offset:3px; }
.lb13-sep{ opacity:.7; }

/* Mainbar */
.lb13-mainbar{
  background: var(--lb13-dark);
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.lb13-mainbar-inner{
  min-height: 86px;
  display:grid;
  grid-template-columns: 320px 1fr 240px;
  align-items:center;
  gap: 16px;
}

/* Logo area */
.lb13-logo{
  display:flex;
  align-items:center;
  gap: 12px;
  min-height: 68px;
  justify-content:flex-start;
}

/* Badge ist immer da */
.lb13-badge-inline{
  width: 58px;
  height: 58px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: var(--lb13-red);
  color:#fff;
  font-weight: 950;
  font-size: 28px;
  flex: 0 0 auto;
}

/* Optional: falls Custom Logo vorhanden */
.lb13-custom-logo-wrap{
  display:inline-flex;
  align-items:center;
}
.lb13-logo .custom-logo-link{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}
.lb13-logo img.custom-logo{
  display:block;
  max-height: 40px;
  width:auto;
  border-radius: 10px;
}

/* Branding text */
.lb13-brandtext-inline{
  color:#fff;
  font-weight: 950;
  letter-spacing: .3px;
  opacity: .95;
  white-space: nowrap;
}


/* Navigation (robust) */
.lb13-nav{
  display:flex;
  justify-content:center;
  align-items:center;
}
.lb13-nav ul,
.lb13-nav li{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.lb13-nav ul{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap: 26px !important;
  flex-wrap: wrap !important;
}
.lb13-nav a{
  color:#fff !important;
  text-decoration:none !important;
  font-weight: 950;
  letter-spacing: .4px;
  opacity: .95;
  padding: 10px 12px;
  border-radius: 12px;
  display:inline-flex;
  align-items:center;
}
.lb13-nav a:hover{
  background: rgba(255,255,255,.10);
  opacity:1;
}
.lb13-nav .current-menu-item > a,
.lb13-nav .current_page_item > a{
  color: var(--lb13-red) !important;
  background: rgba(255,255,255,.08);
}

/* Notruf */
.lb13-emergency{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 999px;
  background: #fff;
  color:#111;
  text-decoration:none;
  box-shadow: var(--shadow-soft);
  transition: transform .15s ease, box-shadow .15s ease;
}
.lb13-emergency:hover{ transform: translateY(-1px); box-shadow: 0 14px 28px rgba(0,0,0,.12); }
.lb13-emergency-ico{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: rgba(0,0,0,.06);
  display:flex;
  align-items:center;
  justify-content:center;
}
.lb13-emergency-label{
  display:block;
  font-size: 12px;
  opacity: .75;
  font-weight: 800;
  line-height: 1.1;
}
.lb13-emergency-number{
  display:block;
  font-size: 20px;
  font-weight: 950;
  letter-spacing: .3px;
}

/* Mobile */
@media (max-width: 980px){
  .lb13-topbar-inner{
    flex-direction:column;
    align-items:flex-start;
    padding: 10px 0;
  }
  .lb13-mainbar-inner{
    grid-template-columns: 1fr;
    justify-items:center;
    padding: 12px 0;
    gap: 10px;
  }
  .lb13-emergency{ justify-self:center; }
}

/* =========================
   Basic Content
========================= */
.ffw-page-title{
  margin: 8px 0 18px 0;
  font-size: 34px;
  letter-spacing: .3px;
}

.ffw-single{
  background: var(--ffw-surface);
  border: 1px solid var(--ffw-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
}
/* =========================
   FOOTER
========================= */
.lb13-footer{
  margin-top: 34px;
  background: var(--lb13-dark);
  color: rgba(255,255,255,.92);
  border-top: 1px solid rgba(255,255,255,.10);
}

.lb13-footer-inner{
  padding: 26px 0;
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 18px;
  align-items:center;
}

.lb13-footer-brand{
  display:flex;
  align-items:center;
  gap: 12px;
}
.lb13-footer-badge{
  width: 52px;
  height: 52px;
  border-radius: 999px;
  background: var(--lb13-red);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:950;
  font-size: 24px;
  flex: 0 0 auto;
}
.lb13-footer-title{
  font-weight: 950;
  letter-spacing: .3px;
  color:#fff;
}
.lb13-footer-sub{
  font-size: 13px;
  opacity: .78;
  margin-top: 2px;
}

.lb13-footer-links{
  justify-self:center;
}
.lb13-footer-links ul,
.lb13-footer-links li{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.lb13-footer-links ul{
  display:flex !important;
  gap: 16px !important;
  flex-wrap:wrap;
  justify-content:center;
}
.lb13-footer-links a{
  color: rgba(255,255,255,.92);
  text-decoration:none;
  font-weight: 900;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}
.lb13-footer-links a:hover{
  background: rgba(255,255,255,.10);
}

.lb13-footer-meta{
  justify-self:end;
}

.lb13-footer-call{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 999px;
  background:#fff;
  color:#111;
  text-decoration:none;
  box-shadow: var(--shadow-soft);
}
.lb13-footer-call-ico{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: rgba(0,0,0,.06);
  display:flex;
  align-items:center;
  justify-content:center;
}
.lb13-footer-call-label{
  display:block;
  font-size: 12px;
  opacity: .75;
  font-weight: 800;
  line-height: 1.1;
}
.lb13-footer-call-num{
  display:block;
  font-size: 18px;
  font-weight: 950;
}

.lb13-footer-bottom{
  padding: 14px 0 18px;
  border-top: 1px solid rgba(255,255,255,.10);
  display:flex;
  gap: 10px;
  justify-content:center;
  flex-wrap:wrap;
  font-size: 12px;
  opacity: .78;
}
.lb13-footer-dot{opacity:.65}

/* Mobile */
@media (max-width: 980px){
  .lb13-footer-inner{
    grid-template-columns:1fr;
    text-align:center;
  }
  .lb13-footer-brand{justify-content:center;}
  .lb13-footer-meta{justify-self:center;}
}
