shkola/wp-content/themes/dekart/assets/css/reviews-page.css
Dekart Deploy Bot 62b6b1eaa0 reviews-page
2026-06-29 08:54:52 +00:00

2172 lines
47 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.

/* ════════════════════════════════════════════════════
reviews-page.css — стили для page-reviews.php
Декарт — частная школа
════════════════════════════════════════════════════
⚠️ SEO: Featured image файл назван "bezymyannyj.jpg"
(ID 1162). Для улучшения SEO переименовать в
"shkola-dekart-otzyvy.jpg" при повторной загрузке
или через media-rename плагин. */
/* ─── CSS-переменные дизайн-системы ─── */
:root {
--color-primary: #E8753A;
--color-primary-hover: #D6652E;
--color-secondary: #3BB2A0;
--color-accent: #FFD43E;
--color-text: #1C2B2D;
--color-text-muted: #5A6B6D;
--color-text-light: #8A9A9D;
--card-radius: 20px;
--card-padding: clamp(20px, 3vw, 32px);
--card-shadow: 0 2px 16px rgba(0,0,0,0.06);
--card-shadow-hover: 0 8px 32px rgba(0,0,0,0.1);
--transition-fast: 0.2s ease;
--transition-normal: 0.3s ease;
--color-bg: #fff;
--color-bg-warm: #F8F4EF;
--color-bg-alt: #EEF3EE;
--bg-hero: var(--color-bg-warm);
--bg-white: var(--color-bg);
--bg-mint: var(--color-bg-alt);
--accent: #7C3AED;
--accent-hover: #6D28D9;
--accent-light: #F5F3FF;
--color-border: #e8e8e8;
}
/* ─── HERO ─── */
.reviews-hero {
position: relative;
padding: 60px 0;
overflow: hidden;
background: var(--color-text);
background-image:
radial-gradient(ellipse 80% 70% at 20% 40%, rgba(232, 117, 58, 0.08) 0%, transparent 70%),
radial-gradient(ellipse 60% 60% at 80% 60%, rgba(59, 178, 160, 0.06) 0%, transparent 70%);
}
/* Декоративный акцент — тонкая волнистая линия снизу */
.reviews-hero::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 6px;
background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-secondary) 50%, var(--color-primary) 100%);
opacity: 0.5;
}
/* Акцентный уголок справа */
.reviews-hero::before {
content: '';
position: absolute;
top: -120px;
right: -120px;
width: 360px;
height: 360px;
border-radius: 50%;
background: radial-gradient(circle, rgba(232,117,58,0.06) 0%, transparent 70%);
pointer-events: none;
}
.reviews-hero__wrapper {
display: flex;
align-items: center;
gap: 40px;
position: relative;
z-index: 1;
}
.reviews-hero__content {
flex: 1;
max-width: 600px;
min-width: 0;
}
/* ─── Фото — pksh-стиль с анимацией ─── */
.reviews-hero__visual {
position: relative;
flex: 0 0 auto;
width: 380px;
height: 420px;
margin-left: auto;
margin-right: 20px;
display: flex;
align-items: center;
justify-content: center;
}
/* Glow backdrop — адаптирован под тёмный фон hero (оранжевый/бирюзовый) */
.reviews-hero__visual-glow {
position: absolute;
width: 420px;
height: 420px;
border-radius: 50%;
background: radial-gradient(circle, rgba(232,117,58,0.12) 0%, rgba(59,178,160,0.06) 30%, transparent 65%);
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
pointer-events: none;
}
/* Photo wrapper */
.reviews-hero__photo-wrap {
position: relative;
z-index: 2;
display: flex;
align-items: center;
justify-content: center;
}
/* Decorative circular photo frame */
.reviews-hero__photo-frame {
position: relative;
width: 320px;
height: 320px;
border-radius: 50%;
overflow: hidden;
box-shadow:
0 20px 60px rgba(232, 117, 58, 0.15),
0 8px 24px rgba(0, 0, 0, 0.2),
inset 0 0 0 4px rgba(255, 255, 255, 0.6);
border: 6px solid rgba(255, 255, 255, 0.8);
animation: reviewsPhotoFloat 6s ease-in-out infinite;
}
.reviews-hero__photo {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
/* Accent ring — pulsing */
.reviews-hero__photo-ring {
position: absolute;
width: 360px;
height: 360px;
border-radius: 50%;
border: 2px solid rgba(232, 117, 58, 0.12);
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
pointer-events: none;
animation: reviewsRingPulse 4s ease-in-out infinite;
}
/* Floating badges — адаптированы под тёмный фон */
.reviews-hero__float {
position: absolute;
display: flex;
align-items: center;
gap: 8px;
padding: 10px 20px;
border-radius: 100px;
font-family: 'Roboto', sans-serif;
font-size: 13px;
font-weight: 600;
white-space: nowrap;
z-index: 3;
animation: reviewsFloat 5s ease-in-out infinite;
backdrop-filter: blur(8px);
}
.reviews-hero__float--1 {
top: 4%;
right: -8px;
animation-delay: 0s;
background: linear-gradient(135deg, rgba(255,255,255,0.15), rgba(255,255,255,0.05));
color: rgba(255,255,255,0.92);
border: 1px solid rgba(255,255,255,0.12);
}
.reviews-hero__float--2 {
bottom: 22%;
left: -24px;
animation-delay: 1.2s;
background: linear-gradient(135deg, rgba(232,117,58,0.20), rgba(232,117,58,0.08));
color: #FFD4B8;
border: 1px solid rgba(232,117,58,0.15);
}
.reviews-hero__float--3 {
bottom: 4%;
right: 6%;
animation-delay: 2.4s;
background: linear-gradient(135deg, rgba(59,178,160,0.20), rgba(59,178,160,0.08));
color: #B8E6DF;
border: 1px solid rgba(59,178,160,0.15);
}
.reviews-hero__float--4 {
top: 48%;
left: -28px;
animation-delay: 3.5s;
background: linear-gradient(135deg, rgba(255,215,0,0.20), rgba(255,183,77,0.08));
color: #FFE0A0;
border: 1px solid rgba(255,215,0,0.15);
font-size: 12px;
padding: 8px 16px;
}
.reviews-hero__float--4 strong {
color: #FFD43E;
}
.reviews-hero__float-icon {
font-size: 18px;
line-height: 1;
}
/* Sparkle particles */
.reviews-hero__sparkle {
position: absolute;
border-radius: 50%;
pointer-events: none;
z-index: 1;
animation: reviewsSparkleFloat 6s ease-in-out infinite;
background: rgba(255,255,255,0.3);
}
.reviews-hero__sparkle:nth-child(1) { top: 15%; left: 10%; width: 4px; height: 4px; animation-delay: 0s; background: #E8753A; box-shadow: 0 0 8px rgba(232,117,58,0.4); }
.reviews-hero__sparkle:nth-child(2) { top: 30%; right: 18%; width: 6px; height: 6px; animation-delay: 1.2s; }
.reviews-hero__sparkle:nth-child(3) { bottom: 35%; left: 5%; width: 3px; height: 3px; animation-delay: 2s; }
.reviews-hero__sparkle:nth-child(4) { top: 55%; right: 8%; width: 5px; height: 5px; animation-delay: 0.8s; }
.reviews-hero__sparkle:nth-child(5) { bottom: 12%; left: 20%; width: 4px; height: 4px; animation-delay: 3s; }
/* ─── Decorative shapes (как на pksh) ─── */
.reviews-hero__deco {
position: absolute;
border-radius: 50%;
pointer-events: none;
z-index: 1;
}
.reviews-hero__deco--1 {
width: 40px; height: 40px;
background: rgba(232, 117, 58, 0.12);
top: 12%;
left: 2%;
animation: reviewsDecoFloat 6s ease-in-out infinite;
}
.reviews-hero__deco--2 {
width: 24px; height: 24px;
background: rgba(59, 178, 160, 0.14);
bottom: 40%;
right: -6px;
animation: reviewsDecoFloat 8s ease-in-out infinite 1s;
}
.reviews-hero__deco--3 {
width: 16px; height: 16px;
background: rgba(232, 117, 58, 0.16);
top: 48%;
left: -8px;
animation: reviewsDecoFloat 7s ease-in-out infinite 2s;
}
.reviews-hero__deco--4 {
width: 10px; height: 10px;
background: rgba(59, 178, 160, 0.20);
bottom: 15%;
right: -4px;
animation: reviewsDecoFloat 5s ease-in-out infinite 3s;
}
@keyframes reviewsDecoFloat {
0%, 100% { transform: translateY(0) scale(1); }
50% { transform: translateY(-12px) scale(1.1); }
}
/* ─── Animations ─── */
@keyframes reviewsPhotoFloat {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-8px); }
}
@keyframes reviewsRingPulse {
0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
50% { transform: translate(-50%, -50%) scale(1.04); opacity: 0.6; }
}
@keyframes reviewsFloat {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
@keyframes reviewsSparkleFloat {
0%, 100% { transform: translateY(0) scale(1); opacity: 0.4; }
50% { transform: translateY(-20px) scale(1.4); opacity: 0.9; }
}
/* ─── H1 ─── */
.reviews-hero__h1 {
font-family: 'Oswald', sans-serif;
font-size: clamp(36px, 4.2vw, 52px);
font-weight: 500;
line-height: 1.12;
margin-bottom: 14px;
color: #fff;
}
.reviews-hero__subtitle {
font-size: 18px;
line-height: 1.55;
color: rgba(255,255,255,0.72);
margin-bottom: 28px;
max-width: 500px;
}
/* ─── Метрики ─── */
.reviews-hero__metrics {
display: flex;
gap: 16px;
margin-bottom: 32px;
flex-wrap: nowrap;
}
.reviews-hero__metric {
background: rgba(255,255,255,0.08);
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
border: 1px solid rgba(255,255,255,0.12);
border-radius: 14px;
padding: 14px 22px;
text-align: center;
min-width: 110px;
transition: background var(--transition-fast), transform var(--transition-fast);
}
.reviews-hero__metric:hover {
background: rgba(255,255,255,0.13);
transform: translateY(-2px);
}
.reviews-hero__metric-number {
font-family: 'Oswald', sans-serif;
font-size: clamp(28px, 3vw, 34px);
font-weight: 500;
color: var(--color-primary);
display: block;
line-height: 1.1;
margin-bottom: 2px;
}
.reviews-hero__metric-label {
font-size: 13px;
color: rgba(255,255,255,0.7);
text-transform: uppercase;
letter-spacing: 0.04em;
}
/* ─── CTA ─── */
.reviews-hero__cta-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 40px;
font-size: 17px;
font-weight: 600;
color: #fff;
background: var(--color-primary);
border: none;
border-radius: 12px;
cursor: pointer;
transition: background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
box-shadow: 0 4px 16px rgba(232, 117, 58, 0.35);
}
.reviews-hero__cta-btn:hover {
background: var(--color-primary-hover);
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(232, 117, 58, 0.45);
}
.reviews-hero__cta-btn:active {
transform: translateY(0);
}
/* ─── СЕТКА ОТЗЫВОВ ─── */
.reviews-grid {
padding: 20px 0 60px;
}
/* ─── H2 над отзывами (SEO) ─── */
.reviews-grid__h2 {
text-align: center;
margin-bottom: 16px;
font-family: 'Oswald', sans-serif;
font-size: clamp(24px, 2.8vw, 32px);
font-weight: 500;
color: var(--color-text);
}
/* ─── Пояснительный текст перед карточками ─── */
.reviews-grid__intro {
font-size: clamp(15px, 1.2vw, 17px);
line-height: 1.65;
color: var(--color-text-muted);
text-align: center;
max-width: 700px;
margin: 0 auto 40px;
}
/* ─── ВСТУПИТЕЛЬНЫЙ ТЕКСТ ─── */
.reviews-intro {
padding: 48px 0;
}
.reviews-intro__content {
max-width: 820px;
margin: 0 auto;
}
/* Лид-абзац — первый, акцентный */
.reviews-intro__lead {
font-size: clamp(17px, 1.5vw, 20px);
line-height: 1.55;
color: var(--color-text);
text-align: center;
margin-bottom: 28px;
padding-bottom: 28px;
border-bottom: 2px solid var(--color-border, #e8e8e8);
}
/* Сетка карточек (2-й и 3-й абзацы) */
.reviews-intro__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
margin-bottom: 24px;
}
.reviews-intro__card {
background: var(--accent-light, #f7f6f2);
border-radius: 12px;
padding: 20px;
display: flex;
flex-direction: column;
gap: 10px;
}
.reviews-intro__card-icon {
font-size: 22px;
line-height: 1;
flex-shrink: 0;
}
.reviews-intro__card-text {
font-size: 14.5px;
line-height: 1.55;
color: var(--color-text);
margin: 0;
}
/* ─── Инфоблок (режим работы, цены) ─── */
.reviews-intro__info {
display: flex;
flex-wrap: wrap;
gap: 10px 24px;
justify-content: center;
padding: 16px 24px;
background: #fff;
border: 1px solid var(--color-border, #e8e8e8);
border-radius: 10px;
font-size: 14px;
line-height: 1.5;
color: var(--color-text);
}
.reviews-intro__info p {
margin: 0;
}
.reviews-intro__info strong {
color: var(--color-text);
font-weight: 600;
}
.reviews-intro__info a {
color: var(--color-primary);
font-weight: 600;
text-decoration: underline;
text-underline-offset: 3px;
transition: color var(--transition-fast);
}
.reviews-intro__info a:hover {
color: var(--color-primary-hover);
}
/* ─── Breadcrumbs (визуальные) ─── */
.breadcrumbs-wrapper {
padding: 12px 0 0;
}
@media (max-width: 860px) {
.breadcrumbs-wrapper {
padding: 8px 0 0;
}
}
/* ─── LW-утилиты (как на странице лагеря) ─── */
.lw-grid {
display: grid;
}
.lw-grid--3 {
grid-template-columns: repeat(3, 1fr);
}
.lw-gap-20 {
gap: 20px;
}
.lw-flex {
display: flex;
}
.lw-flex--row {
flex-direction: row;
}
.lw-flex--col {
flex-direction: column;
}
.lw-gap-12 {
gap: 12px;
}
.lw-gap-8 {
gap: 8px;
}
.lw-items-center {
align-items: center;
}
.lw-justify-between {
justify-content: space-between;
}
.lw-card {
background: var(--color-bg);
border-radius: var(--card-radius);
padding: 20px;
box-shadow: var(--card-shadow);
display: flex;
flex-direction: column;
transition: box-shadow var(--transition-normal), transform var(--transition-normal);
}
.lw-card:hover {
box-shadow: var(--card-shadow-hover);
transform: translateY(-2px);
}
.lw-avatar {
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
background: rgba(59, 178, 160, 0.1);
display: flex;
align-items: center;
justify-content: center;
}
.lw-avatar--48 {
width: 48px;
height: 48px;
}
.lw-avatar__img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.lw-avatar--letter {
background: rgba(232, 117, 58, 0.08); /* --color-primary 8% */
}
.lw-avatar__letter {
display: block;
font-size: 18px;
font-weight: 700;
color: var(--color-primary);
line-height: 1;
user-select: none;
}
.lw-text-dark {
color: #1c2b2d;
}
.lw-text-gray {
color: var(--color-text-muted);
}
.lw-text-sm {
font-size: 14px;
line-height: 1.4;
}
.lw-text-xs {
font-size: 12px;
line-height: 1.3;
}
.lw-font-medium {
font-weight: 500;
}
.lw-font-semibold {
font-weight: 600;
}
.lw-font-bold {
font-weight: 700;
}
.lw-mt-8 {
margin-top: 8px;
}
.lw-mb-8 {
margin-bottom: 8px;
}
.lw-mb-12 {
margin-bottom: 12px;
}
.lw-badge {
display: inline-flex;
align-items: center;
padding: 4px 10px;
border-radius: 50px;
font-size: 11px;
font-weight: 600;
line-height: 1.2;
white-space: nowrap;
margin-left: auto;
flex-shrink: 0;
}
.lw-badge--verified {
background: #059669;
color: #fff;
border-radius: 50px;
padding: 3px 12px 3px 10px;
font-size: 11px;
font-weight: 600;
line-height: 1.4;
white-space: nowrap;
align-self: flex-start;
}
.lw-card .lw-text-gray + .lw-badge--verified {
margin-top: 6px;
}
.lw-stars {
display: flex;
gap: 2px;
align-items: center;
}
.lw-star {
color: var(--color-text-light);
flex-shrink: 0;
}
.lw-star--filled {
color: #FFD43E;
}
.lw-card__text {
font-size: 14px;
line-height: 1.55;
color: var(--color-text-muted);
word-break: break-word;
}
/* ─── Сетка отзывов (как на странице лагеря) ─── */
.reviews-cards .lw-scroll-x {
overflow: visible;
padding: 0;
}
.reviews-cards .lw-grid--3 {
display: flex;
flex-wrap: wrap;
gap: 24px;
justify-content: center;
}
.reviews-cards .lw-grid--3 .lw-card {
width: calc(33.33% - 16px);
min-width: 280px;
padding: 24px;
border-radius: 20px;
box-shadow: 0 2px 16px rgba(0,0,0,0.06);
border: 1.5px solid rgba(0,0,0,0.12);
transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}
.reviews-cards .lw-grid--3 .lw-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 32px rgba(0,0,0,0.1);
border-color: rgba(124, 58, 237, 0.15);
background: var(--accent-light);
}
/* ─── Clamp текста для длинных отзывов ─── */
.review-card__text--clamped {
position: relative;
max-height: 120px;
overflow: hidden;
transition: max-height .4s ease;
}
.review-card__text--clamped.review-card__text--expanded {
max-height: 2000px;
}
.review-card__text--clamped:not(.review-card__text--expanded)::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 40px;
background: linear-gradient(transparent, var(--color-bg));
}
.review-card__btn-more {
display: inline-block;
padding: 0;
border: none;
background: none;
color: var(--accent);
font-weight: 600;
font-size: 14px;
cursor: pointer;
align-self: flex-start;
}
.review-card__btn-more:hover {
text-decoration: underline;
}
/* ─── ФУТЕР КАРТОЧКИ: дата + "Читать ещё" ─── */
.review-card__footer {
display: flex;
align-items: center;
gap: 12px;
margin-top: 8px;
}
.review-card__date {
margin-left: auto;
font-size: 13px;
color: var(--color-text-muted);
white-space: nowrap;
}
/* ─── Ссылка на преподавателя в карточке отзыва ─── */
.review-card__teacher-link {
color: var(--accent);
text-decoration: underline;
text-underline-offset: 3px;
text-decoration-color: currentColor;
transition: color .2s, font-weight .2s;
font-weight: 500;
}
.review-card__teacher-link:hover {
color: var(--accent-hover);
font-weight: 700;
}
/* ─── РЕЗУЛЬТАТЫ (блок с цифрами) ─── */
.results {
padding: 40px 0;
background: var(--accent-light, #F5F3FF);
}
.results__title {
text-align: center;
margin-bottom: 40px;
font-family: 'Oswald', sans-serif;
font-size: clamp(24px, 2.8vw, 32px);
font-weight: 500;
color: var(--color-text);
}
.results__grid {
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.results__card {
flex: 1 1 0;
min-width: 160px;
max-width: 260px;
padding: 32px 24px;
text-align: center;
position: relative;
}
.results__card + .results__card::before {
content: '';
position: absolute;
left: 0;
top: 12%;
height: 76%;
width: 1px;
background: rgba(0,0,0,0.1);
}
.results__icon {
display: block;
font-size: 22px;
color: var(--accent);
margin-bottom: 10px;
line-height: 1;
}
.results__number {
font-family: 'Oswald', sans-serif;
font-size: clamp(48px, 6vw, 78px);
font-weight: 700;
color: var(--accent);
line-height: 1;
margin-bottom: 10px;
display: block;
}
.results__label {
font-size: 14px;
color: var(--color-text-muted);
max-width: 200px;
margin: 0 auto;
line-height: 1.4;
}
@media (max-width: 600px) {
.results__card {
flex: 0 0 33.33%;
max-width: 33.33%;
min-width: 0;
padding: 24px 12px;
}
.results__card + .results__card::before {
top: 10%;
height: 80%;
width: 1px;
left: 0;
}
.results__number {
font-size: 38px;
margin-bottom: 4px;
}
.results__label {
font-size: 12px;
max-width: none;
}
}
/* ─── ФОТО С ЗАНЯТИЙ ─── */
.reviews-photos {
padding: 80px 0;
background: #fff;
}
.reviews-photos__title {
text-align: center;
font-family: 'Oswald', sans-serif;
font-size: clamp(24px, 2.8vw, 32px);
font-weight: 500;
color: var(--color-text);
margin-bottom: 10px;
}
.reviews-photos__desc {
text-align: center;
font-size: 15px;
color: var(--color-text-muted);
margin-bottom: 40px;
}
.reviews-photos__grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 20px;
}
.reviews-photos__item {
border-radius: 16px;
overflow: hidden;
box-shadow: 0 2px 12px rgba(0,0,0,0.06);
transition: transform var(--transition-normal), box-shadow var(--transition-normal);
/* Все фото одного размера 4:3 */
aspect-ratio: 4 / 3;
}
.reviews-photos__item:hover {
transform: translateY(-4px);
box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}
.reviews-photos__img {
width: 100%;
height: 100%;
display: block;
object-fit: cover;
}
@media (max-width: 768px) {
.reviews-photos {
padding: 48px 0;
}
.reviews-photos__grid {
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
.reviews-photos__desc {
margin-bottom: 24px;
}
}
/* ─── ВИДЕООТЗЫВЫ ─── */
.video-reviews {
padding: 60px 0;
}
.video-reviews__title {
text-align: center;
margin-bottom: 40px;
font-family: 'Oswald', sans-serif;
font-size: clamp(24px, 2.8vw, 32px);
font-weight: 500;
color: var(--color-text);
}
.video-reviews__grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: 24px;
}
.video-reviews__card {
background: #fff;
border-radius: var(--card-radius);
overflow: hidden;
box-shadow: var(--card-shadow);
transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}
.video-reviews__card:hover {
transform: translateY(-4px);
box-shadow: var(--card-shadow-hover);
}
.video-reviews__embed {
position: relative;
width: 100%;
padding-bottom: 56.25%; /* 16:9 */
background: #000;
}
.video-reviews__embed iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: none;
}
.video-reviews__link {
display: block;
padding: 16px 20px;
color: var(--color-primary);
font-weight: 500;
text-decoration: underline;
text-underline-offset: 3px;
}
.video-reviews__link:hover {
color: var(--color-primary-hover);
}
.video-reviews__name {
padding: 12px 20px 16px;
font-size: 15px;
color: var(--color-text-muted);
margin: 0;
}
/* ─── FAQ (две колонки, аккордеон как на camp) ─── */
.reviews-faq {
padding: 40px 0;
background: var(--accent-light, #F5F3FF);
}
.reviews-faq__title {
text-align: center;
margin-bottom: 40px;
font-family: 'Oswald', sans-serif;
font-size: clamp(24px, 2.8vw, 32px);
font-weight: 500;
color: var(--color-text);
}
.reviews-faq-wrapper {
display: flex;
gap: 30px;
}
.reviews-faq .accordion {
width: 50%;
display: flex;
flex-direction: column;
gap: 10px;
border-top: 1px solid #ccc;
}
.reviews-faq .accordion .box__accordion {
position: relative;
cursor: pointer;
border-bottom: 1px solid #ccc;
border-radius: 0;
}
.reviews-faq .box__accordion_label {
position: relative;
padding: 20px 0;
cursor: pointer;
display: flex;
align-items: center;
gap: 20px;
justify-content: space-between;
}
.reviews-faq .accordion .box__accordion .box__accordion_label::after {
background-image: none;
}
.reviews-faq .box__accordion_label span {
font-size: clamp(18px, 2.2vw, 22px);
line-height: 1.25;
font-family: var(--font-display, 'Oswald', sans-serif);
font-weight: 600;
color: var(--color-text);
}
.box__accordion_label svg {
width: 36px;
height: 36px;
padding: 8px;
border-radius: 50%;
background: var(--color-primary);
stroke: #fff;
transition: background var(--transition-fast);
flex-shrink: 0;
}
.box__accordion_label svg:hover {
background: var(--color-primary-hover);
}
.active .box__accordion_label svg {
rotate: 45deg;
background: var(--color-primary-hover);
}
.box__accordion_label svg g {
stroke: #fff;
}
.box__accordion_label svg:hover g {
stroke: #fff;
}
.reviews-faq .box__accordion_content {
display: flex;
position: relative;
overflow: hidden;
max-height: 0;
transition: max-height .3s ease;
gap: 20px;
align-items: center;
}
.box__accordion_content-text {
display: flex;
flex-direction: column;
gap: 10px;
font-size: 16px;
line-height: 1.6;
color: var(--color-text-muted);
padding-bottom: 20px;
font-family: var(--font-body, sans-serif);
}
.box__accordion_content-text p {
margin: 0;
}
/* ─── ЗАКЛЮЧИТЕЛЬНЫЙ ТЕКСТ ─── */
.reviews-cta-text {
padding: 20px 0 60px;
}
.reviews-cta-text__inner {
max-width: 780px;
margin: 0 auto;
}
.reviews-cta-text__lead {
font-size: clamp(17px, 1.3vw, 19px);
line-height: 1.7;
color: var(--color-text);
text-align: center;
}
/* ─── ФИНАЛЬНЫЙ CTA ─── */
.final-cta {
padding: 80px 0;
background: linear-gradient(135deg, #1a2f31 0%, #0f2022 100%);
color: #fff;
text-align: center;
position: relative;
overflow: hidden;
}
/* Тонкий акцентный бордер сверху */
.final-cta::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
}
.final-cta__inner {
position: relative;
z-index: 1;
}
.final-cta__title {
font-family: 'Oswald', sans-serif;
font-size: clamp(26px, 3.2vw, 38px);
font-weight: 500;
margin-bottom: 12px;
color: #fff;
letter-spacing: -0.3px;
}
.final-cta__subtitle {
font-size: 17px;
line-height: 1.55;
margin-bottom: 32px;
max-width: 560px;
margin-left: auto;
margin-right: auto;
color: rgba(255,255,255,0.7);
}
.final-cta__actions {
display: flex;
gap: 16px;
justify-content: center;
flex-wrap: wrap;
}
.final-cta__buttons {
display: flex;
gap: 16px;
justify-content: center;
flex-wrap: wrap;
}
.final-cta .btn-primary {
box-shadow: 0 4px 20px rgba(232,117,58,0.35);
}
.final-cta .btn-secondary {
border-color: rgba(255,255,255,0.3);
color: #fff;
background: rgba(255,255,255,0.06);
}
.final-cta .btn-secondary:hover {
border-color: rgba(255,255,255,0.6);
background: rgba(255,255,255,0.1);
}
/* ─── ПЕРЕЛИНКОВКА ─── */
.cross-links {
padding: 60px 0;
}
.cross-links__title {
text-align: center;
margin-bottom: 40px;
font-family: 'Oswald', sans-serif;
font-size: clamp(24px, 2.8vw, 32px);
font-weight: 500;
color: var(--color-text);
}
.cross-links__grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 20px;
}
.cross-links__card {
display: block;
padding: 24px;
background: #fff;
border-radius: 12px;
text-decoration: none;
box-shadow: var(--card-shadow);
border: 1px solid rgba(0,0,0,0.06);
transition: transform var(--transition-normal), box-shadow var(--transition-normal);
color: var(--color-text);
font-weight: 500;
}
.cross-links__card:hover {
transform: translateY(-3px);
box-shadow: var(--card-shadow-hover);
color: var(--color-primary);
}
/* ─── ОСТАВИТЬ ОТЗЫВ ─── */
.review-form-block {
padding: 60px 0;
background: #fff;
}
.review-form-block__desc {
text-align: center;
color: var(--color-text-muted);
margin-top: 20px;
margin-bottom: 0;
}
.review-form-block__btn {
display: block;
margin: 0 auto;
padding: 16px 36px;
font-size: 16px;
font-weight: 600;
color: #fff;
background: var(--color-primary);
border: none;
border-radius: 12px;
cursor: pointer;
transition: transform .2s, box-shadow .2s;
}
.review-form-block__btn:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(232, 117, 58, 0.35);
}
.review-form-block__actions {
display: flex;
gap: 16px;
justify-content: center;
flex-wrap: wrap;
}
.review-form-block__btn--outline {
color: var(--color-primary);
background: transparent;
border: 2px solid var(--color-primary);
box-shadow: none;
}
.review-form-block__btn--outline:hover {
background: rgba(232, 117, 58, .08);
border-color: var(--color-primary-hover);
color: var(--color-primary-hover);
box-shadow: none;
transform: translateY(-2px);
}
/* ─── Попап MyReviews: фикс огромного крестика ─── */
.frame__popup .btn-close-frame__popup {
display: flex;
align-items: center;
justify-content: center;
}
.frame__popup .btn-close-frame__popup img {
width: 24px;
height: 24px;
object-fit: contain;
}
/* ─── Попапы кнопок записи: тот же фикс ─── */
.modal-request-form .btn-close-request-form {
display: flex;
align-items: center;
justify-content: center;
}
.modal-request-form .btn-close-request-form img {
width: 24px;
height: 24px;
object-fit: contain;
}
/* ─── СЧЁТЧИК ОТЗЫВОВ (анимация) ─── */
.counter-number {
display: inline-block;
}
/* ─── STICKY CTA MOBILE ─── */
.sticky-cta-mobile {
display: none;
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 1000;
padding: 12px 16px;
background: #fff;
box-shadow: 0 -2px 12px rgba(0,0,0,.1);
}
.sticky-cta-mobile--visible {
display: block;
}
.sticky-cta-mobile__btn {
display: block;
width: 100%;
padding: 14px;
text-align: center;
background: var(--color-primary);
color: #fff;
font-weight: 600;
font-size: 16px;
border: none;
border-radius: 12px;
cursor: pointer;
pointer-events: auto; /* переопределяем pointer-events:none из main.css */
}
/* ─── КОНТАКТЫ С КАРТОЙ ─── */
.reviews-contact {
padding: 60px 0;
}
.reviews-contact__title {
font-family: var(--font-display, 'Oswald', sans-serif);
font-weight: 700;
color: var(--color-text);
font-size: var(--fs-h1, clamp(28px, 3.5vw, 40px));
line-height: 1.2;
text-align: center;
padding-bottom: clamp(24px, 3vw, 32px);
}
.reviews-contact .contact-wrapper {
display: flex;
gap: 30px;
}
.reviews-contact .contact-content {
width: 40%;
display: flex;
flex-direction: column;
gap: 10px;
}
.reviews-contact .contact_subtitle {
margin-top: 10px;
font-size: 16px;
line-height: 1.2;
font-weight: 600;
font-family: var(--font-display, 'Oswald', sans-serif);
color: var(--color-text);
}
.reviews-contact .contact_tel {
color: var(--color-primary);
font-size: clamp(18px, 2.2vw, 22px);
line-height: 1;
font-weight: 600;
font-family: var(--font-body, sans-serif);
}
.reviews-contact .contact-map {
display: block;
border-radius: 30px;
overflow: hidden;
flex: 1;
height: 450px;
}
.reviews-contact .contact_social {
display: flex;
flex-wrap: wrap;
gap: 12px;
}
.reviews-contact .social_item {
display: inline-flex;
align-items: center;
text-decoration: none;
color: var(--color-primary);
font-family: var(--font-body, sans-serif);
font-size: clamp(16px, 2vw, 20px);
font-weight: 600;
line-height: 1.2;
transition: color var(--transition-fast), opacity var(--transition-fast);
position: relative;
}
.reviews-contact .social_item:hover {
color: var(--color-primary-hover);
}
.reviews-contact .social_item::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
right: 0;
height: 2px;
background: var(--color-primary);
opacity: 0;
transition: opacity var(--transition-fast);
}
.reviews-contact .social_item:hover::after {
opacity: 0.4;
}
.reviews-contact .social_item + .social_item::before {
content: '·';
margin-right: 12px;
color: var(--color-text-light);
font-weight: 400;
}
/* ─── АНИМАЦИЯ ПОЯВЛЕНИЯ ─── */
.reveal {
opacity: 0;
transform: translateY(24px);
transition: opacity .6s ease, transform .6s ease;
}
.reveal--visible {
opacity: 1;
transform: translateY(0);
}
/* ─── АДАПТИВНОСТЬ ─── */
/* Сетка отзывов: 3 → 2 колонки */
@media (max-width: 1200px) {
.reviews-cards .lw-grid--3 .lw-card {
width: calc(50% - 12px);
min-width: 280px;
}
}
@media (max-width: 860px) {
.reviews-hero {
padding: 40px 0;
}
.reviews-grid {
padding: 20px 0 40px;
}
.reviews-intro,
.reviews-cta-text,
.video-reviews,
.review-form-block,
.cross-links,
.reviews-contact,
.final-cta {
padding: 40px 0;
}
.results,
.reviews-faq {
padding: 30px 0;
}
.reviews-hero__wrapper {
flex-direction: column;
}
.reviews-hero__visual {
flex: none;
width: 100%;
max-width: 360px;
height: auto;
min-height: 320px;
margin-left: auto;
margin-right: auto;
}
.reviews-hero__photo-frame {
width: 260px;
height: 260px;
border-width: 5px;
}
.reviews-hero__photo-ring {
width: 300px;
height: 300px;
}
.reviews-hero__float--1 { top: 4%; right: 0; font-size: 12px; padding: 6px 14px; }
.reviews-hero__float--2 { bottom: 18%; left: -12px; font-size: 12px; padding: 6px 14px; }
.reviews-hero__float--3 { bottom: 2%; right: 5%; font-size: 12px; padding: 6px 14px; }
.reviews-hero__float--4 { display: none; }
.reviews-hero__h1 {
font-size: 32px;
}
.final-cta__title {
font-size: 28px;
}
.cross-links__grid {
grid-template-columns: 1fr 1fr;
}
}
/* Сетка отзывов: мобильный скролл */
@media (max-width: 768px) {
/* ─── Container: единый отступ для всех секций ─── */
.page-reviews .container {
padding: 0 20px;
}
.reviews-hero__visual {
display: none;
}
.reviews-hero__content {
max-width: none;
}
.reviews-hero__metrics {
flex-wrap: wrap;
gap: 10px;
}
.reviews-intro__grid {
grid-template-columns: 1fr;
}
.reviews-hero__metric {
flex: 0 0 calc(50% - 5px);
max-width: calc(50% - 5px);
min-width: 0;
padding: 12px 10px;
}
.reviews-hero__metric-number {
font-size: clamp(22px, 6vw, 28px);
}
.reviews-hero__metric-label {
font-size: 10px;
overflow-wrap: break-word;
word-break: break-word;
hyphens: auto;
}
.reviews-hero__cta-btn {
width: 100%;
justify-content: center;
}
/* ─── Карточка: position для absolute звёзд ─── */
.reviews-cards .lw-grid--3 .lw-card {
position: relative;
}
/* ─── Шапка: wrap чтобы бейдж уходил на новую строку ─── */
.reviews-cards .lw-card > .lw-flex.lw-flex--row {
flex-wrap: wrap;
gap: 8px 12px;
align-items: flex-start;
}
/* Аватар не сжимается */
.reviews-cards .lw-card .lw-avatar {
flex-shrink: 0;
}
/* Колонка имени: занимает остаток, не даём тексту залезть под звёзды */
.reviews-cards .lw-card > .lw-flex.lw-flex--row > .lw-flex.lw-flex--col {
flex: 1;
min-width: 0;
padding-right: 90px;
}
/* Преподаватель и ФИО — на разных строках */
.reviews-cards .lw-card .review-card__teacher-link {
display: block;
}
/* ─── Бейдж в колонке имени ─── */
.reviews-cards .lw-card .lw-badge--verified {
margin-top: 6px;
margin-left: 0;
}
/* ─── Звёзды: абсолютно в правый верхний угол карточки ─── */
.reviews-cards .lw-card .lw-stars {
position: absolute;
top: 24px;
right: 24px;
margin-top: 0;
}
.reviews-cards .lw-scroll-x {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
padding-bottom: 8px;
}
.reviews-cards .lw-grid--3 {
display: flex;
gap: 16px;
overflow-x: auto;
scroll-snap-type: x mandatory;
flex-wrap: nowrap;
justify-content: flex-start;
padding-bottom: 4px;
}
.reviews-cards .lw-grid--3 .lw-card {
flex: 0 0 88vw;
scroll-snap-align: start;
}
}
@media (max-width: 480px) {
.reviews-hero__h1 {
font-size: 26px;
}
.reviews-intro__lead {
font-size: 16px;
}
.reviews-intro__grid {
grid-template-columns: 1fr;
}
.reviews-intro__card {
padding: 16px;
}
.reviews-intro__card-text {
font-size: 14px;
}
.reviews-cards .lw-grid--3 .lw-card {
padding: 16px;
}
/* Звёзды: подстраиваем под меньший padding карточки */
.reviews-cards .lw-card .lw-stars {
top: 16px;
right: 16px;
}
.cross-links__grid {
grid-template-columns: 1fr;
}
.final-cta__actions {
flex-direction: column;
}
.reviews-intro__info {
flex-direction: column;
align-items: center;
text-align: center;
padding: 16px 20px;
}
/* ─── FAQ: две колонки → одна колонка ─── */
.reviews-faq-wrapper {
gap: 0;
flex-direction: column;
}
.reviews-faq-wrapper .accordion {
width: 100%;
gap: 0;
}
.reviews-faq-wrapper .accordion-last {
border-top: none;
}
.reviews-faq .box__accordion_label span {
font-size: 20px;
}
.box__accordion_label svg {
flex-shrink: 0;
}
/* ─── Контакты: колонки → стопкой, карта меньше ─── */
.reviews-contact .contact-wrapper {
gap: 20px;
flex-direction: column-reverse;
}
.reviews-contact .contact-map {
width: 100%;
height: 250px;
}
#ya-map-reviews {
height: 250px !important;
}
.reviews-contact .contact-content {
width: 100%;
}
.reviews-contact .contact_tel {
font-size: 18px;
}
}
/* ─── ПАГИНАЦИЯ ─── */
.reviews-pagination {
text-align: center;
margin-top: 40px;
}
.reviews-pagination ul.page-numbers,
.reviews-pagination ol.page-numbers {
margin: 0;
padding: 0;
list-style: none;
display: inline-flex;
flex-wrap: wrap;
gap: 6px;
align-items: center;
border: none;
background: none;
}
.reviews-pagination li {
margin: 0;
padding: 0;
display: inline-block;
}
.reviews-pagination a.page-numbers,
.reviews-pagination span.page-numbers:not(.dots) {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 40px;
height: 40px;
padding: 0 10px;
border-radius: 8px;
font-size: 14px;
font-weight: 500;
text-decoration: none;
border: 1px solid rgba(0,0,0,0.1);
color: var(--color-text-muted);
background: #fff;
transition: all .2s;
box-sizing: border-box;
line-height: 1;
}
.reviews-pagination span.page-numbers.current {
background: var(--color-primary);
color: #fff;
border-color: var(--color-primary);
}
.reviews-pagination a.page-numbers:hover {
border-color: var(--color-primary);
color: var(--color-primary);
background: rgba(232, 117, 58, 0.06);
}
.reviews-pagination a.page-numbers.prev,
.reviews-pagination a.page-numbers.next {
width: auto;
padding: 0 14px;
font-size: 13px;
}
/* ─── СБРОС СТАНДАРТНЫХ СТИЛЕЙ ТЕМЫ ─── */
.page-reviews {
padding-bottom: 0;
}
/* ─── DESKTOP: скрываем карточки после первого батча ─── */
@media (min-width: 769px) {
.lw-card[data-batch]:not([data-batch="1"]) {
display: none;
}
}
/* ─── MOBILE: все карточки видны в скролле ─── */
@media (max-width: 768px) {
.lw-card[data-batch]:not([data-batch="1"]) {
display: flex;
}
}
/* ─── КНОПКА "ПОКАЗАТЬ ЕЩЁ" ─── */
.reviews-loadmore {
text-align: center;
margin-top: 32px;
}
.reviews-loadmore__btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 14px 36px;
font-size: 16px;
font-weight: 600;
color: var(--accent);
background: var(--accent-light);
border: 2px solid var(--accent);
border-radius: 12px;
cursor: pointer;
transition: background var(--transition-fast), transform var(--transition-fast);
}
.reviews-loadmore__btn:hover {
background: rgba(124, 58, 237, 0.15);
transform: translateY(-2px);
}
.reviews-loadmore__btn:active {
transform: translateY(0);
}
.reviews-loadmore__btn:disabled {
opacity: 0.5;
cursor: default;
transform: none;
}
@media (max-width: 768px) {
.reviews-loadmore {
display: none;
}
}
/* ─── ВНЕШНИЕ ПЛОЩАДКИ (E-E-A-T) ─── */
.reviews-ext-platforms {
padding: 40px 0;
background: #fff;
}
.reviews-ext-platforms__title {
text-align: center;
font-family: 'Oswald', sans-serif;
font-size: clamp(22px, 2.6vw, 30px);
font-weight: 500;
color: var(--color-text);
margin-bottom: 10px;
}
.reviews-ext-platforms__desc {
text-align: center;
font-size: 15px;
color: var(--color-text-muted);
margin-bottom: 28px;
}
.reviews-ext-platforms__grid {
display: flex;
flex-wrap: wrap;
gap: 16px;
justify-content: center;
}
.reviews-ext-platforms__card {
display: inline-flex;
align-items: center;
gap: 10px;
padding: 14px 24px;
background: #f8fafc;
border: 1px solid #e2e8f0;
border-radius: 12px;
text-decoration: none;
color: var(--color-text);
font-weight: 500;
font-size: 15px;
transition: all var(--transition-fast);
}
.reviews-ext-platforms__card:hover {
border-color: var(--color-primary);
color: var(--color-primary);
background: rgba(232, 117, 58, 0.04);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.reviews-ext-platforms__icon {
color: var(--color-primary);
flex-shrink: 0;
display: flex;
}
.reviews-ext-platforms__arrow {
color: var(--color-text-light);
font-size: 14px;
transition: transform var(--transition-fast);
}
.reviews-ext-platforms__card:hover .reviews-ext-platforms__arrow {
transform: translateX(4px);
color: var(--color-primary);
}
@media (max-width: 480px) {
.reviews-ext-platforms__grid {
flex-direction: column;
align-items: center;
}
.reviews-ext-platforms__card {
width: 100%;
max-width: 340px;
justify-content: center;
}
}
/* ─── ДОВЕРИТЕЛЬНЫЙ БЛОК ─── */
.reviews-trust {
padding: 32px 0 8px;
background: #fff;
}
.reviews-trust__content {
max-width: 800px;
margin: 0 auto;
}
.reviews-trust__text {
font-size: 15px;
line-height: 1.65;
color: var(--color-text-muted);
text-align: center;
padding: 20px 24px;
border-radius: 12px;
background: #f8f9fa;
border-left: 4px solid var(--color-secondary);
}
/* ─── ЛОКАЛЬНЫЙ БЛОК «Почему родители Щёлково выбирают Декарт» ─── */
.reviews-local {
padding: 60px 0;
background: #f8f9fa;
}
.reviews-local__title {
text-align: center;
font-family: 'Oswald', sans-serif;
font-size: clamp(22px, 2.6vw, 30px);
font-weight: 500;
color: var(--color-text);
margin-bottom: 36px;
}
.reviews-local__list {
list-style: none;
counter-reset: local-counter;
max-width: 800px;
margin: 0 auto;
padding: 0;
display: grid;
gap: 16px;
}
.reviews-local__item {
counter-increment: local-counter;
position: relative;
padding: 18px 18px 18px 56px;
background: #fff;
border-radius: 14px;
box-shadow: 0 1px 8px rgba(0,0,0,0.04);
font-size: 14.5px;
line-height: 1.65;
color: var(--color-text);
}
.reviews-local__item::before {
content: counter(local-counter);
position: absolute;
left: 16px;
top: 18px;
width: 28px;
height: 28px;
border-radius: 50%;
background: var(--color-primary);
color: #fff;
font-size: 14px;
font-weight: 600;
display: flex;
align-items: center;
justify-content: center;
}
.reviews-local__item strong {
color: var(--color-text);
}
/* ─── РЕЙТИНГ-БЕЙДЖ В HERO ─── */
.reviews-hero__rating-badge {
display: flex;
align-items: center;
gap: 10px;
margin-top: 8px;
flex-wrap: wrap;
}
.reviews-hero__rating-stars {
color: #f59e0b;
font-size: 18px;
letter-spacing: 2px;
}
.reviews-hero__rating-text {
font-size: 13px;
color: rgba(255,255,255,0.65);
}
.reviews-hero__phone {
margin-top: 10px;
font-size: 13px;
color: rgba(255,255,255,0.55);
}
.reviews-hero__phone a {
color: var(--color-accent);
text-decoration: underline;
font-weight: 500;
}
/* ─── MID-CTA ─── */
.reviews-mid-cta {
margin-top: -20px;
margin-bottom: 20px;
}
.reviews-mid-cta__inner {
background: linear-gradient(135deg, var(--color-text) 0%, #2a4042 100%);
border-radius: 16px;
padding: 28px 32px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
}
.reviews-mid-cta__text {
color: #fff;
font-size: 16px;
font-weight: 500;
margin: 0;
line-height: 1.4;
}
.reviews-mid-cta__inner .btn-primary {
flex-shrink: 0;
}
/* ─── CTA ПЕРЕД FAQ ─── */
.reviews-faq-cta {
margin-top: -20px;
margin-bottom: 20px;
}
.reviews-faq-cta__inner {
background: #fff;
border: 1px solid #e2e8f0;
border-radius: 14px;
padding: 20px 24px;
text-align: center;
}
.reviews-faq-cta__text {
font-size: 15px;
color: var(--color-text);
margin: 0 0 4px;
}
.reviews-faq-cta__phone {
color: var(--color-primary);
font-weight: 600;
font-size: 16px;
text-decoration: none;
}
.reviews-faq-cta__phone:hover {
text-decoration: underline;
}
.reviews-faq-cta__subtext {
font-size: 13px;
color: var(--color-text-light);
margin: 0;
}
@media (max-width: 768px) {
.reviews-local {
padding: 40px 0;
}
.reviews-local__list {
gap: 12px;
}
.reviews-local__item {
padding: 14px 14px 14px 50px;
font-size: 14px;
}
.reviews-mid-cta__inner {
flex-direction: column;
text-align: center;
padding: 20px;
}
.reviews-trust__text {
font-size: 14px;
padding: 16px;
}
.reviews-hero__rating-badge {
flex-direction: column;
align-items: flex-start;
gap: 4px;
}
}
/* ─── ФОРМА ЗАПИСИ (Bitrix24 модалка) ─── */
.review-form-block__title {
font-family: 'Oswald', sans-serif;
font-size: clamp(22px, 2.6vw, 30px);
text-align: center;
margin-bottom: 12px;
color: var(--color-text);
}
.review-form-block__cols {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
max-width: 860px;
margin: 0 auto 24px;
align-items: start;
}
.review-form-block__form-col {
background: #fff;
border: 1px solid #e2e8f0;
border-radius: 16px;
padding: 32px 28px;
text-align: center;
}
.review-form__lead {
font-size: 15px;
line-height: 1.55;
color: var(--color-text-muted);
margin: 0 0 24px;
}
.review-form__submit {
width: 100%;
padding: 14px 24px;
font-size: 16px;
cursor: pointer;
}
.review-form__footnote {
font-size: 13px;
color: var(--color-text-light);
text-align: center;
margin: 16px 0 0;
}
/* ─── БЛОК ПРЕИМУЩЕСТВ У ФОРМЫ ─── */
.review-form-block__benefits-col {
padding-top: 12px;
}
.review-form-block__benefits-title {
font-size: 16px;
font-weight: 600;
color: var(--color-text);
margin-bottom: 16px;
}
.review-form-block__benefits {
list-style: none;
padding: 0;
margin: 0;
display: grid;
gap: 12px;
}
.review-form-block__benefit {
display: flex;
align-items: flex-start;
gap: 10px;
font-size: 14px;
color: var(--color-text);
line-height: 1.5;
}
.review-form-block__benefit-icon {
flex-shrink: 0;
width: 22px;
height: 22px;
border-radius: 50%;
background: var(--color-secondary);
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 12px;
font-weight: 700;
margin-top: 1px;
}
/* ─── ТРИГГЕРЫ СРОЧНОСТИ ─── */
.final-cta__triggers {
display: flex;
flex-direction: column;
gap: 12px;
max-width: 540px;
margin: 0 auto 28px;
}
.final-cta__trigger {
background: #fff;
border: none;
border-radius: 12px;
padding: 16px 20px;
display: flex;
align-items: center;
gap: 14px;
font-size: 15px;
line-height: 1.4;
color: #222;
box-shadow: 0 2px 12px rgba(0,0,0,0.08);
text-align: left;
transition: transform .2s, box-shadow .2s;
}
.final-cta__trigger:hover {
transform: translateY(-1px);
box-shadow: 0 4px 20px rgba(0,0,0,0.12);
}
.final-cta__trigger-icon {
font-size: 22px;
flex-shrink: 0;
width: 32px;
text-align: center;
}
.final-cta__trigger strong {
color: var(--color-primary);
font-weight: 600;
}
@media (max-width: 768px) {
.review-form-block__cols {
grid-template-columns: 1fr;
gap: 24px;
}
.review-form-block__form-col {
padding: 24px 20px;
}
.final-cta__triggers {
margin-bottom: 16px;
}
.final-cta__trigger {
font-size: 13px;
padding: 10px 14px;
}
}
/* ─── SECTION-BG (full-width background utilities) ─── */
.section-bg {
position: relative;
}
.section-bg::before {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: calc(-50vw + 50%);
width: 100vw;
z-index: -1;
}
.section-bg[data-bg="hero"]::before { background: var(--bg-hero); }
.section-bg[data-bg="white"]::before { background: var(--bg-white); }
.section-bg[data-bg="mint"]::before { background: var(--color-bg-alt); }
/* ─── PREFERS-REDUCED-MOTION ─── */
@media (prefers-reduced-motion: reduce) {
.reveal,
.reveal--visible,
.lw-card,
.reviews-hero__metric,
.reviews-hero__cta-btn,
.results__card,
.reviews-photos__item,
.video-reviews__card,
.cross-links__card,
.review-form-block__btn,
.reviews-ext-platforms__card,
.reviews-loadmore__btn,
.social_item,
.reviews-hero__visual,
.reviews-hero__photo-frame,
.reviews-hero__photo-ring,
.reviews-hero__float,
.reviews-hero__sparkle,
.reviews-hero__deco {
transition: none !important;
transform: none !important;
animation: none !important;
}
.reveal {
opacity: 1 !important;
transform: none !important;
}
}
/* ─── САМЫЕ МАЛЕНЬКИЕ ЭКРАНЫ (≤375px) ─── */
@media (max-width: 375px) {
.reviews-hero__h1 {
font-size: 22px;
}
.reviews-hero__metrics {
gap: 6px;
}
.reviews-hero__metric {
padding: 10px 8px;
}
.reviews-hero__metric-number {
font-size: 20px;
}
.reviews-hero__metric-label {
font-size: 9px;
overflow-wrap: break-word;
word-break: break-word;
hyphens: auto;
}
.reviews-cards .lw-grid--3 {
grid-template-columns: 1fr;
}
.results__card {
flex: 0 0 50%;
max-width: 50%;
padding: 16px 8px;
}
.results__grid {
gap: 0;
}
.cross-links__grid {
grid-template-columns: 1fr;
}
.final-cta__title {
font-size: 22px;
}
.reviews-hero__cta-btn {
padding: 14px 20px;
font-size: 15px;
}
}