Merge pull request 'US04-02: Trainerprofil (Platzhalter) und Kontakt mit Weiterleitung zu tri-hub.de/kontakt#kontaktinfos' (#9) from feature_US04-02 into dev_experimental
Reviewed-on: https://gitty.informatik.th-mannheim.de/3015351/PM_Project/pulls/9dev_experimental
commit
5baf27068c
|
|
@ -0,0 +1,140 @@
|
|||
/* 8. Trainer und Kontakt (US04-02)
|
||||
Trainerprofil ist ein PLATZHALTER – Foto und Inhalte folgen vom Kunden.
|
||||
Kontakt leitet auf https://tri-hub.de/kontakt weiter. */
|
||||
|
||||
.contact { border-top: 1px solid var(--line); }
|
||||
|
||||
.contact-grid {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
|
||||
gap: 24px;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
/* ---------- Trainerprofil (Platzhalter) ---------- */
|
||||
.trainer-card {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
|
||||
gap: 28px;
|
||||
padding: 16px;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 2rem;
|
||||
background: linear-gradient(#ffffff0f, #ffffff05), linear-gradient(#08151ee6, #091822fa);
|
||||
box-shadow: 0 18px 48px rgb(0 0 0 / 16%);
|
||||
}
|
||||
|
||||
.trainer-photo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 320px;
|
||||
border: 1px dashed rgb(255 255 255 / 22%);
|
||||
border-radius: 1.35rem;
|
||||
background:
|
||||
radial-gradient(circle at 50% 38%, rgb(255 255 255 / 10%) 0 18%, transparent 19%),
|
||||
radial-gradient(ellipse at 50% 100%, rgb(255 255 255 / 8%) 0 42%, transparent 43%),
|
||||
rgb(255 255 255 / 3%);
|
||||
color: var(--quiet);
|
||||
font-size: .8125rem;
|
||||
letter-spacing: .18em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.trainer-photo span { margin-top: 62%; }
|
||||
|
||||
.trainer-body { padding: 12px 12px 12px 0; }
|
||||
|
||||
.placeholder-tag {
|
||||
display: inline-block;
|
||||
margin-bottom: 14px;
|
||||
padding: 4px 12px;
|
||||
border: 1px dashed rgb(255 255 255 / 28%);
|
||||
border-radius: 999px;
|
||||
color: var(--quiet);
|
||||
font-size: .75rem;
|
||||
font-weight: 600;
|
||||
letter-spacing: .16em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.trainer-body h3 { font-size: 1.5rem; }
|
||||
|
||||
.trainer-role { margin-top: 6px; color: var(--muted); font-size: 1rem; }
|
||||
|
||||
.trainer-facts {
|
||||
margin: 22px 0 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
border-top: 1px solid var(--line);
|
||||
}
|
||||
|
||||
.trainer-facts li {
|
||||
display: grid;
|
||||
grid-template-columns: 130px 1fr;
|
||||
gap: 12px;
|
||||
padding: 11px 0;
|
||||
border-bottom: 1px solid var(--line);
|
||||
font-size: 1rem;
|
||||
color: rgb(255 255 255 / 86%);
|
||||
}
|
||||
|
||||
.trainer-facts span { color: var(--quiet); font-size: .875rem; }
|
||||
|
||||
.trainer-quote {
|
||||
margin-top: 20px;
|
||||
color: var(--muted);
|
||||
font-style: italic;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
/* ---------- Kontaktbox ---------- */
|
||||
.contact-card {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 36px;
|
||||
border: 1px solid color-mix(in srgb, var(--accent-muted) 35%, transparent);
|
||||
border-radius: 2rem;
|
||||
background:
|
||||
radial-gradient(circle at 100% 0, rgb(46 182 194 / 14%), transparent 45%),
|
||||
var(--panel);
|
||||
}
|
||||
|
||||
.contact-card h3 { margin-top: 14px; font-size: clamp(1.5rem, 2.2vw, 1.9rem); }
|
||||
|
||||
.contact-card > p:not(.eyebrow) { margin-top: 14px; color: var(--muted); font-size: 1rem; }
|
||||
|
||||
.contact-points {
|
||||
flex: 1;
|
||||
margin: 22px 0 28px;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.contact-points li {
|
||||
position: relative;
|
||||
padding: 6px 0 6px 26px;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.contact-points li::before {
|
||||
content: "✓";
|
||||
position: absolute;
|
||||
left: 0;
|
||||
color: var(--accent-strong);
|
||||
}
|
||||
|
||||
.contact-button { align-self: flex-start; }
|
||||
|
||||
/* ---------- Responsiv ---------- */
|
||||
@media (max-width: 1100px) {
|
||||
.contact-grid { grid-template-columns: 1fr; }
|
||||
}
|
||||
|
||||
@media (max-width: 760px) {
|
||||
.trainer-card { grid-template-columns: 1fr; gap: 18px; }
|
||||
.trainer-photo { min-height: 260px; }
|
||||
.trainer-body { padding: 4px 8px 12px; }
|
||||
.trainer-facts li { grid-template-columns: 1fr; gap: 2px; }
|
||||
.contact-card { padding: 26px 22px; }
|
||||
.contact-button { align-self: stretch; }
|
||||
}
|
||||
|
|
@ -19,6 +19,7 @@
|
|||
<link rel="stylesheet" href="css/sections/angebote.css" />
|
||||
<link rel="stylesheet" href="css/sections/ablauf.css" />
|
||||
<link rel="stylesheet" href="css/responsive.css" />
|
||||
<link rel="stylesheet" href="css/sections/kontakt.css" />
|
||||
<script src="js/angebote.js" defer></script>
|
||||
<script src="js/main.js" defer></script>
|
||||
</head>
|
||||
|
|
@ -45,7 +46,7 @@
|
|||
>
|
||||
<nav aria-label="Hauptnavigation">
|
||||
<a href="https://tri-hub.de/coaching-1zu1">Coaching 1zu1</a><a href="#angebote">Angebote entdecken</a><a href="#ablauf">So
|
||||
läuft’s ab</a><a href="#">Kontakt</a>
|
||||
läuft’s ab</a><a href="#kontakt">Kontakt</a>
|
||||
</nav>
|
||||
<button
|
||||
class="menu-toggle"
|
||||
|
|
@ -311,6 +312,56 @@
|
|||
<a class="text-link" href="#angebote">Dein Angebot entdecken</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- US04-02: Trainer + Kontakt (Weiterleitung zu tri-hub.de/kontakt) -->
|
||||
<section id="kontakt" class="shell section contact" aria-labelledby="kontakt-title">
|
||||
<div class="section-heading">
|
||||
<div>
|
||||
<p class="eyebrow">DEIN ANSPRECHPARTNER</p>
|
||||
<h2 id="kontakt-title">Vereinbare ein<br />persönliches Gespräch.</h2>
|
||||
</div>
|
||||
<p>
|
||||
Lerne deinen Trainer kennen und kläre in einem ersten Gespräch,
|
||||
welche Begleitung zu dir passt.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="contact-grid">
|
||||
<!-- PLATZHALTER: Trainerprofil – Inhalte folgen vom Kunden -->
|
||||
<article class="trainer-card" aria-label="Trainerprofil (Platzhalter)">
|
||||
<div class="trainer-photo" role="img" aria-label="Platzhalter für das Foto des Trainers">
|
||||
<span aria-hidden="true">Foto folgt</span>
|
||||
</div>
|
||||
<div class="trainer-body">
|
||||
<p class="placeholder-tag">Platzhalter</p>
|
||||
<h3>[Name des Trainers]</h3>
|
||||
<p class="trainer-role">[Rolle, z. B. Triathlon-Coach & Ernährungsberater]</p>
|
||||
<ul class="trainer-facts">
|
||||
<li><span>Qualifikation</span>[Ausbildung / Studium]</li>
|
||||
<li><span>Zertifikate</span>[z. B. Lizenz, Fortbildungen]</li>
|
||||
<li><span>Erfahrung</span>[Jahre im Triathlon / in der Beratung]</li>
|
||||
<li><span>Schwerpunkte</span>[z. B. Ernährung ab 50, Wettkampfvorbereitung]</li>
|
||||
</ul>
|
||||
<p class="trainer-quote">„[Kurzes persönliches Statement des Trainers]“</p>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<div class="contact-card">
|
||||
<p class="eyebrow">KOSTENLOS & UNVERBINDLICH</p>
|
||||
<h3>Vereinbare ein persönliches Gespräch</h3>
|
||||
<p>
|
||||
Schreib deinem Trainer über das Kontaktformular von TriHub.
|
||||
Erzähl kurz von deinen Zielen – du bekommst eine persönliche Antwort.
|
||||
</p>
|
||||
<ul class="contact-points">
|
||||
<li>Ziele und Alltag besprechen</li>
|
||||
<li>Passendes Angebot finden</li>
|
||||
<li>Offene Fragen klären</li>
|
||||
</ul>
|
||||
<a class="button contact-button" href="https://tri-hub.de/kontakt#kontaktinfos">Zum Kontaktformular</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
<footer>
|
||||
<div class="shell footer-main">
|
||||
|
|
|
|||
Loading…
Reference in New Issue