PM_Project/css/sections/paketdetails.css

300 lines
5.7 KiB
CSS

/* US02-03: Detailseiten, auf Basis der bestehenden TriHub-Markenstile. */
.detail-top {
padding: 32px 0 72px;
border-bottom: 1px solid var(--line);
background:
linear-gradient(rgb(4 14 20 / 85%), rgb(4 14 20 / 96%)),
url("../../assets/images/hero/trihub-ribbon.webp") center / cover;
}
.breadcrumb {
display: flex;
flex-wrap: wrap;
gap: 14px;
margin-bottom: 44px;
color: var(--quiet);
font-size: 0.875rem;
}
.breadcrumb a {
color: var(--muted);
border-bottom: 1px solid var(--line);
}
.breadcrumb a:hover {
color: #fff;
}
.detail-hero {
display: grid;
grid-template-columns: 1.12fr 1fr;
gap: 48px;
align-items: start;
}
.detail-hero h1 {
margin: 18px 0;
font-size: clamp(3rem, 5.5vw, 5rem);
}
.detail-subtitle {
margin-bottom: 22px;
font-size: clamp(1.5rem, 2.3vw, 2rem);
font-weight: 600;
}
.detail-intro {
color: var(--muted);
font-size: 1.125rem;
line-height: 1.8;
}
.proposal-note {
margin-top: 20px;
color: var(--quiet);
font-size: 0.8125rem;
line-height: 1.7;
}
.detail-facts {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
margin-top: 28px;
}
.detail-facts > div {
display: grid;
align-content: start;
gap: 10px;
padding: 20px;
background: var(--panel);
border: 1px solid var(--line);
border-radius: 1.25rem;
}
.detail-facts span {
color: var(--quiet);
font-size: 0.8125rem;
}
.detail-facts strong {
color: #fff;
font-family: var(--font-display);
font-weight: 600;
font-size: clamp(1.25rem, 2vw, 1.65rem);
line-height: 1.3;
}
.detail-facts small {
color: var(--muted);
font-size: 0.8125rem;
}
.detail-hero .hero-visual {
height: 630px;
}
.detail-section {
padding-block: 88px;
}
#leistungen,
.detail-price-section {
background: var(--surface-elevated);
border-block: 1px solid var(--line);
}
.detail-benefits {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 24px;
}
.detail-benefits article {
padding: 28px;
background: var(--panel);
border: 1px solid var(--line);
border-radius: 1.5rem;
}
.detail-number {
display: block;
margin-bottom: 24px;
color: var(--quiet);
font-size: 0.875rem;
letter-spacing: 0.12em;
}
.detail-benefits h3 {
margin-bottom: 16px;
font-size: 1.2rem;
}
.detail-benefits p,
.detail-benefits li {
color: var(--muted);
font-size: 1rem;
line-height: 1.8;
}
.detail-benefits ul {
margin: 18px 0 0;
padding-left: 20px;
list-style: disc;
}
.detail-benefits li + li {
margin-top: 10px;
}
.detail-timeline {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 32px;
margin: 0;
padding: 0;
list-style: none;
}
.detail-timeline li {
padding-top: 24px;
border-top: 1px solid var(--line);
}
.detail-timeline h3 {
margin-block: 16px;
font-size: 1.25rem;
}
.detail-timeline p {
color: var(--muted);
font-size: 1rem;
}
.detail-footnote {
margin-top: 40px;
padding: 28px;
border: 1px solid var(--line);
border-radius: 1.5rem;
background: #ffffff05;
}
.detail-footnote h3 {
font-size: 1.125rem;
margin-bottom: 12px;
}
.detail-footnote p {
color: var(--muted);
font-size: 1rem;
}
.detail-price-layout {
display: grid;
grid-template-columns: 1fr 1fr;
align-items: start;
gap: 72px;
}
.detail-price-layout h2 {
margin-block: 18px 28px;
font-size: clamp(2rem, 3.1vw, 3rem);
}
.detail-price-layout > div > p:not(.eyebrow) {
color: var(--muted);
margin-bottom: 20px;
}
.price-panel {
padding: 36px;
border: 1px solid rgb(255 255 255 / 15%);
border-radius: 2rem;
background: var(--panel);
}
.price-panel .price-caption {
margin-block: 18px 8px;
font-size: 0.875rem;
color: var(--muted);
}
.price-panel .detail-price {
margin: 0;
font-family: var(--font-display);
color: #fff !important;
font-size: clamp(2.5rem, 4vw, 3.5rem);
font-weight: 600;
line-height: 1.3;
letter-spacing: -0.04em;
}
.price-panel label {
display: block;
margin: 28px 0 10px;
font-size: 0.9375rem;
}
.price-panel select {
width: 100%;
min-height: 52px;
padding: 12px;
border: 1px solid #ffffff33;
border-radius: 0.75rem;
color: #fff;
background: var(--background);
font-size: 1rem;
}
.price-panel .discount-summary {
margin: 20px 0;
color: var(--muted);
font-size: 1rem;
}
.price-panel .proposal-note {
margin-bottom: 0;
font-size: 0.8125rem;
}
.detail-alternatives {
display: flex;
flex-wrap: wrap;
gap: 16px;
margin-top: 28px;
}
.detail-page .process-end {
margin: 0;
padding: 0;
border: 0;
}
.detail-page .process-end h2 {
margin-block: 16px;
font-size: clamp(1.7rem, 2.7vw, 2.5rem);
}
.detail-page .process-end p:not(.eyebrow) {
color: var(--muted);
font-size: 1rem;
}
@media (max-width: 1100px) {
.detail-hero {
gap: 30px;
}
.detail-price-layout {
gap: 32px;
}
.detail-benefits {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.detail-hero .hero-visual {
height: 580px;
}
}
@media (max-width: 760px) {
.detail-top {
padding-block: 24px 48px;
}
.breadcrumb {
margin-bottom: 30px;
}
.detail-hero,
.detail-price-layout {
grid-template-columns: minmax(0, 1fr);
gap: 32px;
}
.detail-hero h1 {
font-size: 3rem;
}
.detail-hero .hero-visual {
height: 410px;
}
.detail-section {
padding-block: 56px;
}
.detail-benefits,
.detail-timeline {
grid-template-columns: minmax(0, 1fr);
}
.detail-benefits article,
.detail-footnote {
padding: 24px;
}
.price-panel {
padding: 26px;
}
.detail-page .process-end .button {
margin-top: 24px;
}
.detail-facts > div {
padding: 16px;
}
}
@media (max-width: 360px) {
.detail-facts {
grid-template-columns: minmax(0, 1fr);
}
.detail-alternatives .button {
width: 100%;
}
}