shkola/wp-content/themes/dekart/assets/css/reviews-page.css
2026-06-30 13:31:13 +00:00

1785 lines
39 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;
}
}
/* ─── РЕЗУЛЬТАТЫ (блок с цифрами) ─── */
.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 moved to main.css */
/* ─── АДАПТИВНОСТЬ ─── */
@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;
}
}
@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;
}
.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;
}
/* ─── ВНЕШНИЕ ПЛОЩАДКИ (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;
}
.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;
}
}