trihub-ernaehrung-advinters/css/produktuebersicht.css

423 lines
9.1 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/* Shahnam: Styles und Variablen bleiben innerhalb der Produktuebersicht. */
.produktuebersicht {
color-scheme: dark;
--background: #0714198a;
--background-rgb: 7 20 25; /* gleiche Basisfarbe wie --background,
aber ohne fixes Alpha – für Gradient-Stops
wird benutzt um Bildern einen gradient zu verpassen */
/* es fehlt eine andere backgroundfarbe für das Panel */
--accent: #4597A3;
--text-primary: #ffffff; /*früher "text"*/
--text-muted: #b7bec2; /*früher "muted"*/
--border: rgb(255 255 255 / 16%);
font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
color: var(--text-primary);
background: var(--background);
}
.produktuebersicht,
.produktuebersicht *,
.produktuebersicht::before,
.produktuebersicht *::before,
.produktuebersicht::after,
.produktuebersicht *::after {
box-sizing: border-box;
}
.produktuebersicht {
display: flex;
flex-direction: column;
min-height: 100vh;
min-height: 100svh;
margin: 0;
line-height: 1.6;
}
.produktuebersicht p,
.produktuebersicht h1 {
margin: 0;
}
.produktuebersicht .container {
width: min(1680px, calc(100% - clamp(40px, 10vw, 192px)));
margin-inline: auto;
}
.produktuebersicht .site-header {
border-top: 3px solid var(--accent);
}
.produktuebersicht .brand {
display: flex;
align-items: center;
gap: 20px;
min-height: 96px;
padding-block: 8px;
}
.produktuebersicht .brand__logo {
display: grid;
place-items: center;
flex-shrink: 0;
width: 90px;
height: 80px;
border-radius: 22px;
background: #fff;
}
.produktuebersicht .brand__logo img {
display: block;
width: 60px;
height: 60px;
object-fit: contain;
}
.produktuebersicht .brand__text {
display: flex;
flex-direction: column;
gap: 4px;
min-width: 0;
}
.produktuebersicht .brand__name {
color: #8a9093;
font-size: 14px;
font-weight: 650;
line-height: 1.4;
letter-spacing: 0.25em;
}
.produktuebersicht .brand__label {
color: var(--text-muted);
font-size: 17px;
font-weight: 600;
line-height: 1.4;
}
.produktuebersicht .produktuebersicht__main {
display: flex;
flex: 1;
}
.produktuebersicht .hero {
position: relative;
isolation: isolate;
display: flex;
flex: 1;
min-width: 0;
border-block: 1px solid var(--border);
}
.produktuebersicht .hero__image,
.produktuebersicht .hero::after {
position: absolute;
z-index: -1;
inset: 0;
width: 100%;
height: 100%;
}
.produktuebersicht .hero__image {
inset: 0 0 auto auto;
width: auto;
max-width: 94%;
height: 94%;
object-fit: contain;
object-position: right top;
mask-image: linear-gradient(to right, transparent, #000 18%),
linear-gradient(to bottom, #000 82%, transparent);
mask-composite: intersect;
}
.produktuebersicht .hero::after {
/*background: var(--background);
/* ich bekomme das nicht richtig hin muss Shahmad machen */
background:
linear-gradient(0deg, rgb(var(--background-rgb) / 96%), transparent 42%),
linear-gradient(90deg, rgb(var(--background-rgb) / 94%) 0%, rgb(var(--background-rgb) / 79%) 35%, rgb(var(--background-rgb) / 38%) 72%, rgb(var(--background-rgb) / 25%) 100%);
content: "";
}
.produktuebersicht .hero__inner {
display: flex;
flex-direction: column;
padding-block: clamp(32px, 5vh, 64px) 28px;
}
.produktuebersicht .hero__content {
width: min(100%, 1000px);
margin-block: auto;
padding-block: 24px 64px;
}
.produktuebersicht .hero__eyebrow {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 26px;
color: var(--text-muted);
font-size: 11px;
font-weight: 650;
letter-spacing: 0.16em;
text-transform: uppercase;
}
.produktuebersicht .hero__eyebrow::before {
width: 28px;
height: 1px;
flex-shrink: 0;
background: currentColor;
content: "";
}
.produktuebersicht h1 {
color: var(--text-primary);
max-width: 100%;
font-size: clamp(42px, 4.9vw, 88px);
font-weight: 550;
line-height: 1.1;
letter-spacing: -0.055em;
text-wrap: balance;
overflow-wrap: break-word;
}
.produktuebersicht h1 span {
display: block;
margin-top: 8px;
color: var(--text-primary);
}
.produktuebersicht .hero__description {
max-width: 65ch;
margin-top: 30px;
color: #d1d7df;
font-size: clamp(16px, 1.15vw, 19px);
line-height: 1.85;
}
.produktuebersicht .hero__details {
display: grid;
grid-template-columns: minmax(0, 1fr) 250px;
align-items: center;
gap: 48px;
padding-top: 28px;
border-top: 1px solid var(--border);
}
.produktuebersicht .benefits {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 24px;
margin: 0;
padding: 0;
list-style: none;
}
.produktuebersicht .benefits li {
display: flex;
align-items: baseline;
gap: 14px;
}
.produktuebersicht .benefits__number {
color: var(--accent);
font-size: 11px;
font-variant-numeric: tabular-nums;
}
.produktuebersicht .benefits p {
font-size: 14px;
font-weight: 500;
}
.produktuebersicht .benefits p span {
display: block;
margin-top: 4px;
color: var(--text-muted);
font-size: 12px;
font-weight: 400;
}
.produktuebersicht .hero__caption {
padding-left: 24px;
border-left: 1px solid var(--border);
}
.produktuebersicht .hero__caption-label {
color: var(--text-muted);
font-size: 10px;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.produktuebersicht .hero__slogan {
margin-top: 8px;
font-size: 22px;
font-weight: 450;
line-height: 1.4;
letter-spacing: -0.025em;
}
.produktuebersicht .site-footer__inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
min-height: 88px;
padding-block: 24px;
font-size: 12px;
}
.produktuebersicht .site-footer__inner p > span {
margin-left: 12px;
color: var(--text-muted);
}
.produktuebersicht .site-footer__note {
display: flex;
align-items: center;
gap: 9px;
color: var(--text-muted);
}
.produktuebersicht .site-footer__note > span {
width: 5px;
height: 5px;
flex-shrink: 0;
border-radius: 50%;
background: var(--accent);
}
@media (max-width: 1100px) {
.produktuebersicht .hero::after {
background:
linear-gradient(0deg, rgb(var(--background-rgb) / 96%), transparent 42%),
linear-gradient(90deg, rgb(var(--background-rgb) / 92%), rgb(var(--background-rgb) / 70%) 65%, rgb(var(--background-rgb) / 48%));
}
.produktuebersicht .hero__content {
max-width: 85%;
}
.produktuebersicht .hero__details {
grid-template-columns: minmax(0, 1fr) 200px;
gap: 28px;
}
.produktuebersicht .benefits li {
flex-direction: column;
gap: 8px;
}
}
@media (max-width: 700px) {
.produktuebersicht .brand {
min-height: 78px;
gap: 12px;
}
.produktuebersicht .brand__logo {
width: 66px;
height: 62px;
border-radius: 17px;
}
.produktuebersicht .brand__logo img {
width: 46px;
height: 46px;
}
.produktuebersicht .brand__name {
font-size: 12px;
}
.produktuebersicht .brand__label {
font-size: 13px;
}
.produktuebersicht .hero__image {
inset: 0;
width: 100%;
max-width: 100%;
height: 100%;
object-fit: cover;
object-position: 60% bottom;
mask-image: none;
}
.produktuebersicht .hero::after {
background: linear-gradient(90deg, rgb(var(--background-rgb) / 87%), rgb(var(--background-rgb) / 65%)),
linear-gradient(0deg, var(--background), transparent 55%);
}
.produktuebersicht .hero__content {
max-width: 100%;
padding-block: 12px 40px;
}
.produktuebersicht .hero__eyebrow {
gap: 8px;
font-size: 10px;
letter-spacing: 0.11em;
}
.produktuebersicht .hero__eyebrow::before {
width: 20px;
}
.produktuebersicht .hero__description {
margin-top: 24px;
}
.produktuebersicht .hero__details {
grid-template-columns: 1fr;
gap: 28px;
padding-top: 24px;
}
.produktuebersicht .benefits {
gap: 16px;
}
.produktuebersicht .benefits p {
font-size: 12px;
}
.produktuebersicht .hero__caption {
padding-left: 16px;
border-left-color: var(--accent);
}
.produktuebersicht .hero__slogan {
font-size: 20px;
}
.produktuebersicht .site-footer__inner {
align-items: flex-start;
flex-direction: column;
gap: 14px;
}
.produktuebersicht .site-footer__inner p > span {
margin-left: 0;
}
.produktuebersicht .site-footer__inner > p:first-child span {
display: block;
margin-top: 4px;
}
}
@media (max-width: 360px) {
.produktuebersicht .benefits {
grid-template-columns: 1fr;
}
.produktuebersicht .benefits li {
flex-direction: row;
gap: 14px;
}
}