Partner werden: Sponsoring-Argumente & Werbekanäle

Überarbeitete Seite /partner-werden mit Argument-Karten (sponsor-arguments)
und einer Übersicht der Werbekanäle (sponsor-channels) aus
data/partner-werden.json, inkl. zugehöriger Icons.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HGzc6GhWhmLJt1jC2q1SRZ
This commit is contained in:
2026-06-20 20:47:30 +02:00
parent 2c0594811c
commit 1552f974aa
6 changed files with 360 additions and 32 deletions

View File

@@ -3,44 +3,74 @@
declare(strict_types=1); declare(strict_types=1);
/** /**
* Partner werden — Platzhalter/Stub für Sponsoring/Partnerschaft. Pakete und * Werbepartner werden — Conversion-Seite.
* Konditionen folgen; Kontaktweg über data/club.json (Single Source of Truth). * Struktur: Hero → Argumente → Drei Kanäle → Partner-Grid → CTA-Band → FAQ.
* Inhalte: data/partner-werden.json. Logos: data/partners.json (Single Source).
*/ */
$club = json_load('club'); $page = json_load('partner-werden');
$meta = [ $meta = [
'title' => 'Partner werden', 'title' => 'Werbepartner werden',
'description' => 'Werde Partner oder Sponsor des TSV 1908 Kulmbach und unterstütze den Sport im Katzbachtal so kommst du mit uns ins Gespräch.', 'description' => 'Werden Sie Werbepartner des TSV 08 Kulmbach sichtbar vor Ort, in Print und digital. Einstieg ab 199 € pro Saison. Jetzt unverbindlich anfragen.',
'schema' => page_schema([ 'og_image' => 'img/pages/fussball-hero-1600.jpg',
['name' => 'Startseite', 'slug' => ''], 'schema' => page_schema(
['name' => 'Der Verein', 'slug' => 'verein'], [
['name' => 'Partner werden', 'slug' => 'partner-werden'], ['name' => 'Startseite', 'slug' => ''],
]), ['name' => 'Der Verein', 'slug' => 'verein'],
['name' => 'Werbepartner werden', 'slug' => 'partner-werden'],
],
$page['faq'] ?? []
),
]; ];
component('hero', ['hero' => $page['hero']]);
?> ?>
<section class="section legal"> <section class="section sponsor-arguments" id="warum">
<div class="container"> <div class="container">
<div class="legal__head"> <ul class="sponsor-arguments__grid" role="list">
<p class="legal__kicker">Der Verein</p> <?php foreach ($page['arguments']['items'] as $arg): ?>
<h1>Partner werden</h1> <li class="sponsor-arguments__item">
<p class="legal__lead">Unterstütze den TSV 08 Kulmbach und werde sichtbar als Partner mitten im Vereinsleben.</p> <div class="sponsor-arguments__icon" aria-hidden="true"><?= icon($arg['icon']) ?></div>
</div> <div class="sponsor-arguments__body">
<h3 class="sponsor-arguments__title"><?= e($arg['title']) ?></h3>
<div class="legal__body"> <p class="sponsor-arguments__text"><?= e($arg['text']) ?></p>
<section>
<h2>Sponsoring &amp; Partnerschaft</h2>
<p>Ob Bandenwerbung, Trikotsponsoring oder Unterstützung einzelner Abteilungen wir stellen dir gern die passenden Möglichkeiten vor. Eine Übersicht der Partnerpakete und Konditionen ist in Vorbereitung.</p>
</section>
<section>
<h2>Kontakt aufnehmen</h2>
<div class="legal__card">
<p>
<strong><?= e($club['name']) ?></strong><br>
E-Mail: <a href="mailto:<?= e($club['email']) ?>"><?= e($club['email']) ?></a>
</p>
</div> </div>
</section> </li>
</div> <?php endforeach; ?>
</ul>
</div> </div>
</section> </section>
<section class="section section--tinted sponsor-channels" id="kanaele">
<div class="container">
<h2><?= e($page['channels']['title']) ?></h2>
<p class="sponsor-channels__intro"><?= e($page['channels']['intro']) ?></p>
<ul class="sponsor-channels__grid" role="list">
<?php foreach ($page['channels']['items'] as $ch): ?>
<li class="sponsor-channels__card">
<div class="sponsor-channels__head">
<p class="sponsor-channels__kicker"><?= e($ch['kicker']) ?></p>
<div class="sponsor-channels__icon" aria-hidden="true"><?= icon($ch['icon']) ?></div>
<h3 class="sponsor-channels__title"><?= e($ch['title']) ?></h3>
<p class="sponsor-channels__desc"><?= e($ch['text']) ?></p>
</div>
<hr class="sponsor-channels__divider">
<ul class="sponsor-channels__features" role="list">
<?php foreach ($ch['features'] as $feature): ?>
<li><?= icon('check2', 'sponsor-channels__check') ?><?= e($feature) ?></li>
<?php endforeach; ?>
</ul>
</li>
<?php endforeach; ?>
</ul>
</div>
</section>
<?php
component('partner-grid', ['intro' => $page['partner_grid']]);
component('cta-band', [
'band' => $page['cta'],
'anchor' => 'kontakt-aufnehmen',
]);
component('faq', ['faq' => $page['faq'] ?? []]);

