Snapshot of uncommitted work: landing, bots, prod infra, partner cabinet, backoffice stage 1

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
zabudko-ruandClaude Opus 5.5 committed 2026-10-21 01:23:32 +04:00
1 parent 45d7512d2b
commit d452824c62
314 files changed
+44394 -121

No files matched your search

+282
View File
@@ -0,0 +1,282 @@
/* Страницы услуг (/social-card, /residence-permit, /airport): тёмная тема главной, текст — колонкой для чтения */
.s-crumbs {
display: flex;
flex-wrap: wrap;
gap: 8px;
padding: 8px 8px 0;
font-size: 14px;
color: #e9c9d5;
}
.s-crumbs a {
color: var(--bc-pink);
}
.s-hero {
display: grid;
grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
gap: 32px;
align-items: start;
padding: 24px 8px 8px;
}
.s-hero__text {
min-width: 0;
}
.s-title {
margin: 0;
font-family: var(--bc-font-head);
font-weight: 800;
font-size: clamp(34px, 5vw, 64px);
line-height: 1;
letter-spacing: -0.03em;
text-wrap: balance;
color: var(--bc-bg);
}
.s-lead {
margin: 20px 0 0;
max-width: 62ch;
font-size: 18px;
line-height: 1.6;
color: #f4dce5;
}
.s-updated {
margin: 14px 0 0;
font-size: 13px;
color: #d9b4c3;
}
/* карточка цены — как клубная карта */
.s-price {
display: flex;
flex-direction: column;
gap: 6px;
padding: 28px;
border-radius: 32px;
background: var(--bc-pink);
color: var(--bc-plum);
}
.s-price__label {
font-size: 14px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
}
.s-price__value {
font-family: var(--bc-font-head);
font-weight: 800;
font-style: italic;
font-size: clamp(36px, 4.4vw, 56px);
line-height: 1;
letter-spacing: -0.03em;
}
.s-price__note {
font-size: 15px;
line-height: 1.45;
}
.s-price__cta {
margin-top: 16px;
height: 56px;
background: var(--bc-plum);
color: #fff;
}
.s-price__cta:hover {
color: #fff;
opacity: 0.92;
}
.s-price__more {
align-self: center;
margin-top: 6px;
font-size: 15px;
font-weight: 600;
color: var(--bc-plum);
}
.s-facts dl {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 12px;
margin: 8px 0 0;
}
.s-fact {
padding: 18px 20px;
border-radius: 24px;
border: 1.5px solid rgba(246, 195, 211, 0.3);
}
.s-fact dt {
font-size: 13px;
color: #e9c9d5;
}
.s-fact dd {
margin: 6px 0 0;
font-family: var(--bc-font-head);
font-weight: 700;
font-size: 19px;
line-height: 1.25;
color: var(--bc-bg);
}
.s-section {
margin-top: 32px;
padding: 0 8px;
}
.s-h2 {
margin: 0 0 8px;
font-family: var(--bc-font-head);
font-weight: 800;
font-size: clamp(28px, 3.4vw, 44px);
line-height: 1.05;
letter-spacing: -0.02em;
text-wrap: balance;
}
.s-h3 {
margin: 0 0 10px;
font-family: var(--bc-font-head);
font-weight: 700;
font-size: 20px;
}
.s-steps .v2-step {
grid-template-columns: 110px minmax(0, 1fr);
}
.s-steps .v2-step__body h3 {
margin: 0;
font-family: var(--bc-font-head);
font-weight: 700;
font-size: clamp(20px, 2.2vw, 26px);
}
/* подробности — колонкой ~65 знаков */
.s-body {
display: flex;
flex-direction: column;
gap: 28px;
max-width: 760px;
margin-top: 40px;
padding: 0 8px;
}
.s-block {
font-size: 17px;
line-height: 1.65;
color: #f4dce5;
}
.s-block .s-h2 {
font-size: clamp(24px, 2.6vw, 32px);
color: var(--bc-bg);
}
.s-block p {
margin: 0 0 10px;
}
.s-block ul {
margin: 0 0 10px;
padding-left: 22px;
}
.s-block li {
margin-bottom: 6px;
}
.s-faq {
display: flex;
flex-direction: column;
max-width: 860px;
}
.s-faq details {
border-top: 1px solid rgba(246, 195, 211, 0.16);
padding: 18px 0;
}
.s-faq summary {
display: flex;
justify-content: space-between;
gap: 16px;
cursor: pointer;
list-style: none;
}
.s-faq summary::-webkit-details-marker {
display: none;
}
.s-faq summary::after {
content: '+';
flex: none;
font-family: var(--bc-font-head);
font-size: 26px;
line-height: 1;
color: var(--bc-pink);
}
.s-faq details[open] summary::after {
content: '−';
}
.s-faq summary h3 {
margin: 0;
font-family: var(--bc-font-head);
font-weight: 700;
font-size: clamp(18px, 2vw, 22px);
line-height: 1.3;
}
.s-faq details p {
margin: 10px 0 0;
max-width: 68ch;
font-size: 17px;
line-height: 1.6;
color: #f4dce5;
}
.s-meta {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 32px;
margin-top: 16px;
padding: 24px 8px 0;
}
.s-related {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 0;
padding: 0;
list-style: none;
}
.s-related a {
display: inline-block;
padding: 8px 16px;
border-radius: 999px;
border: 1.5px solid rgba(246, 195, 211, 0.5);
color: var(--bc-bg);
text-decoration: none;
font-weight: 600;
font-size: 15px;
}
.s-related a:hover {
border-color: var(--bc-pink);
color: var(--bc-pink);
}
@media (max-width: 900px) {
.s-hero,
.s-meta {
grid-template-columns: minmax(0, 1fr);
}
.s-facts dl {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 720px) {
.s-hero {
padding: 16px 0 0;
}
.s-section,
.s-body,
.s-meta,
.s-crumbs {
padding-left: 0;
padding-right: 0;
}
.s-price {
padding: 22px;
border-radius: 28px;
}
.s-steps .v2-step {
grid-template-columns: minmax(0, 1fr);
}
}
@media (max-width: 380px) {
.s-facts dl {
grid-template-columns: minmax(0, 1fr);
}
}