{% extends '@StartPlatzStyleBundle/Bootstrap4/base.homepage.oneColumn.html.twig' %}
{% block title %}{{ startup.name }} - {{ isEnglish ? 'AI Accelerator' : 'KI-Accelerator' }}{% endblock %}
{% block additionalHead %}
<link rel="stylesheet" href="{{ asset('bundles/startplatzstyle/css/startplatz.accelerator.css') }}">
<style>
.startup-detail-hero {
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
padding: 80px 0 60px;
position: relative;
overflow: hidden;
}
.startup-detail-hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(circle at 20% 80%, rgba(0, 200, 150, 0.1) 0%, transparent 50%),
radial-gradient(circle at 80% 20%, rgba(0, 150, 200, 0.1) 0%, transparent 50%);
}
.startup-detail-content {
position: relative;
z-index: 1;
}
.startup-logo-container {
width: 120px;
height: 120px;
background: white;
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
margin-bottom: 24px;
}
.startup-logo-container img {
max-width: 90px;
max-height: 90px;
object-fit: contain;
}
.startup-logo-placeholder {
width: 120px;
height: 120px;
background: linear-gradient(135deg, #00c896 0%, #00a67e 100%);
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center;
font-size: 48px;
font-weight: bold;
color: white;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
margin-bottom: 24px;
}
.startup-detail-title {
font-size: 2.5rem;
font-weight: 700;
color: white;
margin-bottom: 8px;
}
.startup-detail-industry {
color: #00c896;
font-size: 1.1rem;
margin-bottom: 16px;
}
.startup-batch-badge {
display: inline-block;
background: rgba(0, 200, 150, 0.2);
border: 1px solid #00c896;
color: #00c896;
padding: 6px 16px;
border-radius: 20px;
font-size: 0.9rem;
font-weight: 500;
}
.startup-detail-section {
padding: 60px 0;
background: #f8f9fa;
}
.detail-card {
background: white;
border-radius: 16px;
padding: 32px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
height: 100%;
}
.detail-card h3 {
font-size: 1.25rem;
font-weight: 600;
color: #1a1a2e;
margin-bottom: 16px;
display: flex;
align-items: center;
gap: 10px;
}
.detail-card h3 i {
color: #00c896;
}
.detail-card p {
color: #555;
line-height: 1.7;
}
.startup-website-btn {
display: inline-flex;
align-items: center;
gap: 8px;
background: linear-gradient(135deg, #00c896 0%, #00a67e 100%);
color: white;
padding: 12px 24px;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
transition: transform 0.2s, box-shadow 0.2s;
}
.startup-website-btn:hover {
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(0, 200, 150, 0.3);
color: white;
text-decoration: none;
}
.back-link {
color: rgba(255, 255, 255, 0.7);
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 8px;
margin-bottom: 32px;
transition: color 0.2s;
}
.back-link:hover {
color: white;
text-decoration: none;
}
.startup-card-link {
text-decoration: none;
color: inherit;
}
.startup-card-link:hover {
text-decoration: none;
color: inherit;
}
.admin-actions {
margin-top: 20px;
padding-top: 20px;
border-top: 1px solid #eee;
}
/* Ebene 2 & 3 Section Styles */
.startup-public-details,
.startup-internal-details {
padding: 60px 0;
}
.startup-public-details {
background: white;
}
.startup-internal-details {
background: #f0f4f8;
}
.section-header {
font-size: 1.5rem;
font-weight: 600;
color: #1a1a2e;
margin-bottom: 24px;
display: flex;
align-items: center;
gap: 12px;
}
.section-header i {
color: #00c896;
}
.content-card {
background: white;
border-radius: 16px;
padding: 40px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
.content-card.internal {
border-left: 4px solid #00c896;
}
.login-wall-card {
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
border-radius: 16px;
padding: 60px 40px;
text-center;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
border: 2px dashed #dee2e6;
}
.login-wall-card h4 {
font-size: 1.5rem;
font-weight: 600;
color: #1a1a2e;
margin-bottom: 16px;
}
.login-wall-card .lock-icon {
font-size: 48px;
color: #00c896;
margin-bottom: 20px;
}
.login-wall-card p {
color: #6c757d;
max-width: 500px;
margin: 0 auto 24px;
line-height: 1.7;
}
.login-btn {
display: inline-flex;
align-items: center;
gap: 8px;
background: linear-gradient(135deg, #00c896 0%, #00a67e 100%);
color: white;
padding: 14px 32px;
border-radius: 8px;
text-decoration: none;
font-weight: 600;
font-size: 1.1rem;
transition: transform 0.2s, box-shadow 0.2s;
}
.login-btn:hover {
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(0, 200, 150, 0.3);
color: white;
text-decoration: none;
}
.cta-section {
margin-top: 32px;
padding-top: 32px;
border-top: 1px solid #e9ecef;
}
.cta-section h5 {
font-weight: 600;
margin-bottom: 16px;
color: #1a1a2e;
}
.cta-btn {
margin-right: 8px;
margin-bottom: 8px;
}
.member-badge {
display: inline-flex;
align-items: center;
gap: 6px;
background: rgba(0, 200, 150, 0.1);
color: #00a67e;
padding: 8px 16px;
border-radius: 20px;
font-size: 0.85rem;
font-weight: 500;
margin-bottom: 24px;
}
/* Rollenbasierte CTA-Boxen */
.role-cta {
padding: 20px;
border-radius: 12px;
margin-bottom: 16px;
background: #f8f9fa;
border-left: 4px solid #6c757d;
}
.role-cta h5 {
margin-bottom: 12px;
font-size: 1.1rem;
}
.role-cta p {
margin-bottom: 16px;
color: #555;
}
.investor-cta {
border-left-color: #28a745;
background: rgba(40, 167, 69, 0.05);
}
.mentor-cta {
border-left-color: #007bff;
background: rgba(0, 123, 255, 0.05);
}
.eir-cta {
border-left-color: #17a2b8;
background: rgba(23, 162, 184, 0.05);
}
.general-cta {
border-left-color: #6c757d;
background: rgba(108, 117, 125, 0.05);
}
.admin-actions {
margin-top: 16px;
padding-top: 16px;
border-top: 1px dashed #dee2e6;
}
/* Value Unit Boxen für Ebene 3 */
.value-unit {
padding: 16px;
border-radius: 8px;
margin-bottom: 16px;
background: #f8f9fa;
}
.value-unit h5 {
font-size: 1rem;
margin-bottom: 12px;
}
.value-unit ul {
margin-bottom: 0;
padding-left: 20px;
}
.value-unit.mentoring {
border-left: 3px solid #007bff;
}
.value-unit.corporate {
border-left: 3px solid #28a745;
}
.value-unit.investment {
border-left: 3px solid #ffc107;
}
/* Internal CTA Card (Link zur internen Seite) */
.internal-cta-card {
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
border-radius: 20px;
padding: 50px 40px;
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
border: 2px solid #e9ecef;
max-width: 700px;
margin: 0 auto;
}
.internal-cta-icon {
width: 80px;
height: 80px;
background: linear-gradient(135deg, #00c896 0%, #00a67e 100%);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 24px;
box-shadow: 0 8px 25px rgba(0, 200, 150, 0.3);
}
.internal-cta-icon i {
font-size: 32px;
color: white;
}
.internal-cta-card h3 {
font-size: 1.75rem;
font-weight: 700;
color: #1a1a2e;
margin-bottom: 16px;
}
.internal-cta-description {
color: #555;
font-size: 1.1rem;
line-height: 1.7;
max-width: 550px;
margin: 0 auto 28px;
}
.internal-cta-features {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 12px;
margin-bottom: 32px;
}
.feature-badge {
display: inline-flex;
align-items: center;
gap: 6px;
background: white;
border: 1px solid #dee2e6;
color: #495057;
padding: 8px 16px;
border-radius: 20px;
font-size: 0.9rem;
font-weight: 500;
}
.feature-badge i {
color: #00c896;
}
.internal-cta-btn {
display: inline-flex;
align-items: center;
gap: 10px;
background: linear-gradient(135deg, #00c896 0%, #00a67e 100%);
color: white;
padding: 16px 36px;
border-radius: 10px;
text-decoration: none;
font-weight: 600;
font-size: 1.1rem;
transition: transform 0.2s, box-shadow 0.2s;
}
.internal-cta-btn:hover {
transform: translateY(-3px);
box-shadow: 0 12px 30px rgba(0, 200, 150, 0.35);
color: white;
text-decoration: none;
}
</style>
{% endblock %}
{% block navigation %}
{{ menu|raw }}
{% endblock %}
{% block content %}
{# Hero Section #}
<section class="startup-detail-hero">
<div class="container startup-detail-content">
<a href="{{ backUrl }}" class="back-link">
<i class="fas fa-arrow-left"></i>
{{ isEnglish ? 'Back to all startups' : 'Zurück zur Übersicht' }}
</a>
<div class="row align-items-center">
<div class="col-md-8">
{% if startup.logoUrl %}
<div class="startup-logo-container">
<img src="{{ startup.logoUrl }}" alt="{{ startup.name }}">
</div>
{% else %}
<div class="startup-logo-placeholder">
{{ startup.name|slice(0, 1)|upper }}
</div>
{% endif %}
<h1 class="startup-detail-title">{{ startup.name }}</h1>
{% if startup.industry %}
<p class="startup-detail-industry">{{ startup.industry }}</p>
{% endif %}
{% if startup.kiAccelerator %}
<span class="startup-batch-badge">
<i class="fas fa-graduation-cap"></i>
{{ isEnglish ? 'AI Accelerator Batch' : 'KI-Accelerator Batch' }} {{ startup.kiAccelerator }}
</span>
{% endif %}
</div>
<div class="col-md-4 text-md-right mt-4 mt-md-0">
{% if startup.website %}
<a href="{{ startup.website }}" target="_blank" rel="noopener" class="startup-website-btn">
<i class="fas fa-external-link-alt"></i>
{{ isEnglish ? 'Visit Website' : 'Website besuchen' }}
</a>
{% endif %}
</div>
</div>
</div>
</section>
{# Details Section #}
<section class="startup-detail-section">
<div class="container">
<div class="row">
{# Pitch / Description #}
<div class="col-lg-8 mb-4">
<div class="detail-card">
<h3>
<i class="fas fa-lightbulb"></i>
{{ isEnglish ? 'About' : 'Über das Startup' }}
</h3>
{% set pitch = isEnglish and startup.oneSentencePitchEn ? startup.oneSentencePitchEn : startup.oneSentencePitch %}
{% if pitch %}
<p class="lead">{{ pitch|raw }}</p>
{% else %}
<p class="text-muted">
{{ isEnglish ? 'No description available.' : 'Keine Beschreibung verfügbar.' }}
</p>
{% endif %}
{# Admin Actions #}
{% if is_granted('ROLE_ADMIN') %}
<div class="admin-actions">
<a href="{{ path('allmeda_startup_edit', {id: startup.id}) }}"
class="btn btn-outline-primary btn-sm">
<i class="fas fa-edit"></i> Edit in Admin
</a>
{% if startup.teamId %}
<a href="{{ path('allmeda_team_edit', {id: startup.teamId}) }}"
class="btn btn-outline-secondary btn-sm ml-2">
<i class="fas fa-users"></i> Team bearbeiten
</a>
{% endif %}
</div>
{% endif %}
</div>
</div>
{# Quick Facts #}
<div class="col-lg-4 mb-4">
<div class="detail-card">
<h3>
<i class="fas fa-info-circle"></i>
{{ isEnglish ? 'Quick Facts' : 'Kurzinfos' }}
</h3>
<ul class="list-unstyled mb-0">
{% if startup.city %}
<li class="mb-3">
<strong><i class="fas fa-map-marker-alt text-muted mr-2"></i>{{ isEnglish ? 'Location' : 'Standort' }}</strong><br>
<span class="text-muted">{{ startup.city }}</span>
</li>
{% endif %}
{% if startup.industry %}
<li class="mb-3">
<strong><i class="fas fa-industry text-muted mr-2"></i>{{ isEnglish ? 'Industry' : 'Branche' }}</strong><br>
<span class="text-muted">{{ startup.industry }}</span>
</li>
{% endif %}
{% if startup.kiAccelerator %}
<li class="mb-3">
<strong><i class="fas fa-rocket text-muted mr-2"></i>{{ isEnglish ? 'Accelerator' : 'Accelerator' }}</strong><br>
<span class="text-muted">KI-Accelerator NRW Batch {{ startup.kiAccelerator }}</span>
</li>
{% endif %}
</ul>
{% if startup.website %}
<hr>
<a href="{{ startup.website }}" target="_blank" rel="noopener" class="btn btn-outline-success btn-block">
<i class="fas fa-globe mr-2"></i>{{ startup.website|replace({'https://': '', 'http://': '', 'www.': ''})|trim('/') }}
</a>
{% endif %}
</div>
</div>
</div>
{# Back to Grid Link #}
<div class="text-center mt-4">
<a href="{{ backUrl }}" class="btn btn-outline-dark">
<i class="fas fa-th-large mr-2"></i>
{{ isEnglish ? 'View all AI Accelerator Startups' : 'Alle KI-Accelerator Startups anzeigen' }}
</a>
</div>
</div>
</section>
{# Ebene 2: Öffentliche Detailseite (immer sichtbar wenn Inhalt vorhanden) #}
{% set publicContent = isEnglish and startup.publicDetailHtmlEn ? startup.publicDetailHtmlEn : startup.publicDetailHtml %}
{% if publicContent %}
<section class="startup-public-details">
<div class="container">
<h2 class="section-header">
<i class="fas fa-info-circle"></i>
{{ isEnglish ? 'About This Startup' : 'Über dieses Startup' }}
</h2>
<div class="content-card">
{{ publicContent|raw }}
</div>
</div>
</section>
{% endif %}
{# Ebene 3: CTA zur internen Detailseite #}
{% set internalContent = isEnglish and startup.internalDetailHtmlEn ? startup.internalDetailHtmlEn : startup.internalDetailHtml %}
{% if internalContent %}
<section class="startup-internal-details">
<div class="container">
<div class="internal-cta-card text-center">
<div class="internal-cta-icon">
<i class="fas fa-star"></i>
</div>
<h3>{{ isEnglish ? 'Want Deeper Insights?' : 'Tiefere Einblicke gewünscht?' }}</h3>
<p class="internal-cta-description">
{{ isEnglish
? 'Access exclusive member content: detailed team information, mentoring needs, corporate pilot opportunities, and investment signals.'
: 'Erhalte exklusive Mitglieder-Inhalte: detaillierte Team-Informationen, Mentoring-Bedarfe, Corporate-Pilot-Möglichkeiten und Investment-Signale.'
}}
</p>
<div class="internal-cta-features">
<span class="feature-badge"><i class="fas fa-users"></i> {{ isEnglish ? 'Team Details' : 'Team-Details' }}</span>
<span class="feature-badge"><i class="fas fa-user-tie"></i> {{ isEnglish ? 'Mentoring Needs' : 'Mentoring-Bedarfe' }}</span>
<span class="feature-badge"><i class="fas fa-building"></i> {{ isEnglish ? 'Pilot Opportunities' : 'Pilot-Möglichkeiten' }}</span>
<span class="feature-badge"><i class="fas fa-chart-line"></i> {{ isEnglish ? 'Investment Signals' : 'Investment-Signale' }}</span>
</div>
{% if app.user %}
{# Eingeloggt: Direkter Link zur internen Seite #}
<a href="{{ internalPageUrl }}" class="internal-cta-btn">
<i class="fas fa-lock-open"></i>
{{ isEnglish ? 'View Detailed Insights' : 'Detaillierte Einblicke ansehen' }}
</a>
{% else %}
{# Nicht eingeloggt: Login zuerst #}
<a href="{{ path('login', {targetPath: internalPageUrl}) }}" class="internal-cta-btn">
<i class="fas fa-sign-in-alt"></i>
{{ isEnglish ? 'Login to Access' : 'Einloggen für Zugang' }}
</a>
<p class="mt-3 small text-muted">
{{ isEnglish ? 'Not a member yet?' : 'Noch kein Mitglied?' }}
<a href="{{ path('apply_program_home', {programSlug: 'membership'}) }}">
{{ isEnglish ? 'Join STARTPLATZ' : 'Werde Mitglied' }}
</a>
</p>
{% endif %}
</div>
</div>
</section>
{% endif %}
{% endblock %}
{# Footer - use simple version without menuLinksAndPhrases dependency #}
{% block footer %}
<footer class="bg-dark text-white py-4 mt-5">
<div class="container text-center">
<p class="mb-2">
<a href="https://www.startplatz.de" class="text-white" target="_blank">STARTPLATZ</a> |
<a href="https://www.startplatz.de/impressum/" class="text-white" target="_blank">Impressum</a> |
<a href="https://www.startplatz.de/datenschutz/" class="text-white" target="_blank">Datenschutz</a>
</p>
<p class="text-muted mb-0">© {{ "now"|date("Y") }} STARTPLATZ</p>
</div>
</footer>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="{{ asset('bundles/startplatzstyle/js/startplatz.accelerator.js') }}"></script>
{% endblock %}