/*
Theme Name: Red Knights Germany 35
Theme URI: https://example.org/
Author: MB Bürodienstleistungen
Description: Individuelles WordPress-Theme für Red Knights Germany 35 mit Terminkalender, Member-Organigramm und vorbereiteter Facebook-Einbindung.
Version: 2.1.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: rk35
*/
:root{--rk-black:#0b0b0c;--rk-panel:#171719;--rk-gold:#b59a64;--rk-red:#cf1424;--rk-text:#f7f6f3;--rk-muted:#bcb9b4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--rk-black);color:var(--rk-text);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--rk-gold);outline-offset:3px}.shell{width:min(1440px,94%);margin:auto}.masthead{background:linear-gradient(115deg,#0b0b0c 54%,#242020);border-bottom:1px solid #303033}.brand{display:flex;gap:22px;align-items:center;padding:18px 0}.brand img{width:110px;height:110px;object-fit:contain}.brand h1,.brand p{margin:0}.brand h1{font-size:clamp(24px,3vw,43px);letter-spacing:.03em;line-height:1.08}.brand h1 span{color:var(--rk-gold)}.brand p{letter-spacing:.18em;color:var(--rk-gold);font-size:11px;text-transform:uppercase}.mainnav{background:#111113;border-bottom:2px solid var(--rk-red)}.navinner{display:flex;align-items:center;justify-content:space-between}.menu{display:flex;gap:0;list-style:none;padding:0;margin:0;flex-wrap:wrap}.menu a{display:block;padding:14px 16px;font-size:14px;font-weight:700}.menu a:hover,.current-menu-item>a{background:#262326;color:#e2c386}.menu-toggle{display:none;background:transparent;color:white;border:1px solid #666;padding:9px 14px;cursor:pointer}.pagegrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;padding-top:25px;padding-bottom:45px}.maincontent{min-width:0}.hero{min-height:435px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(0deg,rgba(0,0,0,.94),rgba(0,0,0,.05) 90%),linear-gradient(120deg,#4e3129,#171719 72%);background-position:center;background-size:cover;border:1px solid #353131}.hero-content{padding:clamp(23px,4vw,54px);max-width:700px}.eyebrow{font-size:13px;color:#e0c389;letter-spacing:.15em;text-transform:uppercase;font-weight:800}.hero h2{line-height:1.07;font-size:clamp(34px,5vw,65px);margin:8px 0 17px}.hero h2 strong{color:#ddbf8c}.hero p{font-size:17px;max-width:520px}.btn{display:inline-block;background:var(--rk-red);color:#fff;padding:12px 20px;font-weight:800;text-transform:uppercase;font-size:13px;border:0;cursor:pointer;margin-top:12px}.btn:hover{background:#a90c19}.section-heading{font-size:28px;color:var(--rk-gold);margin:38px 0 16px;border-bottom:1px solid #3a3530;padding-bottom:9px}.tilegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.tile{background:var(--rk-panel);border:1px solid #333;display:flex;flex-direction:column;min-height:230px}.tile-image{height:140px;background:linear-gradient(135deg,#3b3028,#161618);background-position:center;background-size:cover}.tile-inner{padding:15px;flex:1}.tile h3{margin:0;font-size:17px;text-transform:uppercase}.tile p{color:var(--rk-muted);font-size:13px;margin:6px 0}.tile a{color:#e79d9c;font-weight:700;font-size:12px}.sidebar{min-width:0}.side-card{background:#141416;border:1px solid #343236;padding:19px;position:sticky;top:20px}.side-card h2{margin:0 0 18px;font-size:18px;text-transform:uppercase;color:var(--rk-gold)}.event-item{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-top:1px solid #363437}.event-date{border:1px solid #66513a;min-width:56px;text-align:center;padding:6px 4px;color:var(--rk-gold);text-transform:uppercase;font-size:12px}.event-date strong{display:block;color:#fff;font-size:24px;line-height:1.2}.event-body{font-size:13px}.event-body b{display:block;color:white}.event-body small{display:block;color:var(--rk-muted)}.page-panel{background:#161618;border:1px solid #343236;padding:clamp(22px,4vw,43px);min-height:350px}.page-panel h1{color:var(--rk-gold);line-height:1.18;margin-top:0}.page-panel a:not(.btn){color:#e9c486;text-decoration:underline;text-underline-offset:3px}.page-panel p{max-width:850px}.footer{border-top:1px solid #3b3530;padding:32px 0;text-align:center;color:var(--rk-gold);font-size:12px;letter-spacing:.12em}.footer-links{letter-spacing:normal;padding:12px}.footer-links a{margin:0 8px;color:white}.feed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.feed-placeholder{background:#171719;border:1px solid #373232;padding:22px;min-height:160px}.feed-placeholder p{font-size:14px;color:var(--rk-muted)}.members{margin-top:16px}.member-row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:18px 0}.member-card{width:210px;max-width:100%;background:#202023;border:1px solid #493e33;text-align:center;padding:14px}.member-card img{width:100%;height:190px;object-fit:cover;background:#303033}.member-card .no-photo{display:grid;place-items:center;height:190px;background:#303033;font-size:46px;color:var(--rk-gold)}.member-role{font-size:12px;color:var(--rk-gold);text-transform:uppercase;letter-spacing:.08em}.member-card h3{font-size:16px;margin:8px 0 0}.member-card p{font-size:12px;color:var(--rk-muted);margin:4px 0}.connector{width:1px;height:16px;background:var(--rk-gold);margin:auto}.member-row--other{display:grid;grid-template-columns:repeat(3,minmax(0,210px));justify-content:center}.event-meta{color:var(--rk-gold);font-weight:700}.event-list .event-item{border-top:1px solid #393638}.article-img{max-height:420px;width:100%;object-fit:cover;margin-bottom:22px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:10px;top:10px;background:white;color:black;z-index:1000;padding:10px}@media(max-width:950px){.pagegrid{grid-template-columns:1fr}.side-card{position:static}.tilegrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.brand img{width:76px;height:76px}.brand{gap:12px}.brand p{font-size:9px;letter-spacing:.08em}.menu-toggle{display:block;margin:10px 0}.navinner{display:block}.menu{display:none;flex-direction:column}.menu.is-open{display:flex}.menu a{padding:10px 12px;border-top:1px solid #333}.hero{min-height:440px}.hero-content{padding:25px}.tilegrid,.feed-grid{grid-template-columns:1fr}.tile{min-height:0}.tile-image{height:175px}.member-row--other{grid-template-columns:repeat(2,minmax(0,210px))}.member-card{width:100%}}@media(max-width:400px){.member-row--other{grid-template-columns:1fr}.member-card{width:210px}}

/* V1.2 – Bildkopf und Kalender-Einstieg wie im Mockup */
.masthead{position:relative;background-color:#080809;background-image:linear-gradient(90deg,#080809 0%,rgba(8,8,9,.98) 34%,rgba(8,8,9,.42) 68%,rgba(8,8,9,.18)),var(--rk35-header-bg,none);background-repeat:no-repeat;background-position:center,right center;background-size:cover,auto 130%;min-height:158px;display:flex;align-items:center}
.brand{min-height:156px;position:relative;z-index:1}
.brand img{width:126px;height:126px}
.sidebar .calendar-banner{height:155px;background-size:cover;background-position:center;border-bottom:3px solid var(--rk-red);margin:-19px -19px 20px}
.sidebar .side-card{overflow:hidden}
.tilegrid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.tilegrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:950px){.tilegrid{grid-template-columns:repeat(2,minmax(0,1fr))}.masthead{background-size:cover,auto 100%}}
@media(max-width:700px){.masthead{min-height:110px;background-position:center,right center}.brand{min-height:110px}.brand img{width:76px;height:76px}.tilegrid{grid-template-columns:1fr}.calendar-banner{height:135px}}


/* V2 – bereinigte Startseite */
:root{--rk-shell:max(92vw, min(1440px, 92vw));}
.shell{width:min(1440px,92%)}
.masthead{position:relative;background-color:#080809;background-image:linear-gradient(90deg,rgba(8,8,9,.96) 0%,rgba(8,8,9,.94) 34%,rgba(8,8,9,.58) 68%,rgba(8,8,9,.18) 100%),var(--rk35-header-bg,none);background-repeat:no-repeat;background-position:center;background-size:cover;min-height:165px;display:flex;align-items:center}
.brand{min-height:160px;position:relative;z-index:1;padding:20px 0}
.brand img{width:118px;height:118px;object-fit:contain}
.brand h1{font-size:clamp(30px,4.2vw,60px);font-weight:800;letter-spacing:.03em}
.brand p{font-size:12px;letter-spacing:.16em}
.pagegrid{grid-template-columns:minmax(0,1fr) 320px;gap:22px;padding-top:26px}
.hero{min-height:470px;align-items:flex-end;background-position:center;background-size:cover;border:1px solid #363238;box-shadow:0 12px 28px rgba(0,0,0,.24)}
.hero-content{padding:38px 40px 34px;max-width:620px;background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.18));backdrop-filter:blur(1px)}
.hero h2{font-size:clamp(42px,5.2vw,72px);margin:10px 0 16px;text-transform:uppercase}
.hero p{font-size:18px;max-width:520px;margin:0}
.tilegrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:20px}
.tile{min-height:0;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.tile:hover{transform:translateY(-2px);border-color:#65513a;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.tile-image{height:160px}
.tile-inner{padding:14px 14px 16px}
.tile h3{font-size:15px;line-height:1.2;margin-bottom:8px}
.tile p{font-size:13px;line-height:1.45;min-height:56px}
.side-card{padding:0;overflow:hidden}
.calendar-banner{height:170px;background-size:cover;background-position:center;border-bottom:3px solid var(--rk-red);margin:0}
.side-card__inner{padding:18px 19px 19px}
.side-card h2{margin:0 0 12px;padding-top:2px}
.event-item{padding:12px 0}
.feed-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.footer{padding:34px 0 36px}
@media(max-width:1180px){.tilegrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:950px){.pagegrid{grid-template-columns:1fr}.tilegrid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{order:2}}
@media(max-width:700px){.masthead{min-height:auto;background-position:center}.brand{min-height:auto}.brand img{width:82px;height:82px}.brand h1{font-size:clamp(24px,9vw,42px)}.brand p{font-size:10px;letter-spacing:.08em}.hero{min-height:430px}.hero-content{padding:24px;background:linear-gradient(180deg,rgba(0,0,0,.62),rgba(0,0,0,.22))}.hero h2{font-size:clamp(36px,11vw,50px)}.hero p{font-size:16px}.tilegrid,.feed-grid{grid-template-columns:1fr}.tile-image{height:180px}}
