{# Level-2-Template: SP Public Spring 26 Design System #}
{# Extends base.tailwind.public (Level 1) — adds fonts, colors, design-system CSS #}
{# Styleguide: doc/standards/sp-public-spring-26-styleguide.md #}
{% extends "@StartPlatzStyleBundle/base.tailwind.public.html.twig" %}
{# === Topic Color (override in Level-3 templates) === #}
{# "green" or "blue" — controls CTA, top-stripes, active filter #}
{% set topicColor = block('topicColor') is defined ? block('topicColor') : 'green' %}
{% block fonts %}
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Source+Sans+Pro:wght@400;600;700&display=swap" rel="stylesheet">
{% endblock %}
{% block tailwindConfig %}
<script>
tailwind.config = {
theme: {
extend: {
colors: {
sp: {
green: '#7ab800',
'green-dark': '#5a8a00',
blue: '#0080bb',
'blue-dark': '#006699',
gray: '#525459',
'gray-light': '#f5f6f7',
'gray-mid': '#e2e3e5',
},
acc: { blue: '#0066CC', 'blue-dark': '#0052a3' },
rp: { red: '#dc3545', 'red-dark': '#b02a37' },
gs: { terracotta: '#c67b5c', 'terracotta-dark': '#b56a4c' },
},
fontFamily: {
sans: ['"Source Sans Pro"', 'system-ui', 'sans-serif'],
display: ['"DM Serif Display"', 'Georgia', 'serif'],
}
}
}
}
</script>
{% endblock %}
{% block styles %}
<style>
/* Diagonale Section-Dividers — STARTPLATZ Key Visual */
.diagonal-top { clip-path: polygon(0 4vw, 100% 0, 100% 100%, 0 100%); }
.diagonal-bottom { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 4vw), 0 100%); }
.diagonal-both { clip-path: polygon(0 4vw, 100% 0, 100% calc(100% - 4vw), 0 100%); }
/* Dekorative diagonale Streifen (auf Gradient-Sections) */
.stripe-decoration { position: relative; overflow: hidden; }
.stripe-decoration::before {
content: ''; position: absolute; top: -60px; right: -120px;
width: 400px; height: 400px; background: rgba(255,255,255,0.06);
transform: rotate(-15deg); border-radius: 24px;
}
.stripe-decoration::after {
content: ''; position: absolute; bottom: -80px; left: -80px;
width: 300px; height: 300px; background: rgba(255,255,255,0.04);
transform: rotate(-15deg); border-radius: 24px;
}
/* Card Hover — Soft (default, fuer Format-Cards) */
.card-hover { transition: box-shadow 0.25s ease, border-color 0.25s ease; }
.card-hover:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.08); border-color: #7ab800; }
/* Card — Brutalist (Offset-Shadow + Press-Down Hover) */
.card-brut {
border: 2.5px solid #525459;
box-shadow: 5px 5px 0 #525459;
transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.card-brut:hover {
box-shadow: 2px 2px 0 #525459;
transform: translate(3px, 3px);
}
/* Smooth Scroll */
html { scroll-behavior: smooth; }
</style>
{% endblock %}
{% block navigation %}
{% include '@StartPlatzStyleBundle/Navigation/_nav.public.tailwind.html.twig' %}
{% endblock %}
{% block bodyClass %}font-sans text-sp-gray bg-white antialiased{% endblock %}
{# topicColor block — Level-3 templates override this #}
{% block topicColor %}green{% endblock %}