Files
ridebus-website/modules/legal/legalPage.module.scss
2026-10-02 20:31:49 +03:00

260 lines
3.9 KiB
SCSS

.header {
position: relative;
overflow: hidden;
padding: 220px 48px 64px;
background:
linear-gradient(180deg, #ffffff00 55%, #fff 98%),
linear-gradient(150deg, var(--legal-accent), #fff 75%);
}
.privacy {
--legal-accent: #d8e2ff;
--legal-ink: #2c4678;
}
.terms {
--legal-accent: #f3edf7;
--legal-ink: #715573;
}
.headerContent {
position: relative;
z-index: 1;
max-width: 1200px;
margin: auto;
h1 {
max-width: 1000px;
margin-top: 28px;
font-size: clamp(2rem, 4.8vw, 4rem);
line-height: 1.15;
font-weight: 800;
color: var(--legal-ink);
overflow-wrap: break-word;
}
p {
max-width: 680px;
margin-top: 20px;
font-size: 1.125rem;
line-height: 1.7;
color: var(--on-background-secondary);
}
time {
display: block;
margin-top: 24px;
font-size: 0.875rem;
color: var(--on-background-secondary);
}
}
.backLink {
display: inline-flex;
gap: 10px;
align-items: center;
color: #0058ff;
font-weight: 700;
padding: 8px 0;
}
.star {
position: absolute;
right: -40px;
top: 200px;
color: var(--legal-ink);
opacity: 0.1;
pointer-events: none;
svg {
width: 300px;
height: 300px;
}
}
.main {
display: grid;
grid-template-columns: 280px minmax(0, 1fr);
align-items: start;
gap: 64px;
width: 100%;
max-width: 1296px;
padding: 0 48px 64px;
margin: 0 auto;
}
.contents {
background: #f3f3fa;
border-radius: 28px;
padding: 28px;
h2 {
font-size: 1rem;
font-weight: 800;
color: #2c4678;
}
ol {
display: flex;
flex-direction: column;
gap: 14px;
margin-top: 20px;
padding-left: 20px;
font-size: 0.875rem;
line-height: 1.6;
color: #455e91;
}
}
.document {
min-width: 0;
line-height: 1.85;
p {
margin-top: 16px;
color: #555;
}
h2 {
display: flex;
gap: 14px;
align-items: baseline;
font-size: 1.4rem;
line-height: 1.5;
font-weight: 800;
color: var(--on-background);
}
.introduction {
margin-top: 0;
font-size: 1.125rem;
color: var(--on-background);
}
}
.section {
margin-top: 36px;
padding-top: 28px;
border-top: 1px solid var(--divider);
scroll-margin-top: 32px;
}
.sectionNumber {
flex-shrink: 0;
color: #0058ff;
font-size: 0.875rem;
}
.contact {
padding: 32px;
border-radius: 28px;
margin-top: 40px;
background: #d8e2ff;
h2,
p {
color: #2c4678;
}
a {
display: inline-block;
margin-top: 16px;
color: #0058ff;
font-weight: 700;
text-decoration: underline;
text-underline-offset: 4px;
overflow-wrap: anywhere;
}
}
.relatedLink {
display: flex;
justify-content: space-between;
align-items: center;
gap: 16px;
padding: 20px 0;
margin-top: 24px;
color: #0058ff;
font-weight: 700;
line-height: 1.6;
}
.relatedLinkIcon {
width: 24px;
height: 24px;
flex-shrink: 0;
}
.main a:focus-visible,
.backLink:focus-visible {
outline: 2px solid #0058ff;
outline-offset: 4px;
border-radius: 4px;
}
@media screen and (max-width: 1100px) {
.header {
padding-top: 180px;
}
.main {
grid-template-columns: 240px minmax(0, 1fr);
gap: 36px;
}
}
@media screen and (max-width: 800px) {
.header {
padding: 160px 24px 40px;
}
.main {
grid-template-columns: minmax(0, 1fr);
gap: 32px;
padding: 0 24px 48px;
}
.contents ol {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
column-gap: 32px;
}
}
@media screen and (max-width: 500px) {
.header {
padding: 125px 24px 32px;
}
.headerContent h1 {
font-size: clamp(1.5rem, 7.5vw, 1.75rem);
}
.main {
padding: 0 16px 40px;
}
.document {
padding: 0 8px;
h2 {
font-size: 1.2rem;
gap: 10px;
}
}
.contents,
.contact {
padding: 24px;
}
.contents ol {
display: flex;
}
.star {
right: -130px;
top: 160px;
}
}