Files
BarevClub/apps/landing/app/landing.css
T
2026-10-25 22:57:03 +04:00

636 lines
11 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* next/font даёт хешированные имена семейств — подменяем токены шрифтов */
:root {
--bc-font-head: var(--font-rubik), var(--font-armenian), 'PingFang SC', 'Noto Sans SC', 'Microsoft YaHei', system-ui, sans-serif;
--bc-font-body: var(--font-onest), var(--font-armenian), 'PingFang SC', 'Noto Sans SC', 'Microsoft YaHei', system-ui, sans-serif;
}
:root:lang(hy),
:root:lang(zh) {
--bc-font-head: var(--font-rubik), var(--font-armenian), 'PingFang SC', 'Noto Sans SC', 'Microsoft YaHei', system-ui, sans-serif;
--bc-font-body: var(--font-onest), var(--font-armenian), 'PingFang SC', 'Noto Sans SC', 'Microsoft YaHei', system-ui, sans-serif;
}
a:hover {
color: var(--bc-accent);
}
.wrap {
max-width: 1240px;
margin: 0 auto;
padding: 16px 20px 32px;
display: flex;
flex-direction: column;
gap: 12px;
}
.row {
display: flex;
flex-wrap: wrap;
gap: 12px;
}
.header {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 8px 8px 8px 20px;
border-radius: 999px;
background: #fff;
}
.nav {
display: flex;
flex-wrap: wrap;
gap: 20px;
font-size: 15px;
font-weight: 500;
}
.nav a {
text-decoration: none;
}
.langs {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 4px;
}
.lang {
min-width: 44px;
height: 44px;
padding: 0 10px;
border-radius: 999px;
border: none;
font-size: 13px;
font-weight: 600;
cursor: pointer;
display: inline-flex;
align-items: center;
justify-content: center;
text-decoration: none;
background: transparent;
color: var(--bc-ink);
}
.lang[aria-current='true'] {
background: var(--bc-pink);
color: var(--bc-plum);
}
/* мобильное меню языков и короткая подпись кнопки Telegram: включаются на узком экране */
.langs__row {
display: contents;
}
.lang-menu,
.tg-short {
display: none;
}
.lang-menu {
position: relative;
}
.lang-menu__current {
gap: 6px;
list-style: none;
background: rgba(30, 27, 26, 0.06);
}
.lang-menu__current::-webkit-details-marker {
display: none;
}
.lang-menu[open] .lang-menu__current svg {
transform: rotate(180deg);
}
.lang-menu__list {
position: absolute;
top: calc(100% + 8px);
right: 0;
z-index: 20;
display: flex;
flex-direction: column;
gap: 2px;
padding: 6px;
border-radius: 24px;
background: #fff;
box-shadow: var(--bc-shadow);
}
.hero {
flex: 999 1 560px;
min-width: 0;
padding: 40px;
border-radius: 36px;
background: var(--bc-pink);
display: flex;
flex-direction: column;
gap: 22px;
color: var(--bc-plum);
}
.hero__tag {
align-self: flex-start;
padding: 8px 14px;
border-radius: 999px;
background: #fff;
font-size: 14px;
font-weight: 600;
}
.hero__sub {
margin: 0;
font-size: 19px;
line-height: 1.5;
max-width: 560px;
}
.clean-promo {
margin-top: auto;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 14px;
padding: 18px 18px 18px 22px;
border-radius: 26px;
background: #fff;
color: var(--bc-ink);
text-decoration: none;
}
.clean-promo:hover {
color: var(--bc-ink);
}
.clean-promo__text {
display: flex;
flex-direction: column;
gap: 4px;
min-width: 0;
flex: 1 1 260px;
}
.clean-promo__text b {
font-family: var(--bc-font-head);
font-weight: 700;
font-size: 20px;
}
.clean-promo__text span {
font-size: 15px;
color: var(--bc-ink-2);
}
.clean-promo__cta {
flex: none;
}
.clean-promo:hover .clean-promo__cta {
opacity: 0.9;
}
.side {
flex: 1 1 380px;
min-width: 0;
display: flex;
flex-direction: column;
gap: 12px;
}
.preview-row {
padding: 12px 14px;
border-radius: 20px;
display: flex;
align-items: center;
gap: 10px;
}
.dir {
flex: 1 1 270px;
min-width: 0;
padding: 24px;
border-radius: 32px;
display: flex;
flex-direction: column;
gap: 12px;
}
.dir__title {
font-family: var(--bc-font-head);
font-weight: 800;
font-size: 26px;
line-height: 1;
}
.how {
flex: 999 1 640px;
min-width: 0;
padding: 28px;
border-radius: 36px;
background: var(--bc-dark);
color: #fff;
display: flex;
flex-direction: column;
gap: 18px;
}
.how__grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 10px;
}
.how__step {
padding: 16px;
border-radius: 24px;
background: var(--bc-dark-2);
display: flex;
flex-direction: column;
gap: 8px;
}
.how__num {
width: 36px;
height: 36px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
}
.agency {
flex: 1 1 360px;
min-width: 0;
padding: 28px;
border-radius: 36px;
background: var(--bc-home);
color: var(--bc-home-ink);
display: flex;
align-items: center;
gap: 16px;
}
.sticker {
width: 120px;
height: 110px;
flex: none;
padding: 14px;
background: var(--bc-perks);
border-radius: 6px;
transform: rotate(6deg);
display: flex;
flex-direction: column;
justify-content: space-between;
color: var(--bc-plum);
}
.plan {
flex: 1 1 300px;
min-width: 0;
padding: 28px;
border-radius: 36px;
display: flex;
flex-direction: column;
gap: 14px;
}
.plan__list {
display: flex;
flex-direction: column;
gap: 8px;
font-size: 15px;
}
.plan__list div {
display: flex;
gap: 8px;
align-items: center;
}
.faq {
flex: 1 1 340px;
min-width: 0;
padding: 28px;
border-radius: 36px;
background: var(--bc-pink);
color: var(--bc-plum);
display: flex;
flex-direction: column;
gap: 8px;
}
.faq details {
border-radius: 20px;
background: #fff;
overflow: hidden;
color: var(--bc-ink);
}
.faq summary {
min-height: 48px;
padding: 12px 16px;
font-size: 15px;
font-weight: 600;
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
cursor: pointer;
list-style: none;
}
.faq summary::-webkit-details-marker {
display: none;
}
.faq summary::after {
content: '+';
font-size: 18px;
}
.faq details[open] summary::after {
content: '−';
}
.faq details p {
margin: 0;
padding: 0 16px 14px;
font-size: 14px;
line-height: 1.45;
color: var(--bc-ink-2);
}
.footer {
display: flex;
flex-wrap: wrap;
gap: 12px;
justify-content: space-between;
align-items: center;
padding: 18px 24px;
border-radius: 999px;
background: #fff;
font-size: 14px;
color: var(--bc-ink-2);
}
.footer__links {
display: flex;
flex-wrap: wrap;
gap: 20px;
}
.prose {
max-width: 760px;
margin: 0 auto;
padding: 32px 20px;
line-height: 1.6;
}
/* политика конфиденциальности */
.policy {
overflow-wrap: anywhere;
}
.policy h1 {
font-size: clamp(28px, 7vw, 44px);
text-wrap: balance;
}
.policy__top {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.policy__langs {
display: flex;
flex-wrap: wrap;
gap: 4px;
}
.policy__langs a {
padding: 4px 10px;
border-radius: 999px;
font-size: 13px;
font-weight: 600;
color: var(--bc-ink-2);
text-decoration: none;
}
.policy__langs a[aria-current='page'] {
background: var(--bc-plum);
color: #fff;
}
.policy__updated {
color: var(--bc-ink-2);
font-size: 14px;
}
.policy__toc {
margin: 20px 0 8px;
padding: 16px 20px 16px 40px;
border-radius: 24px;
background: #fff;
}
.policy__toc a {
color: inherit;
}
.policy__section {
scroll-margin-top: 16px;
}
.policy__section h2 {
margin: 32px 0 8px;
font-family: var(--bc-font-head);
font-size: 22px;
line-height: 1.25;
color: var(--bc-plum);
}
.policy__section ul {
padding-left: 22px;
}
.policy__section li {
margin-bottom: 6px;
}
.policy__footer {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: 12px;
margin-top: 40px;
padding-top: 20px;
border-top: 1px solid rgba(74, 16, 40, 0.15);
font-size: 14px;
color: var(--bc-ink-2);
}
.policy__footer a {
color: inherit;
}
.policy__legal {
display: flex;
flex-wrap: wrap;
gap: 8px 20px;
flex-basis: 100%;
}
/* страница цен */
.pr-plans {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 12px;
margin-top: 16px;
}
.pr-plan {
display: flex;
flex-direction: column;
gap: 8px;
padding: 18px;
border-radius: 20px;
background: #fff;
border: 1.5px solid rgba(74, 16, 40, 0.12);
}
.pr-plan[data-plan='plus'] {
background: var(--bc-pink);
border-color: var(--bc-pink);
}
.pr-plan[data-plan='elite'] {
background: var(--bc-perks);
border-color: var(--bc-perks);
}
.pr-plan h3 {
margin: 0;
font-family: var(--bc-font-head);
font-weight: 800;
font-style: italic;
font-size: 26px;
line-height: 1.1;
color: var(--bc-plum);
}
.pr-plan__price {
font-family: var(--bc-font-head);
font-weight: 600;
font-size: 18px;
color: var(--bc-plum);
}
.pr-plan ul {
display: flex;
flex-direction: column;
gap: 6px;
margin: 4px 0 0;
padding: 0;
list-style: none;
font-size: 15px;
line-height: 1.4;
}
.pr-plan li {
display: flex;
gap: 8px;
align-items: flex-start;
}
.pr-plan li svg {
flex: none;
margin-top: 2px;
color: var(--bc-plum);
}
.pr-plan small {
margin-top: auto;
padding-top: 8px;
font-size: 13px;
line-height: 1.4;
color: var(--bc-ink-2);
}
.pr-group h3 {
margin: 24px 0 4px;
font-family: var(--bc-font-head);
font-size: 18px;
color: var(--bc-plum);
}
.pr-list {
margin: 0;
border-radius: 20px;
background: #fff;
padding: 4px 18px;
}
.pr-row {
display: flex;
justify-content: space-between;
align-items: baseline;
gap: 16px;
padding: 12px 0;
}
.pr-row + .pr-row {
border-top: 1px solid rgba(74, 16, 40, 0.1);
}
.pr-row dt {
display: flex;
flex-direction: column;
gap: 2px;
font-weight: 600;
}
.pr-row dt a {
color: inherit;
}
.pr-row dt small {
font-weight: 400;
font-size: 13px;
line-height: 1.4;
color: var(--bc-ink-2);
}
.pr-row dd {
margin: 0;
flex: none;
font-family: var(--bc-font-head);
font-weight: 600;
white-space: nowrap;
color: var(--bc-plum);
}
@media (max-width: 720px) {
.pr-plans {
grid-template-columns: minmax(0, 1fr);
}
}
@media (max-width: 720px) {
.wrap {
padding: 12px 16px 24px;
}
.header {
border-radius: 28px;
padding: 12px 12px 12px 16px;
}
.nav {
display: none;
}
.header {
flex-wrap: nowrap;
padding: 8px 8px 8px 16px;
white-space: nowrap;
}
.header .langs {
flex-wrap: nowrap;
gap: 6px;
}
.header .langs > a {
margin-left: 0 !important;
}
.langs__row {
display: none;
}
.lang-menu {
display: block;
}
.tg-long {
display: none;
}
.tg-short {
display: inline;
}
.hero {
padding: 24px;
border-radius: 28px;
}
.clean-promo__cta {
width: 100%;
}
.how__grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.footer {
border-radius: 28px;
}
}
.bc-row-pill > span:last-child {
white-space: nowrap;
}
.perks-big {
font-family: var(--bc-font-head);
font-weight: 800;
font-size: clamp(40px, 4.2vw, 64px);
line-height: 1;
letter-spacing: -2px;
white-space: nowrap;
}
/* услуга ещё не запущена */
.bc-row-pill[data-soon='true'] > span:last-child {
font-size: 13px;
font-weight: 600;
opacity: 0.7;
}
a.bc-row-pill {
text-decoration: none;
color: inherit;
}
a.bc-row-pill:hover {
box-shadow: inset 0 0 0 2px currentColor;
color: inherit;
}
.langs-sticker {
display: flex;
flex-direction: column;
gap: 2px;
font-family: var(--bc-font-head);
font-weight: 700;
font-size: 20px;
line-height: 1.1;
}
.langs-sticker__list {
font-size: 15px;
font-weight: 600;
word-spacing: 4px;
white-space: nowrap;
}