/* LLA Fördermitgliedschaft: Formular und Login. Farben aus dem Elementor-Kit: Text #3A3A3A, Gold #C2A17E, Cream #F1E9D9, Beige #D4C7AE */
.lla-fm { max-width: 760px; margin: 0 auto; color: #3A3A3A; line-height: 1.6; }
.lla-fm-antragstext { background: #F1E9D9; padding: 28px 32px; border-radius: 4px; margin-bottom: 36px; font-size: 0.97em; }
.lla-fm-antragstext p:last-child { margin-bottom: 0; }
.lla-fm h3 { margin: 0 0 18px; font-weight: 600; }
.lla-fm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
.lla-fm-grid label, .lla-fm-signature { display: flex; flex-direction: column; font-size: 0.92em; font-weight: 500; }
.lla-fm-grid .lla-fm-full { grid-column: 1 / -1; }
.lla-fm input[type=text], .lla-fm input[type=email], .lla-fm input[type=date], .lla-fm input[type=password] {
  margin-top: 6px; padding: 11px 14px; border: 1px solid #D4C7AE; border-radius: 3px; background: #fff; color: #3A3A3A; font: inherit; width: 100%; box-sizing: border-box;
}
.lla-fm input:focus { outline: none; border-color: #C2A17E; box-shadow: 0 0 0 3px rgba(194,161,126,.25); }
.lla-fm-signature { margin-top: 24px; position: relative; }
.lla-fm-label { margin-bottom: 6px; }
#lla-fm-canvas { width: 100%; max-width: 600px; border: 1px solid #D4C7AE; border-radius: 3px; background: #fff; touch-action: none; cursor: crosshair; }
.lla-fm-clear { align-self: flex-start; margin-top: 8px; background: none; border: 1px solid #D4C7AE; color: #3A3A3A; padding: 6px 14px; border-radius: 3px; font: inherit; font-size: 0.85em; cursor: pointer; }
.lla-fm-clear:hover { border-color: #C2A17E; color: #C2A17E; }
.lla-fm-check { display: flex; gap: 10px; align-items: flex-start; margin-top: 18px; font-size: 0.93em; cursor: pointer; }
.lla-fm-check input { margin-top: 5px; flex: none; }
.lla-fm-datenschutz { font-size: 0.85em; color: #6b6b6b; margin-top: 18px; }
.lla-fm-datenschutz a { color: #3A3A3A; text-decoration: underline; }
.lla-fm-submit, .lla-fm-login .button, .lla-fm-login input[type=submit] {
  display: inline-block; margin-top: 22px; background: #C2A17E; color: #fff !important; border: 0; border-radius: 3px; padding: 15px 30px;
  font: inherit; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; font-size: 0.85em; cursor: pointer; text-decoration: none !important; transition: background .2s;
}
.lla-fm-submit:hover, .lla-fm-login input[type=submit]:hover { background: #A88A66; }
.lla-fm-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.lla-fm-missing { outline: 2px solid #c0392b; outline-offset: 3px; border-radius: 3px; }
.lla-fm-errors { background: #fbeaea; border-left: 4px solid #c0392b; padding: 14px 18px; margin-bottom: 20px; font-size: 0.93em; }
.lla-fm-errors ul { margin: 0; padding-left: 18px; }
.lla-fm-success { background: #F1E9D9; padding: 32px; border-radius: 4px; text-align: center; }
/* Login */
.lla-fm-login form { display: flex; flex-direction: column; gap: 14px; max-width: 420px; }
.lla-fm-login label { font-size: 0.92em; font-weight: 500; display: block; }
.lla-fm-login .login-remember label { display: flex; gap: 8px; align-items: center; font-weight: 400; }
.lla-fm-login .login-submit input[type=submit] { margin-top: 4px; }
.lla-fm-login-links { margin-top: 14px; font-size: 0.9em; }
.lla-fm-login-links a { color: #3A3A3A; }
@media (max-width: 640px) { .lla-fm-grid { grid-template-columns: 1fr; } .lla-fm-antragstext { padding: 20px; } }

/* Seiten mit Antrag/Login/Mitgliederbereich: Platz für den absoluten Header, Inhaltsbreite */
body.lla-fm-page .site-main { padding-top: 150px; } body.lla-fm-page .page-header { margin-bottom: 24px; } body.lla-fm-page .wp-block-button__link { text-decoration: none !important; }
body.lla-fm-page .site-main > .page-header, body.lla-fm-page .page-header { max-width: 760px; margin-left: auto; margin-right: auto; }
body.lla-fm-page .entry-content, body.lla-fm-page .page-content > * { max-width: 760px; margin-left: auto; margin-right: auto; }
body.lla-fm-page .wp-block-button__link { border-radius: 3px; text-transform: uppercase; letter-spacing: .04em; font-size: .85em; font-weight: 600; padding: 15px 30px; }

/* Mitgliederbereich */
.lla-mb { max-width: 1040px; }
.lla-mb-head { text-align: center; margin-bottom: 36px; }
.lla-mb-eyebrow { font-size: .78em; letter-spacing: .14em; text-transform: uppercase; color: #C2A17E; margin: 0 0 8px; font-weight: 600; }
.lla-mb-head h2 { margin: 0 0 14px; font-weight: 500; font-size: 2em; }
.lla-mb-badge { display: inline-block; padding: 6px 14px; border-radius: 999px; font-size: .8em; font-weight: 600; letter-spacing: .03em; }
.lla-mb-badge-ok { background: #EEF0E6; color: #6B7052; }
.lla-mb-badge-wait { background: #F1E9D9; color: #8A6A3D; }
.lla-mb-intro { margin: 14px auto 0; max-width: 560px; color: #555; }
.lla-mb-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.lla-mb-card { position: relative; min-height: 420px; border-radius: 6px; overflow: hidden; background-size: cover; background-position: center top; display: flex; align-items: flex-end; box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.lla-mb-card::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(38,34,30,0) 20%, rgba(38,34,30,.88) 75%); }
.lla-mb-card-body { position: relative; padding: 28px; color: #fff; width: 100%; }
.lla-mb-card-label { font-size: .74em; letter-spacing: .14em; text-transform: uppercase; color: #E2CCA6; margin: 0 0 6px; font-weight: 600; }
.lla-mb-card h3 { color: #fff; margin: 0 0 8px; font-size: 1.45em; font-weight: 600; }
.lla-mb-card p { color: rgba(255,255,255,.85); font-size: .93em; margin: 0 0 18px; }
.lla-mb-btn { display: inline-block; background: linear-gradient(160deg,#D9BE9A,#A98863); color: #fff !important; text-decoration: none !important; border-radius: 3px; padding: 13px 22px; font-weight: 600; font-size: .8em; letter-spacing: .06em; text-transform: uppercase; margin-right: 12px; }
.lla-mb-btn:hover { filter: brightness(1.06); }
.lla-mb-link { color: #fff !important; font-size: .88em; text-decoration: underline; white-space: nowrap; }
.lla-mb-locked { display: block; font-size: .85em; color: #E2CCA6; margin-bottom: 8px; }
.lla-mb-foot { display: flex; flex-wrap: wrap; gap: 10px 26px; justify-content: center; margin-top: 36px; padding-top: 22px; border-top: 1px solid #E6DED0; font-size: .9em; }
.lla-mb-foot a { color: #3A3A3A; text-decoration: none; border-bottom: 1px solid #D4C7AE; }
.lla-mb-foot a:hover { color: #C2A17E; border-color: #C2A17E; }
.lla-mb-note { text-align: center; font-size: .8em; color: #8a8a8a; font-style: italic; margin-top: 14px; }
body.lla-fm-page .lla-mb, body.lla-fm-page.page-id-2139 .entry-content { max-width: 1040px; }
@media (max-width: 760px) { .lla-mb-grid { grid-template-columns: 1fr; } .lla-mb-card { min-height: 340px; } }

/* Kacheln unter den Projekten */
.lla-mb-tiles { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; border-top: 0; padding-top: 0; margin-top: 28px; }
.lla-mb-tiles a { display: flex; flex-direction: column; align-items: flex-start; background: #F1E9D9; border: 0 !important; border-radius: 6px; padding: 18px 16px 16px; color: #3A3A3A; font-weight: 600; font-size: .95em; line-height: 1.3; transition: background .2s, transform .2s; }
.lla-mb-tiles a:hover { background: #E9DEC8; transform: translateY(-2px); color: #3A3A3A; }
.lla-mb-tiles a small { display: block; font-weight: 400; font-size: .8em; color: #6b6b6b; margin-top: 4px; }
.lla-mb-tile-icon { display: inline-block; width: 30px; height: 30px; border-radius: 50%; background: #C2A17E; color: #fff; text-align: center; line-height: 30px; font-size: .8em; margin-bottom: 10px; }
@media (max-width: 900px) { .lla-mb-tiles { grid-template-columns: repeat(2, 1fr); } }

.lla-mb-notice { background: #F1E9D9; border-left: 4px solid #C2A17E; padding: 14px 18px; margin: 0 0 24px; border-radius: 3px; }

.lla-mb-team { background: #3A3A3A; color: #F1E9D9; font-size: 0.85em; padding: 10px 16px; border-radius: 3px; margin-bottom: 24px; }
.lla-mb-team a { color: #C2A17E; text-decoration: underline; }

/* Projektbereich For Women */
.lla-pb { max-width: 880px; }
.lla-pb-hero { position: relative; background-size: cover; background-position: center right; border-radius: 8px; padding: 54px 46px 50px; margin-bottom: 6px; min-height: 240px; display: flex; align-items: center; }
.lla-pb-hero-text { max-width: 460px; }
.lla-pb-eyebrow { font-size: .72em; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: #A98863; margin: 0 0 12px; }
.lla-pb-hero h2 { margin: 0; font-size: 2.15em; font-weight: 600; line-height: 1.15; color: #3A3A3A; }
.lla-pb-lead { margin: 14px 0 0; font-size: .97em; line-height: 1.6; color: #5A5A5A; }
/* Der Weg */
.lla-pb-weg { list-style: none; display: flex; gap: 0; margin: 0 0 34px; padding: 26px 0 0; counter-reset: none; }
.lla-pb-weg li { position: relative; flex: 1; padding: 0 12px; text-align: center; }
.lla-pb-weg li::before { content: ''; position: absolute; top: 15px; left: -50%; width: 100%; height: 1px; background: #E6DED0; }
.lla-pb-weg li:first-child::before { display: none; }
.lla-pb-punkt { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 31px; height: 31px; margin: 0 auto 10px; border-radius: 50%; border: 1px solid #E6DED0; background: #fff; font-size: .8em; font-weight: 600; color: #B5AC9A; }
.lla-pb-weg-titel { display: block; font-size: .84em; font-weight: 500; color: #8B8B8B; line-height: 1.35; }
.lla-pb-weg .ist-fertig .lla-pb-punkt { background: #C2A17E; border-color: #C2A17E; color: #fff; }
.lla-pb-weg .ist-fertig .lla-pb-weg-titel { color: #5A5A5A; }
.lla-pb-weg .ist-fertig::before { background: #C2A17E; }
.lla-pb-weg .ist-jetzt .lla-pb-punkt { background: #fff; border: 2px solid #C2A17E; color: #A98863; box-shadow: 0 0 0 5px rgba(194,161,126,.16); }
.lla-pb-weg .ist-jetzt .lla-pb-weg-titel { color: #3A3A3A; font-weight: 600; }
.lla-pb-jetzt { display: block; margin-top: 5px; font-size: .68em; letter-spacing: .14em; text-transform: uppercase; color: #A98863; font-weight: 600; }
/* Blöcke */
.lla-pb-block { background: #fff; border: 1px solid #EDE6DA; border-radius: 8px; padding: 34px 38px; margin-bottom: 20px; }
.lla-pb-block > h3 { margin: 0 0 20px; font-size: .78em; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: #A98863; display: flex; align-items: center; gap: 14px; }
.lla-pb-block > h3 span { flex: none; }
.lla-pb-block > h3::after { content: ''; flex: 1; height: 1px; background: #EDE6DA; }
.lla-pb-inhalt { line-height: 1.75; color: #3A3A3A; }
.lla-pb-inhalt > *:first-child { margin-top: 0; }
.lla-pb-inhalt p { margin: 0 0 14px; }
.lla-pb-inhalt h3, .lla-pb-inhalt h4, .lla-pb-inhalt h5 { font-size: 1em; font-weight: 600; color: #3A3A3A; margin: 26px 0 10px; letter-spacing: 0; text-transform: none; }
.lla-pb-inhalt ul, .lla-pb-inhalt ol { padding-left: 0; list-style: none; margin: 0 0 16px; }
.lla-pb-inhalt li { position: relative; padding-left: 22px; margin-bottom: 8px; }
.lla-pb-inhalt ul li::before { content: ''; position: absolute; left: 2px; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: #D4C7AE; }
.lla-pb-inhalt ol { counter-reset: lla; }
.lla-pb-inhalt ol li { counter-increment: lla; }
.lla-pb-inhalt ol li::before { content: counter(lla) '.'; position: absolute; left: 0; color: #A98863; font-weight: 600; font-size: .9em; }
.lla-pb-inhalt a { color: #A98863; text-decoration: none; border-bottom: 1px solid #E6DBC4; }
.lla-pb-inhalt a:hover { border-bottom-color: #C2A17E; }
.lla-pb-inhalt strong { font-weight: 600; }
.lla-pb-stand { margin: 22px 0 0; font-size: .78em; color: #A8A8A8; }
/* Dokumente */
.lla-pb-dateien { list-style: none; margin: 0; padding: 0; }
.lla-pb-dateien li { display: flex; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid #F5F0E6; }
.lla-pb-dateien li:last-child { border-bottom: 0; }
.lla-pb-typ { flex: none; width: 46px; text-align: center; padding: 5px 0; border: 1px solid #E6DBC4; border-radius: 3px; font-size: .62em; font-weight: 600; letter-spacing: .1em; color: #A98863; background: #FDFAF4; }
.lla-pb-dateien a { flex: 1; color: #3A3A3A; font-weight: 500; text-decoration: none; }
.lla-pb-dateien a:hover { color: #A98863; }
.lla-pb-dateien time { flex: none; font-size: .76em; color: #A8A8A8; }
/* Kontakt */
.lla-pb-kontakt { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px; background: #F1E9D9; border-radius: 8px; padding: 30px 38px; margin-top: 30px; }
.lla-pb-kontakt h3 { margin: 0 0 6px; font-size: 1.08em; font-weight: 600; }
.lla-pb-kontakt p { margin: 0; font-size: .9em; color: #5A5A5A; max-width: 430px; }
.lla-pb-kontakt .lla-fm-submit { margin-top: 0; flex: none; }
.lla-pb-zurueck { margin: 26px 0 0; font-size: .88em; }
.lla-pb-zurueck a { color: #8B8B8B; text-decoration: underline; }
.lla-pb-zurueck a:hover { color: #3A3A3A; }
.lla-pb-leer { background: #F1E9D9; border-radius: 8px; padding: 44px; text-align: center; }
.lla-pb-leer h3 { margin: 0 0 10px; font-weight: 600; }
@media (max-width: 860px) { .lla-pb-hero { padding: 40px 28px; min-height: 0; background-image: none !important; background: #F1E9D9; } .lla-pb-hero h2 { font-size: 1.75em; } }
@media (max-width: 640px) {
  .lla-pb-block { padding: 26px 22px; }
  .lla-pb-weg { flex-wrap: wrap; gap: 14px 0; }
  .lla-pb-weg li { flex: 0 0 50%; }
  .lla-pb-weg li::before { display: none; }
  .lla-pb-kontakt { padding: 26px 22px; }
  .lla-pb-dateien li { flex-wrap: wrap; gap: 10px; }
}