Files

381 lines
6.7 KiB
CSS

body.public-page {
background: #ffffff;
}
.public-shell {
min-height: 100vh;
background: #ffffff;
}
.public-hero {
min-height: 82vh;
background-image: url("../images/landing-hero.png");
background-size: cover;
background-position: center right;
position: relative;
display: flex;
align-items: center;
padding: 4rem 6vw;
}
.public-hero:before {
content: "";
position: absolute;
inset: 0;
background: rgba(255, 255, 255, 0.68);
}
.public-nav {
position: absolute;
top: 1.5rem;
left: 6vw;
right: 6vw;
z-index: 2;
display: flex;
justify-content: space-between;
align-items: center;
gap: 1rem;
}
.public-nav strong {
color: #3d4449;
font-family: "Roboto Slab", serif;
font-size: 1.1em;
}
.public-nav strong a {
border-bottom: 0;
color: inherit;
}
.public-nav .actions {
margin: 0;
}
.public-hero-content {
position: relative;
max-width: 42rem;
}
.public-hero h1 {
margin-bottom: 0.35em;
}
.public-hero p {
color: #3d4449;
max-width: 34rem;
}
.public-hero-lead {
font-size: 1.15em;
}
.public-hero-sub {
font-size: 1.05em;
color: #38761d;
margin-top: -0.4rem;
}
.public-hero-reassure {
font-size: 0.85em;
color: #7f888f;
margin-top: 0.85rem;
}
.public-section {
padding: 4rem 6vw;
}
/* Section intros (Titel + Unterzeile) sind ueberall zentriert, damit die
Seite nicht zwischen linksbuendigen und zentrierten Abschnitten springt.
Die Karteninhalte darunter bleiben davon unberuehrt links ausgerichtet. */
.public-section > header.major {
text-align: center;
max-width: 42rem;
margin-left: auto;
margin-right: auto;
}
.public-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1.25rem;
max-width: 72rem;
margin-left: auto;
margin-right: auto;
}
.public-feature,
.public-panel {
border: solid 1px rgba(210, 215, 217, 0.75);
border-radius: 8px;
padding: 1.5rem;
background: #ffffff;
text-align: left;
transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.public-feature:hover {
transform: translateY(-0.2rem);
box-shadow: 0 0.75rem 1.75rem rgba(61, 68, 73, 0.1);
}
.public-feature h3 {
margin-bottom: 0.5rem;
}
.public-feature p {
margin-bottom: 0;
}
.public-highlight {
background: #eef4ea;
}
/* Trust-Band direkt unter dem Hero: faktische Vertrauensanker, kein Fließtext. */
.public-trust {
background: #38761d;
padding: 1rem 6vw;
}
.public-trust ul {
list-style: none;
margin: 0 auto;
padding: 0;
max-width: 72rem;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0.5rem 1.75rem;
}
.public-trust li {
color: #ffffff;
font-size: 0.9em;
padding-left: 1.4rem;
position: relative;
}
.public-trust li:before {
content: "\2713";
position: absolute;
left: 0;
font-weight: 700;
}
/* Zielgruppen-Chips zur Selbst-Identifikation des Besuchers. */
.public-audience-list {
list-style: none;
margin: 0 auto;
padding: 0;
max-width: 60rem;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0.75rem;
}
.public-audience-list li {
border: solid 1px rgba(210, 215, 217, 0.9);
border-radius: 999px;
padding: 0.5rem 1.1rem;
color: #3d4449;
background: #ffffff;
font-size: 0.95em;
}
.public-price {
font-family: "Roboto Slab", serif;
font-size: 1.5em;
color: #38761d;
font-weight: 700;
}
.public-price span {
font-family: inherit;
font-size: 0.55em;
color: #7f888f;
font-weight: 400;
}
.public-cta-reassure {
font-size: 0.85em;
color: #7f888f;
margin-top: 1rem;
}
.public-fineprint {
max-width: 72rem;
margin-left: auto;
margin-right: auto;
color: #7f888f;
font-size: 0.9em;
}
.public-auth {
min-height: 100vh;
background-image: url("../images/landing-hero.png");
background-size: cover;
background-position: center right;
position: relative;
display: flex;
align-items: center;
padding: 6rem 6vw 4rem 6vw;
}
.public-auth:before {
content: "";
position: absolute;
inset: 0;
background: rgba(255, 255, 255, 0.72);
}
.public-auth-grid {
position: relative;
display: grid;
grid-template-columns: minmax(18rem, 0.85fr) minmax(22rem, 1.15fr);
gap: 2rem;
align-items: start;
width: min(72rem, 100%);
}
.public-auth-copy {
padding-top: 1.25rem;
}
.public-auth-copy p {
color: #3d4449;
font-size: 1.05em;
max-width: 30rem;
}
.public-panel {
box-shadow: 0 0.75rem 2.25rem rgba(61, 68, 73, 0.08);
}
.public-panel h2 {
margin-bottom: 0.5rem;
}
.public-panel form {
margin-bottom: 0;
}
.public-panel .actions {
margin-bottom: 0;
}
.public-steps .public-feature {
position: relative;
padding-top: 2.75rem;
}
.public-step-number {
position: absolute;
top: 1rem;
left: 1.5rem;
display: inline-flex;
align-items: center;
justify-content: center;
width: 1.75rem;
height: 1.75rem;
border-radius: 50%;
background: #38761d;
color: #ffffff;
font-family: "Roboto Slab", serif;
font-weight: 700;
font-size: 0.95em;
}
.public-demo-frame {
max-width: 72rem;
margin-left: auto;
margin-right: auto;
border: solid 1px rgba(210, 215, 217, 0.75);
border-radius: 8px;
overflow: hidden;
box-shadow: 0 0.75rem 2.25rem rgba(61, 68, 73, 0.08);
}
.public-demo-frame img {
display: block;
width: 100%;
height: auto;
}
.public-faq {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1.25rem;
max-width: 72rem;
margin-left: auto;
margin-right: auto;
margin-bottom: 1.5rem;
}
.public-faq .public-panel h3 {
font-size: 1.05em;
margin-bottom: 0.5rem;
}
.public-faq .public-panel p {
margin-bottom: 0;
color: #3d4449;
}
.public-legal {
max-width: 46rem;
margin: 0 auto;
padding-top: 6rem;
}
.public-legal h2 {
margin-top: 2rem;
}
.public-footer-links {
text-align: center;
padding: 1.5rem 6vw 2.5rem 6vw;
}
.public-footer-links a {
color: #3d4449;
margin: 0 0.5rem;
}
.public-cta ul.actions {
justify-content: center;
}
@media screen and (max-width: 980px) {
.public-faq {
grid-template-columns: 1fr;
}
.public-hero {
min-height: 78vh;
padding: 5.5rem 2rem 3rem 2rem;
background-position: center right 30%;
}
.public-auth {
padding: 5.5rem 2rem 3rem 2rem;
background-position: center right 30%;
}
.public-nav {
left: 2rem;
right: 2rem;
}
.public-grid,
.public-auth-grid {
grid-template-columns: 1fr;
}
.public-section {
padding: 3rem 2rem;
}
}