Carl zum Felsen

/*
WordPress Theme: Carl zum Felsen (Onepager)
Author: Felix Schröder / production FRIENDS
Description: Stilvoller Onepager im gedeckten Blau/Braun der Loge. Enthält Customizer-Optionen (Texte/Links/Farben), Menü, Logo-Support. Ideal als eigenständiges Theme.
Version: 1.0.0
Text Domain: carlzumfelsen
*/

============================
= Ordnerstruktur (Thema) =
============================

carlzumfelsen/
├─ style.css (Theme-Header + Basistypo)
├─ functions.php (Enqueues, Theme-Support, Customizer)
├─ header.php (Head + Header/Navi)
├─ footer.php (Footer)
├─ front-page.php (Startseite Onepager)
├─ screenshot.png (optional: Theme-Screenshot 1200×900)
└─ /inc
└─ customizer.php (Customizer-Felder)

============================
= Datei: style.css =
============================

/**
Theme Name: Carl zum Felsen (Onepager)
Author: production FRIENDS
Description: Stilvoller Onepager für die Johannisloge Carl zum Felsen.
Version: 1.0.0
Text Domain: carlzumfelsen
**/

:root{
–brand-blue:#176FA6;
–brand-blue-muted:#0f4e73;
–brand-ivory:#F2F2F2;
–brand-brown:#403501;
–brand-brown-2:#261D01;
–brand-brown-3:#261201;
–surface:#1b1a17;
–border:rgba(255,255,255,.12);
–muted:rgba(255,255,255,.72);
}

html{scroll-behavior:smooth}
body{background:var(–brand-brown-2);color:var(–brand-ivory);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,“Noto Sans“,“Helvetica Neue“,Arial}
.font-display{font-family:“Playfair Display“,serif}
.container{max-width:1200px;margin:0 auto;padding:0 16px}
.btn{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(–border);border-radius:9999px;padding:.75rem 1.25rem;text-decoration:none}
.btn-primary{background:var(–brand-blue);color:#fff;border-color:transparent}
.btn-primary:hover{filter:brightness(1.06)}
.btn-ghost:hover{background:rgba(255,255,255,.05)}
.card{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));border:1px solid var(–border);border-radius:16px}
.section{scroll-margin-top:6rem}
.hero{background:
radial-gradient(1200px 500px at 80% 20%, rgba(23,111,166,.16), transparent),
radial-gradient(900px 400px at 10% 80%, rgba(64,53,1,.18), transparent),
linear-gradient(180deg, var(–brand-brown-3), var(–brand-blue-muted) 65%, #0b2233);
}
.gold-gradient{background:linear-gradient(90deg,#b9a36a,#8f7a3f,#5e4e27);-webkit-background-clip:text;background-clip:text;color:transparent}
.header{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(–brand-blue) 90%, transparent)}
.nav a{color:var(–brand-ivory);text-decoration:none;padding:.5rem .75rem;border-radius:12px}
.nav a:hover{background:rgba(255,255,255,.08)}
.footer{background:var(–brand-brown);border-top:1px solid var(–border)}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}

/* WordPress Helfer */
.alignwide{max-width:1400px;margin-inline:auto}
.alignfull{width:100vw;margin-left:calc(50% – 50vw)}

============================
= Datei: functions.php =
============================

128,
‚width‘ => 128,
‚flex-height‘ => true,
‚flex-width‘ => true,
]);
register_nav_menus([
‚primary‘ => __(‚Primäre Navigation‘,’carlzumfelsen‘)
]);
}
add_action(‚after_setup_theme‘,’czf_theme_setup‘);

function czf_enqueue(){
// Tailwind per CDN (leichtgewichtig, für Onepager ok)
wp_enqueue_style(‚tailwind‘,’https://cdn.jsdelivr.net/npm/tailwindcss@3.4.4/dist/tailwind.min.css‘,[],null);
wp_enqueue_style(‚czf-style‘, get_stylesheet_uri(), [‚tailwind‘], wp_get_theme()->get(‚Version‘));
}
add_action(‚wp_enqueue_scripts‘,’czf_enqueue‘);

require_once get_template_directory() . ‚/inc/customizer.php‘;
?>

============================
= Datei: /inc/customizer.php=
============================

add_section(‚czf_onepager‘, [
‚title‘ => __(‚Onepager Inhalte‘,’carlzumfelsen‘),
‚priority‘ => 30,
]);

// Hero
$wp_customize->add_setting(‚czf_hero_title‘, [‚default‘ => ‚Carl zum Felsen — Tradition in Hamburg‘]);
$wp_customize->add_control(‚czf_hero_title‘, [
‚label‘ => __(‚Hero Titel‘,’carlzumfelsen‘),
’section‘ => ‚czf_onepager‘,’type‘ => ‚text‘
]);
$wp_customize->add_setting(‚czf_hero_sub‘, [‚default‘ => ‚Johannisloge des Freimaurerordens Deutschlands‘]);
$wp_customize->add_control(‚czf_hero_sub‘, [
‚label‘ => __(‚Hero Unterzeile‘,’carlzumfelsen‘),
’section‘ => ‚czf_onepager‘,’type‘ => ‚text‘
]);

// Instagram, E-Mail
$wp_customize->add_setting(‚czf_instagram‘, [‚default‘ => ‚https://www.instagram.com/jl.carlzumfelsen‘]);
$wp_customize->add_control(‚czf_instagram‘, [
‚label‘ => __(‚Instagram URL‘,’carlzumfelsen‘),
’section‘ => ‚czf_onepager‘,’type‘ => ‚url‘
]);
$wp_customize->add_setting(‚czf_email‘, [‚default‘ => ‚kontakt@carlzumfelsen.de‘]);
$wp_customize->add_control(‚czf_email‘, [
‚label‘ => __(‚Kontakt E