108
data/partner-werden.json Normal file
View File

@@ -0,0 +1,108 @@
{
"hero": {
"compact": true,
"align": "bottom-left",
"title": "Lokal sichtbar werden",
"text": "Bringen Sie Ihr Unternehmen dorthin, wo Kulmbach zuhause ist: auf den Sportplatz, in die Stadionzeitung und auf die Vereins-Website. Echte Menschen, echte Reichweite mitten in der Region.",
"image": {
"base": "img/pages/fussball-hero",
"widths": [640, 1000, 1600],
"alt": "Fußballplatz des TSV 08 Kulmbach im Katzbachtal mit Vereinsfahnen"
}
},
"arguments": {
"items": [
{
"icon": "clock-history",
"title": "Tradition seit 1908",
"text": "Seit über 100 Jahren prägt der TSV 08 das Stadtbild Kulmbachs. Partner profitieren von einem Vertrauen, das Generationen gewachsen ist."
},
{
"icon": "people-fill",
"title": "Gesellschaftliche Verantwortung",
"text": "Jugendarbeit und Gemeinschaft stärken auch in schwierigen Zeiten. Partner zeigen Haltung als Arbeitgeber und Teil der Region."
},
{
"icon": "link-45deg",
"title": "Backlink mit echtem Trust",
"text": "Eine langlebige Domain mit Verweisen von Verbänden und Medien. Ein Backlink stärkt Ihre Suchmaschinenposition nachhaltig."
},
{
"icon": "robot",
"title": "KI-Sichtbarkeit von morgen",
"text": "Moderne KI-Suchsysteme bevorzugen vertrauenswürdige, lokal verankerte Quellen. Wer heute hier erscheint, gewinnt morgen digitale Reichweite in einer neuen Dimension."
}
]
},
"channels": {
"title": "Drei Wege zu Ihrer Zielgruppe",
"intro": "Ob auf dem Platz, in der Stadionzeitung oder online wir bieten Ihnen Sichtbarkeit, die ankommt.",
"items": [
{
"kicker": "Paket 01",
"icon": "geo-alt-fill",
"title": "Vor Ort",
"text": "Dauerpräsenz direkt auf dem Sportgelände sichtbar für jeden, der ins Katzbachtal kommt.",
"features": [
"Bandenwerbung am Spielfeldrand",
"Plakatierung auf der Anlage",
"Präsenz bei jedem Heimspiel",
"Direkter Kontakt mit dem Publikum"
]
},
{
"kicker": "Paket 02",
"icon": "newspaper",
"title": "Print",
"text": "Ihre Anzeige in unserer Stadionzeitung HEIMSPIEL gedruckt und bald auch digital.",
"features": [
"1/2 Seite oder ganze Seite wählbar",
"Erscheint zu jedem Heimspiel",
"Print + Flipbook ab Saison 26/27",
"Verteilt an alle Zuschauer vor Ort"
]
},
{
"kicker": "Paket 03",
"icon": "globe2",
"title": "Digital",
"text": "Reichweite auf Website und Instagram rund um die Uhr, weit über den Spieltag hinaus.",
"features": [
"Beitrag auf der Vereinswebsite",
"Post auf unserem Instagram-Kanal",
"Dauerpräsenz online rund um die Uhr",
"Reichweite weit über den Spieltag hinaus"
]
}
]
},
"partner_grid": {
"title": "Auszug bisheriger Partner & Sponsoren",
"text": "Viele lokale Unternehmen setzen bereits auf die Plattform des TSV 08 Kulmbach. Werden Sie Teil dieses Netzwerks."
},
"cta": {
"title": "Kurzes Gespräch?",
"text": "Zehn Minuten genügen, um das passende Paket für Ihr Unternehmen zu finden. Einstieg schon ab 199 Euro pro Saison. Unser Ansprechpartner Christian Ohnemüller freut sich auf Ihre Nachricht.",
"ctas": [
{ "label": "Jetzt Kontakt aufnehmen", "slug": "kontakt", "style": "primary" }
]
},
"faq": [
{
"q": "Welche Werbemöglichkeiten gibt es beim TSV 08 Kulmbach?",
"a": "Wir bieten drei Kanäle: Vor Ort (Bandenwerbung & Plakate am Sportgelände), Print (Anzeigen in unserer Stadionzeitung HEIMSPIEL) sowie Digital (Präsenz auf Website und Instagram). Alle Kanäle können einzeln oder kombiniert gebucht werden."
},
{
"q": "Wen erreiche ich als Werbepartner?",
"a": "Unsere Reichweite umfasst über 650 Vereinsmitglieder, rund 100 Zuschauer pro Heimspiel sowie regelmäßige Besucher auf unserer Website und Instagram. Das Publikum ist lokal verankert Familien, Betriebe und alle Generationen aus Kulmbach und dem Katzbachtal."
},
{
"q": "Ab wann lohnt sich eine Partnerschaft?",
"a": "Der Einstieg ist schon ab 199 Euro pro Saison möglich. In einem kurzen Gespräch finden wir heraus, welcher Kanal und welches Budget am besten zu Ihrem Unternehmen passt."
},
{
"q": "Wie nehme ich Kontakt auf?",
"a": "Schreib uns über das Kontaktformular oder wende dich direkt an Christian Ohnemüller (2. Vorstand), unseren Ansprechpartner für Sponsoring. Zehn Minuten genügen für ein erstes Gespräch."
}
]
}

View File

@@ -595,6 +595,192 @@
object-fit: contain; object-fit: contain;
} }
/* === sponsor-arguments === */
.sponsor-arguments__grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 2.5rem 3rem;
list-style: none;
padding: 0;
}
.sponsor-arguments__item {
display: flex;
gap: 1.25rem;
align-items: flex-start;
}
.sponsor-arguments__icon {
flex-shrink: 0;
width: 2.5rem;
height: 2.5rem;
background: var(--clr-accent);
border-radius: 8px;
display: grid;
place-items: center;
font-size: 1.1rem;
color: #fff;
margin-top: 0.25rem;
}
.sponsor-arguments__title {
font-family: var(--ff-heading);
font-size: var(--fs-675);
text-transform: uppercase;
line-height: var(--lh-heading);
margin: 0 0 0.5rem;
}
.sponsor-arguments__text {
color: var(--clr-text-muted);
font-size: var(--fs-500);
line-height: var(--lh-body);
margin: 0;
}
@media (max-width: 768px) {
.sponsor-arguments__grid {
grid-template-columns: 1fr;
gap: 2rem;
}
}
/* === sponsor-channels === */
.sponsor-channels > .container {
text-align: center;
}
.sponsor-channels__intro {
max-width: 65ch;
margin-inline: auto;
margin-top: 1rem;
color: var(--clr-text-muted);
}
.sponsor-channels__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
margin-top: 2.5rem;
list-style: none;
padding: 0;
align-items: stretch;
}
.sponsor-channels__card {
background: var(--clr-glass-bg);
border: 1px solid var(--clr-glass-border);
border-top: 3px solid var(--clr-accent);
border-radius: var(--radius-card);
padding: 2rem;
display: flex;
flex-direction: column;
gap: 0;
text-align: left;
transition: background var(--transition), box-shadow var(--transition);
}
.sponsor-channels__card:hover {
background: rgb(255 255 255 / 0.07);
box-shadow: 0 8px 32px rgb(0 0 0 / 0.35);
}
.sponsor-channels__head {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 0;
}
.sponsor-channels__kicker {
font-family: var(--ff-body);
font-size: var(--fs-300);
font-weight: var(--fw-bold);
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--clr-text-muted);
margin: 0 0 1rem;
}
.sponsor-channels__icon {
width: 2.75rem;
height: 2.75rem;
background: var(--clr-accent);
border-radius: 8px;
display: grid;
place-items: center;
font-size: 1.25rem;
color: #fff;
margin-bottom: 1.25rem;
}
.sponsor-channels__title {
font-family: var(--ff-heading);
font-size: var(--fs-700);
text-transform: uppercase;
line-height: var(--lh-heading);
margin: 0 0 0.75rem;
}
.sponsor-channels__desc {
color: var(--clr-text-muted);
font-size: var(--fs-500);
line-height: var(--lh-body);
margin: 0;
}
.sponsor-channels__divider {
border: none;
border-top: 1px solid var(--clr-glass-border);
margin: 1.5rem 0;
}
.sponsor-channels__features {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 0.625rem;
flex: 1;
}
.sponsor-channels__features li {
display: flex;
align-items: center;
gap: 0.625rem;
font-size: var(--fs-500);
color: var(--clr-text);
}
.sponsor-channels__check {
flex-shrink: 0;
font-size: 1rem;
color: var(--clr-accent);
}
@media (max-width: 768px) {
.sponsor-channels__grid {
grid-template-columns: 1fr;
}
.sponsor-channels__title {
font-size: var(--fs-700);
}
}
@media (min-width: 769px) and (max-width: 992px) {
.sponsor-channels__grid {
grid-template-columns: repeat(2, 1fr);
}
.sponsor-channels__card:last-child:nth-child(odd) {
grid-column: 1 / -1;
max-width: 50%;
margin-inline: auto;
}
}
/* === persons (Ansprechpartner-Visitenkarten) === */ /* === persons (Ansprechpartner-Visitenkarten) === */
.persons > .container { .persons > .container {
text-align: center; text-align: center;

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10m0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6"/></svg>

After

Width:  |  Height:  |  Size: 161 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8m7.5-6.923c-.67.204-1.335.82-1.887 1.855q-.215.403-.395.872c.705.157 1.472.257 2.282.287zM4.249 3.539q.214-.577.481-1.078a7 7 0 0 1 .597-.933A7 7 0 0 0 3.051 3.05q.544.277 1.198.49zM3.509 7.5c.036-1.07.188-2.087.436-3.008a9 9 0 0 1-1.565-.667A6.96 6.96 0 0 0 1.018 7.5zm1.4-2.741a12.3 12.3 0 0 0-.4 2.741H7.5V5.091c-.91-.03-1.783-.145-2.591-.332M8.5 5.09V7.5h2.99a12.3 12.3 0 0 0-.399-2.741c-.808.187-1.681.301-2.591.332zM4.51 8.5c.035.987.176 1.914.399 2.741A13.6 13.6 0 0 1 7.5 10.91V8.5zm3.99 0v2.409c.91.03 1.783.145 2.591.332.223-.827.364-1.754.4-2.741zm-3.282 3.696q.18.469.395.872c.552 1.035 1.218 1.65 1.887 1.855V11.91c-.81.03-1.577.13-2.282.287zm.11 2.276a7 7 0 0 1-.598-.933 9 9 0 0 1-.481-1.079 8.4 8.4 0 0 0-1.198.49 7 7 0 0 0 2.276 1.522zm-1.383-2.964A13.4 13.4 0 0 1 3.508 8.5h-2.49a6.96 6.96 0 0 0 1.362 3.675c.47-.258.995-.482 1.565-.667m6.728 2.964a7 7 0 0 0 2.275-1.521 8.4 8.4 0 0 0-1.197-.49 9 9 0 0 1-.481 1.078 7 7 0 0 1-.597.933M8.5 11.909v3.014c.67-.204 1.335-.82 1.887-1.855q.216-.403.395-.872A12.6 12.6 0 0 0 8.5 11.91zm3.555-.401c.57.185 1.095.409 1.565.667A6.96 6.96 0 0 0 14.982 8.5h-2.49a13.4 13.4 0 0 1-.437 3.008M14.982 7.5a6.96 6.96 0 0 0-1.362-3.675c-.47.258-.995.482-1.565.667.248.92.4 1.938.437 3.008zM11.27 2.461q.266.502.482 1.078a8.4 8.4 0 0 0 1.196-.49 7 7 0 0 0-2.275-1.52c.218.283.418.597.597.932m-.488 1.343a8 8 0 0 0-.395-.872C9.835 1.897 9.17 1.282 8.5 1.077V4.09c.81-.03 1.577-.13 2.282-.287z"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,2 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M0 2.5A1.5 1.5 0 0 1 1.5 1h11A1.5 1.5 0 0 1 14 2.5v10.528c0 .3-.05.654-.238.972h.738a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 1 1 0v9a1.5 1.5 0 0 1-1.5 1.5H1.497A1.497 1.497 0 0 1 0 13.5zM12 14c.37 0 .654-.211.853-.441.092-.106.147-.279.147-.531V2.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5v11c0 .278.223.5.497.5z"/>
<path d="M2 3h10v2H2zm0 3h4v3H2zm0 4h4v1H2zm0 2h4v1H2zm5-6h2v1H7zm3 0h2v1h-2zM7 8h2v1H7zm3 0h2v1h-2zm-3 2h2v1H7zm3 0h2v1h-2zm-3 2h2v1H7zm3 0h2v1h-2z"/></svg>

After

Width:  |  Height:  |  Size: 530 B