2026-08-07 Наальная школа

This commit is contained in:
Dekart Deploy Bot 2026-08-07 11:52:31 +00:00
parent 1884be4a2e
commit 37d9611978
45 changed files with 4149 additions and 329 deletions

View File

@ -1384,6 +1384,10 @@ main {
padding-bottom: 0;
}
.content-main_block {
padding-bottom: 0;
}
.teachers_title {
font-size: 26px;
line-height: 40px;
@ -3152,7 +3156,7 @@ main {
.teacher-page .reviews {
padding: 40px 0;
}
.page-school .reviews .container{
.page-elementary-school .reviews .container{
background: rgba(254, 223, 111, 0.2);
border-radius: 20px;
padding: 20px 50px;
@ -6767,7 +6771,7 @@ footer a:hover,
padding: 3.13vw 0;
}
.page-school .reviews .container {
.page-elementary-school .reviews .container {
border-radius: 1.56vw;
padding: 1.56vw 3.91vw;
}
@ -8695,7 +8699,7 @@ footer a:hover,
top: 50%;
}
.page-school .reviews .container {
.page-elementary-school .reviews .container {
padding: 20px 35px;
}
@ -11057,6 +11061,137 @@ main > .pksh-section:first-child {
width: 100%;
}
/*
FAQ (faq-front) общий компонент для всех страниц
Источник: front-page.css (вынесен для переиспользования)
*/
.faq-front {
position: relative;
padding: 48px 0;
}
.faq-front::before {
background: var(--color-bg-alt, #F8F4F0);
}
.faq-front .section-header--centered {
margin-bottom: 40px;
}
.faq-front__list {
max-width: 900px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr;
gap: 12px;
}
@media (min-width: 768px) {
.faq-front__list {
grid-template-columns: 1fr 1fr;
}
}
.faq-front__item {
border-radius: var(--radius-sm, 12px);
background: var(--color-bg, #FFFFFF);
box-shadow: 0 4px 16px rgba(15,23,42,.08);
overflow: hidden;
}
.faq-front__item[open] {
box-shadow: var(--shadow-md, 0 8px 24px rgba(15,23,42,0.10));
}
.faq-front__question {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 18px 24px;
font-size: 1rem;
font-weight: 600;
line-height: 1.4;
color: var(--color-text, #0F172A);
cursor: pointer;
list-style: none;
user-select: none;
}
.faq-front__question::-webkit-details-marker {
display: none;
}
.faq-front__question svg {
flex-shrink: 0;
color: var(--color-text-muted, #475569);
transition: transform .25s;
}
.faq-front__item[open] .faq-front__question svg {
transform: rotate(180deg);
}
.faq-front__question:hover {
color: var(--color-primary, #2563EB);
}
.faq-front__question:active {
transform: scale(0.98);
}
.faq-front__question:focus-visible {
outline: 3px solid var(--color-primary);
outline-offset: 3px;
}
.faq-front__cta {
margin-top: 32px;
text-align: center;
}
.faq-front__cta-text {
font-size: 1rem;
font-weight: 600;
margin: 0 0 12px;
color: var(--color-text, #0F172A);
}
.faq-front__cta-msgs {
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: center;
}
.faq-front__cta-btn {
display: inline-flex;
align-items: center;
padding: 12px 28px;
border-radius: var(--radius-sm, 12px);
font-size: 1rem;
font-weight: 600;
background: var(--color-primary, #2563EB);
color: #FFFFFF;
text-decoration: none;
transition: background .2s, transform .2s;
min-height: 44px;
}
.faq-front__cta-btn:hover {
background: var(--color-primary-dark, #1D4ED8);
transform: translateY(-2px);
}
.faq-front__cta-btn:active {
transform: scale(0.97);
}
.faq-front__answer {
padding: 0 24px 18px;
font-size: 1rem;
line-height: 1.7;
color: #334155;
}
.faq-front__answer p {
margin: 0 0 12px;
}
.faq-front__answer p:last-child {
margin-bottom: 0;
}
@media (max-width: 639px) {
.faq-front {
padding: 32px 0;
}
.faq-front__question {
padding: 14px 18px;
font-size: 1rem;
}
.faq-front__answer {
padding: 0 18px 14px;
}
}
.faq-section {
padding: 48px 0;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,21 @@
<!--
tags: [read, dictionary, magazine, library, booklet, novel, book, file, paper, text]
category: Document
version: "1.50"
unicode: "efc5"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M19 4v16h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12" />
<path d="M19 16h-12a2 2 0 0 0 -2 2" />
<path d="M9 8h6" />
</svg>

After

Width:  |  Height:  |  Size: 482 B

View File

@ -0,0 +1,23 @@
<!--
tags: [read, dictionary, magazine, library, booklet, novel, book, file, paper, text]
category: Document
version: "1.0"
unicode: "ea39"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M3 19a9 9 0 0 1 9 0a9 9 0 0 1 9 0" />
<path d="M3 6a9 9 0 0 1 9 0a9 9 0 0 1 9 0" />
<path d="M3 6l0 13" />
<path d="M12 6l0 13" />
<path d="M21 6l0 13" />
</svg>

After

Width:  |  Height:  |  Size: 526 B

View File

@ -0,0 +1,21 @@
<!--
category: Design
tags: [energy, power, electricity, creativity, light, idea, bulb]
version: "1.0"
unicode: "ea51"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M3 12h1m8 -9v1m8 8h1m-15.4 -6.4l.7 .7m12.1 -.7l-.7 .7" />
<path d="M9 16a5 5 0 1 1 6 0a3.5 3.5 0 0 0 -1 3a2 2 0 0 1 -4 0a3.5 3.5 0 0 0 -1 -3" />
<path d="M9.7 17l4.6 0" />
</svg>

After

Width:  |  Height:  |  Size: 518 B

View File

@ -0,0 +1,23 @@
<!--
category: System
tags: [schedule, event, confirm, appointment, planning, date, reminder, online, organize, verify]
version: "2.10"
unicode: "f824"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M11.5 21h-5.5a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v6" />
<path d="M16 3v4" />
<path d="M8 3v4" />
<path d="M4 11h16" />
<path d="M15 19l2 2l4 -4" />
</svg>

After

Width:  |  Height:  |  Size: 547 B

View File

@ -0,0 +1,20 @@
<!--
tags: [video, photo, aperture, camera, content, entertainment, multimedia, broadcast, audio]
category: Media
version: "1.0"
unicode: "ea54"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M5 7h1a2 2 0 0 0 2 -2a1 1 0 0 1 1 -1h6a1 1 0 0 1 1 1a2 2 0 0 0 2 2h1a2 2 0 0 1 2 2v9a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-9a2 2 0 0 1 2 -2" />
<path d="M9 13a3 3 0 1 0 6 0a3 3 0 0 0 -6 0" />
</svg>

After

Width:  |  Height:  |  Size: 560 B

View File

@ -0,0 +1,21 @@
<!--
tags: [currency, payment, money, pay, cash, store, purchase, finance, dollar, banknote]
category: E-commerce
version: "1.0"
unicode: "ea55"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M7 15h-3a1 1 0 0 1 -1 -1v-8a1 1 0 0 1 1 -1h12a1 1 0 0 1 1 1v3" />
<path d="M7 10a1 1 0 0 1 1 -1h12a1 1 0 0 1 1 1v8a1 1 0 0 1 -1 1h-12a1 1 0 0 1 -1 -1l0 -8" />
<path d="M12 14a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
</svg>

After

Width:  |  Height:  |  Size: 580 B

View File

@ -0,0 +1,22 @@
<!--
tags: [statistics, diagram, graph, rhythm, data, analysis, chart, bar, visualization, analytics]
category: Charts
version: "1.0"
unicode: "ea59"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M3 13a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -6" />
<path d="M15 9a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v10a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -10" />
<path d="M9 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -14" />
<path d="M4 20h14" />
</svg>

After

Width:  |  Height:  |  Size: 668 B

View File

@ -0,0 +1,19 @@
<!--
tags: [tick, "yes", confirm, check, control, operation, approve, function, interface, management]
category: System
version: "1.0"
unicode: "ea5e"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M5 12l5 5l10 -10" />
</svg>

After

Width:  |  Height:  |  Size: 395 B

View File

@ -0,0 +1,22 @@
<!--
tags: [text, paper, report, details, job, file, description, document, data, content]
category: Document
version: "1.55"
unicode: "f028"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M14 3v4a1 1 0 0 0 1 1h4" />
<path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2" />
<path d="M9 17h6" />
<path d="M9 13h6" />
</svg>

After

Width:  |  Height:  |  Size: 524 B

View File

@ -0,0 +1,23 @@
<!--
tags: [arrow, move, toggle, fold, top, increase, navigation, flow, rise, upward]
category: Arrows
version: "1.30"
unicode: "ed55"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 13v-8l-3 3m6 0l-3 -3" />
<path d="M9 17l1 0" />
<path d="M14 17l1 0" />
<path d="M19 17l1 0" />
<path d="M4 17l1 0" />
</svg>

After

Width:  |  Height:  |  Size: 489 B

View File

@ -0,0 +1,19 @@
<!--
tags: [love, emotion, like, favorite, relationship, heart, geometry, form, figure, pattern]
category: Shapes
version: "1.0"
unicode: "eabe"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572" />
</svg>

After

Width:  |  Height:  |  Size: 449 B

View File

@ -0,0 +1,22 @@
<!--
category: Sport
tags: [decorate, uniform, medal, design, 2]
version: "1.50"
unicode: "efcd"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M9 3h6l3 7l-6 2l-6 -2l3 -7" />
<path d="M12 12l-3 -9" />
<path d="M15 11l-3 -8" />
<path d="M12 19.5l-3 1.5l.5 -3.5l-2 -2l3 -.5l1.5 -3l1.5 3l3 .5l-2 2l.5 3.5l-3 -1.5" />
</svg>

After

Width:  |  Height:  |  Size: 496 B

View File

@ -0,0 +1,20 @@
<!--
category: Map
tags: [students, class, teachers, professors, doctors, hall, classroom, subject, science, break, lesson]
version: "1.22"
unicode: "ecf7"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M22 9l-10 -4l-10 4l10 4l10 -4v6" />
<path d="M6 10.6v5.4a6 3 0 0 0 12 0v-5.4" />
</svg>

After

Width:  |  Height:  |  Size: 462 B

View File

@ -0,0 +1,20 @@
<!--
tags: [safety, protect, protection, "yes", add, shield, check, control, operation, confirm]
category: System
version: "1.0"
unicode: "eb22"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M11.46 20.846a12 12 0 0 1 -7.96 -14.846a12 12 0 0 0 8.5 -3a12 12 0 0 0 8.5 3a12 12 0 0 1 -.09 7.06" />
<path d="M15 19l2 2l4 -4" />
</svg>

After

Width:  |  Height:  |  Size: 502 B

View File

@ -0,0 +1,19 @@
<!--
tags: [favorite, like, mark, bookmark, grade, star, control, operation, rating, function]
category: System
version: "1.0"
unicode: "eb2e"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873l-6.158 -3.245" />
</svg>

After

Width:  |  Height:  |  Size: 489 B

View File

@ -0,0 +1,22 @@
<!--
tags: [people, persons, accounts, users, control, operation, function, interface, management]
category: System
version: "1.7"
unicode: "ebf2"
-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M5 7a4 4 0 1 0 8 0a4 4 0 1 0 -8 0" />
<path d="M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
<path d="M16 3.13a4 4 0 0 1 0 7.75" />
<path d="M21 21v-2a4 4 0 0 0 -3 -3.85" />
</svg>

After

Width:  |  Height:  |  Size: 550 B

View File

@ -0,0 +1,43 @@
<svg xmlns="http://www.w3.org/2000/svg" width="600" height="420" viewBox="0 0 600 420" fill="none" role="img" aria-labelledby="famTitle famDesc">
<title id="famTitle">Семейные классы Декарт — уют и забота о каждом ребёнке</title>
<desc id="famDesc">Родитель и ребёнок вместе в уютном классе — формат семейного обучения в Декарт</desc>
<!-- Background blobs -->
<ellipse cx="300" cy="225" rx="225" ry="170" fill="#EFF3FF"/>
<circle cx="480" cy="100" r="55" fill="#FEF3C7" opacity="0.8"/>
<circle cx="110" cy="330" r="40" fill="#DBE6FE" opacity="0.7"/>
<!-- Roof / home vibe -->
<path d="M120 175 L300 105 L480 175" stroke="#2563EB" stroke-width="6" stroke-linecap="round" fill="none"/>
<path d="M180 160 L300 105 L420 160 L300 210 Z" fill="#FEF3C7"/>
<path d="M180 160 L300 105 L420 160 L300 210 Z" fill="none" stroke="#F59E0B" stroke-width="4" stroke-linejoin="round"/>
<!-- Heart (family care) -->
<path d="M200 205 l16 16 16 -16 a12 12 0 0 0 -17 -17 a13 13 0 0 0 -15 17 Z" fill="#F59E0B"/>
<!-- Parent figure -->
<circle cx="360" cy="180" r="34" fill="#FCD9B8"/>
<path d="M324 175 Q324 145 360 145 Q396 145 396 175 Q396 160 380 157 Q396 142 360 136 Q324 142 340 157 Q324 160 324 175 Z" fill="#334155"/>
<circle cx="348" cy="173" r="3" fill="#334155"/>
<circle cx="372" cy="173" r="3" fill="#334155"/>
<path d="M350 184 Q360 190 370 184" stroke="#334155" stroke-width="2.5" stroke-linecap="round" fill="none"/>
<path d="M336 214 Q336 245 336 260 L384 260 Q384 245 384 214 Q370 205 360 205 Q350 205 336 214 Z" fill="#2563EB"/>
<!-- parent hand reaching child -->
<path d="M336 220 Q310 230 292 250" stroke="#FCD9B8" stroke-width="16" stroke-linecap="round"/>
<!-- Child figure -->
<circle cx="252" cy="280" r="26" fill="#FCD9B8"/>
<path d="M224 274 Q224 252 252 252 Q280 252 280 274 Q280 262 268 259 Q280 248 252 243 Q224 248 236 259 Q224 262 224 274 Z" fill="#1E293B"/>
<circle cx="242" cy="272" r="2.5" fill="#1E293B"/>
<circle cx="262" cy="272" r="2.5" fill="#1E293B"/>
<path d="M244 282 Q252 288 260 282" stroke="#1E293B" stroke-width="2.5" stroke-linecap="round" fill="none"/>
<path d="M238 306 Q238 328 238 340 L266 340 Q266 328 266 306 Q258 300 252 300 Q246 300 238 306 Z" fill="#F59E0B"/>
<!-- Book held together -->
<path d="M262 295 Q300 305 338 290 L336 335 Q300 348 264 335 Z" fill="#FFFFFF" stroke="#E2E8F0" stroke-width="2"/>
<line x1="300" y1="302" x2="300" y2="340" stroke="#CBD5E1" stroke-width="2"/>
<path d="M274 314 L296 320 M274 326 L296 332" stroke="#2563EB" stroke-width="3" stroke-linecap="round" opacity="0.8"/>
<!-- Small stars -->
<path d="M430 235 l4 8 9 1.5 -6.5 6.5 1.5 9 -8 -4 -8 4 1.5 -9 -6.5 -6.5 9 -1.5 Z" fill="#2563EB" opacity="0.8"/>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,58 @@
<svg xmlns="http://www.w3.org/2000/svg" width="600" height="420" viewBox="0 0 600 420" fill="none" role="img" aria-labelledby="planTitle planDesc">
<title id="planTitle">Персональный план развития ученика начальной школы Декарт</title>
<desc id="planDesc">Ребёнок читает книгу, рядом график роста и достижений в персональном плане развития</desc>
<!-- Background blob -->
<ellipse cx="300" cy="230" rx="230" ry="170" fill="#EFF3FF"/>
<circle cx="470" cy="90" r="60" fill="#DBE6FE" opacity="0.7"/>
<circle cx="120" cy="340" r="40" fill="#FEF3C7" opacity="0.8"/>
<!-- Growth chart (personal plan) -->
<rect x="72" y="120" width="120" height="90" rx="14" fill="#FFFFFF" stroke="#E2E8F0"/>
<line x1="88" y1="185" x2="172" y2="185" stroke="#CBD5E1" stroke-width="2"/>
<line x1="88" y1="185" x2="88" y2="140" stroke="#CBD5E1" stroke-width="2"/>
<polyline points="88,176 108,160 128,152 148,140 168,132" fill="none" stroke="#2563EB" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="168" cy="132" r="6" fill="#2563EB"/>
<circle cx="168" cy="132" r="12" fill="#2563EB" opacity="0.25"/>
<text x="88" y="206" font-family="Inter, sans-serif" font-size="12" font-weight="600" fill="#64748B">рост успеваемости</text>
<!-- Checkmark card -->
<rect x="78" y="255" width="110" height="70" rx="14" fill="#FFFFFF" stroke="#E2E8F0"/>
<circle cx="100" cy="277" r="12" fill="#2563EB"/>
<path d="M95 277 l4 4 8 -8" stroke="#FFFFFF" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
<text x="120" y="274" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#0F172A">цель</text>
<text x="120" y="290" font-family="Inter, sans-serif" font-size="11" fill="#64748B">достигнута</text>
<!-- Kid -->
<!-- body -->
<circle cx="330" cy="160" r="52" fill="#FCD9B8"/>
<!-- hair -->
<path d="M278 155 Q278 95 330 95 Q382 95 382 155 Q382 130 358 125 Q382 100 330 90 Q278 100 302 125 Q278 130 278 155 Z" fill="#334155"/>
<!-- face -->
<circle cx="313" cy="152" r="4" fill="#334155"/>
<circle cx="347" cy="152" r="4" fill="#334155"/>
<path d="M315 170 Q330 182 345 170" stroke="#334155" stroke-width="3" stroke-linecap="round" fill="none"/>
<circle cx="330" cy="142" r="7" fill="#F5A87D" opacity="0.6"/>
<!-- torso -->
<path d="M296 210 Q296 260 296 275 L364 275 Q364 260 364 210 Q348 198 330 198 Q312 198 296 210 Z" fill="#2563EB"/>
<!-- collar -->
<path d="M310 205 Q330 225 350 205" stroke="#FFFFFF" stroke-width="5" stroke-linecap="round" fill="none"/>
<!-- arms -->
<path d="M296 215 Q276 230 262 250" stroke="#FCD9B8" stroke-width="18" stroke-linecap="round"/>
<path d="M364 215 Q384 230 398 250" stroke="#FCD9B8" stroke-width="18" stroke-linecap="round"/>
<!-- Book -->
<path d="M232 246 Q300 266 368 246 L368 340 Q300 360 232 340 Z" fill="#F59E0B"/>
<path d="M300 266 L300 352" stroke="#D97706" stroke-width="3"/>
<path d="M252 280 L290 290 M252 298 L290 308 M252 316 L290 326" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" opacity="0.85"/>
<path d="M310 290 L348 280 M310 308 L348 298 M310 326 L348 316" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" opacity="0.85"/>
<!-- Star (achievement) -->
<path d="M420 120 l6 12 13 2 -9 9 2 13 -12 -6 -12 6 2 -13 -9 -9 13 -2 Z" fill="#F59E0B"/>
<path d="M455 180 l4 8 9 1.5 -6.5 6.5 1.5 9 -8 -4 -8 4 1.5 -9 -6.5 -6.5 9 -1.5 Z" fill="#DBE6FE"/>
<!-- Legs -->
<rect x="304" y="275" width="22" height="45" rx="10" fill="#2563EB"/>
<rect x="334" y="275" width="22" height="45" rx="10" fill="#1D4ED8"/>
<path d="M300 322 L330 316 M352 316 L360 322" stroke="#334155" stroke-width="7" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -0,0 +1,25 @@
/**
* Страница начальной школы (page-elementary-school.php)
* Reveal-анимации IntersectionObserver (как на главной).
*/
(function () {
'use strict';
var sections = document.querySelectorAll('.page-elementary-school .reveal');
if (!sections.length || !('IntersectionObserver' in window)) {
return;
}
var observer = new IntersectionObserver(function (entries) {
entries.forEach(function (entry) {
if (entry.isIntersecting) {
entry.target.classList.add('is-visible');
observer.unobserve(entry.target);
}
});
}, { threshold: 0.12 });
sections.forEach(function (el) {
observer.observe(el);
});
})();

View File

@ -678,23 +678,468 @@ function add_carbon()
));
// ====================================================
// Доп поля для страницы начальной школы
// Страница начальной школы — вкладки (как главная)
// ====================================================
// Общий список иконок для карточек (файлы assets/images/icons/*.svg)
$school_icon_options = array(
'users' => '👥 Ученики',
'book' => '📖 Книга',
'book-2' => '📚 Книги',
'school' => '🏫 Школа',
'shield-check' => '🛡️ Защита',
'bulb' => '💡 Идея',
'chart-bar' => '📊 График',
'star' => '⭐ Звезда',
'calendar-check' => '📅 Календарь',
'camera' => '📷 Камера',
'heart' => '❤️ Сердце',
'file-description' => '📄 Документ',
'check' => '✅ Галочка',
'cash' => '💵 Деньги',
'medal-2' => '🏅 Медаль',
'fold-up' => '📂 Папка',
'scroll-hand' => '📜 Свиток',
'icon-education' => '🎓 Образование',
'icon-experience' => '🧠 Опыт',
'icon-certificate' => '📜 Сертификат',
);
// Иконки для плашек hero — только из SVG-спрайта (use href="#icon-*")
$school_hero_float_icons = array(
'teacher' => '👨‍🏫 Учитель',
'users' => '👥 Ученики',
'clock' => '🕐 Часы',
'book' => '📖 Книга',
'graduation' => '🎓 Выпуск',
'target' => '🎯 Цель',
'game' => '🎮 Игра',
'gift' => '🎁 Подарок',
'coin' => '🪙 Монета',
'document' => '📄 Документ',
'calendar' => '📅 Календарь',
'check-circle' => '✅ Проверено',
'star-filled' => '⭐ Звезда',
'trending-up' => '📈 Рост',
'location-pin' => '📍 Пин',
);
Container::make('post_meta', 'Настройки Начальной Школы')
->where('post_template', '=', 'page-school.php')
->add_fields(array(
Field::make('textarea', 'teachers_block', 'Текст в блоке "Наша команда":'),
Field::make('textarea', 'block_text_1', 'Текст для блока "Персональный план развития для каждого ученика"'),
Field::make('textarea', 'block_text_2', 'Текст для блока - Почему начальная частная школа "Декарт", а не государственная?'),
Field::make('textarea', 'block_text_3', 'Текст для блока "Семейные классы в Щелково"'),
Field::make('complex', 'questions', 'Блок вопросы и ответы')
->where('post_template', '=', 'page-elementary-school.php')
->add_tab('🖼️ HERO', array(
Field::make('html', 'school_hero_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Главный экран страницы. Фото — квадратное 600×600 (круглая рамка справа). Заголовок H1 и статистика.</p>'),
Field::make('image', 'banner_img_desktop', 'Фото героя')
->set_width(40)
->set_help_text('Квадратное фото 600×600px. Показывается справа в круглой рамке.'),
Field::make('text', 'banner_h1', 'Заголовок H1')
->set_width(60)
->set_help_text('Главный заголовок страницы. Пример: «Начальная школа «Декарт» — 14 классы в Щёлково».'),
Field::make('textarea', 'school_hero_subtitle', 'Подзаголовок')
->set_default_value('Мини-классы до 10 учеников, английский с 1 класса и продлёнка до 19:00. Официальное прикрепление к московской школе — аттестат государственного образца.')
->set_help_text('Короткий текст под заголовком. Можно выделять важное <strong>жирным</strong>.'),
Field::make('html', 'school_hero_stats_sep', '')
->set_html('<hr style="margin:16px 0;border:none;border-top:1px solid #e2e8f0;"><h3 style="margin:0 0 8px;font-size:13px;color:#475569;">📊 Показатели статистики</h3><p style="color:#94a3b8;font-size:12px;margin:0 0 8px;">3 карточки с цифрами под заголовком.</p>'),
Field::make('complex', 'hero_stats', 'Показатели')
->set_layout('tabbed-horizontal')
->add_fields(array(
Field::make('textarea', 'questions_question', 'Текст вопроса')
->set_width(30),
Field::make('textarea', 'questions_answer', 'Текст ответа')
Field::make('text', 'stat_number', 'Число')
->set_width(30)
->set_help_text('Например: до 10, 14, с 1 кл.'),
Field::make('text', 'stat_label', 'Подпись')
->set_width(70)
->set_help_text('Например: человек в классе, классы начальной школы.'),
)),
Field::make('html', 'school_hero_floats_sep', '')
->set_html('<hr style="margin:16px 0;border:none;border-top:1px solid #e2e8f0;"><h3 style="margin:0 0 8px;font-size:13px;color:#475569;">💬 Плашки (мобильные USP + плавающие блоки)</h3><p style="color:#94a3b8;font-size:12px;margin:0 0 8px;">До 3 коротких преимуществ. На десктопе — плавающие карточки на фото, на мобильном — под заголовком.</p>'),
Field::make('complex', 'school_hero_floats', 'Плашки')
->set_layout('tabbed-horizontal')
->add_fields(array(
Field::make('select', 'icon', 'Иконка')
->set_width(30)
->set_options($school_hero_float_icons)
->set_help_text('Выберите иконку из списка.'),
Field::make('text', 'text', 'Текст')
->set_width(70)
->set_help_text('Короткая фраза. Пример: «Педагоги с опытом от 10 лет».'),
)),
Field::make('html', 'school_hero_assurance_sep', '')
->set_html('<hr style="margin:16px 0;border:none;border-top:1px solid #e2e8f0;"><h3 style="margin:0 0 8px;font-size:13px;color:#475569;">🤝 Пункты доверия</h3><p style="color:#94a3b8;font-size:12px;margin:0 0 8px;">Галочки под кнопкой записи. Снимают возражения.</p>'),
Field::make('complex', 'school_hero_assurance', 'Пункты доверия')
->set_layout('tabbed-horizontal')
->add_fields(array(
Field::make('text', 'text', 'Текст')
->set_help_text('Пример: «Можно просто прийти и посмотреть».'),
)),
Field::make('html', 'school_cta_label_sep', '')
->set_html('<hr style="margin:16px 0;border:none;border-top:1px solid #e2e8f0;"><h3 style="margin:0 0 8px;font-size:13px;color:#475569;">🔘 Текст кнопок записи</h3><p style="color:#94a3b8;font-size:12px;margin:0 0 8px;">Один текст для всех кнопок «Записаться» на странице.</p>'),
Field::make('text', 'school_cta_label', 'Текст кнопки записи')
->set_default_value('Записаться на экскурсию')
->set_width(100),
))
->add_tab('🏫 Классы 14', array(
Field::make('html', 'school_classes_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Навигационные карточки классов сразу под героем. Каждая ведёт на свою страницу.</p>'),
Field::make('text', 'school_classes_title', 'Заголовок секции')
->set_default_value('Классы начальной школы 14')
->set_width(50),
Field::make('text', 'school_classes_subtitle', 'Подзаголовок секции')
->set_default_value('Выберите класс — узнайте о программе, особенностях обучения и поступлении.')
->set_width(50),
Field::make('complex', 'school_classes', 'Карточки классов')
->set_layout('tabbed-horizontal')
->set_help_text('Добавьте 4 карточки (14 класс). Порядок = порядок вывода.')
->add_fields(array(
Field::make('text', 'num', 'Номер класса')
->set_width(15)
->set_help_text('Цифра на карточке. Пример: 1'),
Field::make('text', 'title', 'Заголовок')
->set_width(30)
->set_help_text('Пример: 1 класс'),
Field::make('textarea', 'text', 'Описание')
->set_width(55)
->set_help_text('12 предложения о программе класса.'),
Field::make('text', 'url', 'Ссылка на страницу класса')
->set_help_text('Начинается с /. Пример: /1-klass/'),
)),
))
->add_tab('⭐ Преимущества', array(
Field::make('html', 'school_advantages_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Карточки преимуществ школы. Цвет рамки и иконка подбираются автоматически по порядку.</p>'),
Field::make('text', 'school_advantages_title', 'Заголовок секции')
->set_default_value('Наши преимущества')
->set_width(100),
Field::make('complex', 'advantages', 'Карточки преимуществ')
->set_layout('tabbed-horizontal')
->set_help_text('Рекомендуется 6 карточек (2 ряда по 3).')
->add_fields(array(
Field::make('text', 'advantages_title', 'Заголовок')
->set_width(50),
Field::make('textarea', 'advantages_text', 'Текст')
->set_width(50),
Field::make('text', 'advantages_link', 'Ссылка «Узнать подробнее» (URL или #)')
->set_help_text('Начинается с /. Оставьте пустым, чтобы убрать ссылку.'),
)),
))
->add_tab('🚪 День открытых дверей', array(
Field::make('html', 'school_openday_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Секция записи на экскурсию: список пунктов + фото школы. Телефон берётся из настроек филиала.</p>'),
Field::make('text', 'school_open_day_lead', 'Вводный текст')
->set_default_value('Хотите убедиться, что наша школа идеально подойдёт вашему ребёнку?')
->set_width(100),
Field::make('text', 'school_open_day_title', 'Заголовок секции')
->set_default_value('Записаться на день открытых дверей')
->set_width(100),
Field::make('complex', 'school_open_day_points', 'Пункты (что будет на встрече)')
->set_layout('tabbed-horizontal')
->set_help_text('Список с галочками. Пример: «Экскурсия по школе».')
->add_fields(array(
Field::make('text', 'text', 'Пункт'),
)),
Field::make('image', 'school_open_day_photo', 'Фото школы')
->set_width(50)
->set_help_text('Рекомендуемый размер: 550×390px. Справа от текста.'),
Field::make('text', 'school_open_day_footnote', 'Примечание под кнопкой')
->set_default_value('Бесплатно · 30 минут · Без обязательств')
->set_width(50),
))
->add_tab('📋 Персональный план', array(
Field::make('html', 'school_plan_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Секция «Персональный план развития»: основной текст + 3 выгоды + плашка с цифрой.</p>'),
Field::make('text', 'school_plan_title', 'Заголовок секции')
->set_default_value('Персональный план развития для каждого ученика')
->set_width(100),
Field::make('textarea', 'block_text_1', 'Основной текст секции')
->set_help_text('12 абзаца о персональном плане развития.'),
Field::make('complex', 'school_plan_benefits', 'Выгоды (3 пункта с галочками)')
->set_layout('tabbed-horizontal')
->add_fields(array(
Field::make('text', 'text', 'Текст выгоды'),
)),
Field::make('html', 'school_plan_badge_sep', '')
->set_html('<hr style="margin:16px 0;border:none;border-top:1px solid #e2e8f0;"><h3 style="margin:0 0 8px;font-size:13px;color:#475569;">🔢 Плашка на фото</h3>'),
Field::make('text', 'school_plan_badge_num', 'Число в плашке')
->set_default_value('до 10')
->set_width(30),
Field::make('text', 'school_plan_badge_label', 'Подпись плашки')
->set_default_value('учеников в классе')
->set_width(70),
))
->add_tab('📚 Программа и кружки', array(
Field::make('html', 'school_program_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Программа обучения по классам + список кружков.</p>'),
Field::make('text', 'school_program_title', 'Заголовок секции')
->set_default_value('Программа обучения 14 классов')
->set_width(50),
Field::make('text', 'school_program_subtitle', 'Подзаголовок секции')
->set_default_value('Программы «Перспектива» и система Занкова, углублённый английский — и кружки для всестороннего развития.')
->set_width(50),
Field::make('complex', 'school_programs', 'Программа по классам')
->set_layout('tabbed-horizontal')
->set_help_text('4 карточки (14 класс).')
->add_fields(array(
Field::make('text', 'title', 'Класс')
->set_width(20)
->set_help_text('Пример: 1 класс'),
Field::make('textarea', 'items', 'Предметы')
->set_width(80)
->set_help_text('Список предметов через запятую.'),
)),
Field::make('complex', 'school_clubs', 'Кружки и доп. занятия')
->set_layout('tabbed-horizontal')
->set_help_text('Каждый кружок — отдельная запись. Пример: «Ментальная арифметика».')
->add_fields(array(
Field::make('text', 'name', 'Название кружка'),
)),
))
->add_tab('🧩 Проблемы родителей', array(
Field::make('html', 'school_problems_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Секция «Решаем главные проблемы»: карточки «проблема → решение».</p>'),
Field::make('text', 'school_problems_title', 'Заголовок секции')
->set_default_value('Решаем главные проблемы родителей и учеников в начальной школы')
->set_width(50),
Field::make('text', 'school_problems_subtitle', 'Подзаголовок секции')
->set_default_value('Мы продумали каждую деталь обучения, чтобы вы были спокойны за ребёнка.')
->set_width(50),
Field::make('complex', 'school_problems', 'Карточки проблем')
->set_layout('tabbed-horizontal')
->set_help_text('5 карточек. Заголовок — тревога родителя, текст — как школа её решает.')
->add_fields(array(
Field::make('text', 'title', 'Заголовок')
->set_width(40),
Field::make('textarea', 'text', 'Текст')
->set_width(60),
)),
))
->add_tab('🌱 Адаптация', array(
Field::make('html', 'school_adaptation_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Секция «Мягкая адаптация первоклассника» — 4 карточки с иконками.</p>'),
Field::make('text', 'school_adaptation_title', 'Заголовок секции')
->set_default_value('Мягкая адаптация первоклассника')
->set_width(50),
Field::make('text', 'school_adaptation_subtitle', 'Подзаголовок секции')
->set_default_value('Первый класс — важный этап. Мы делаем его спокойным и радостным для ребёнка и родителей.')
->set_width(50),
Field::make('complex', 'school_adaptation', 'Карточки адаптации')
->set_layout('tabbed-horizontal')
->add_fields(array(
Field::make('select', 'icon', 'Иконка')
->set_width(30)
->set_options($school_icon_options),
Field::make('text', 'title', 'Заголовок')
->set_width(70),
Field::make('textarea', 'text', 'Текст')
->set_width(100),
)),
))
->add_tab('🛡️ Безопасность', array(
Field::make('html', 'school_safety_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Секция «Безопасность ребёнка» — 4 карточки с иконками.</p>'),
Field::make('text', 'school_safety_title', 'Заголовок секции')
->set_default_value('Безопасность ребёнка — наш приоритет')
->set_width(50),
Field::make('text', 'school_safety_subtitle', 'Подзаголовок секции')
->set_default_value('Мы создали среду, в которой дети чувствуют себя защищённо — и могут спокойно учиться.')
->set_width(50),
Field::make('complex', 'school_safety', 'Карточки безопасности')
->set_layout('tabbed-horizontal')
->add_fields(array(
Field::make('select', 'icon', 'Иконка')
->set_width(30)
->set_options($school_icon_options),
Field::make('text', 'title', 'Заголовок')
->set_width(70),
Field::make('textarea', 'text', 'Текст')
->set_width(100),
)),
))
->add_tab('⚖️ Сравнение с госшколой', array(
Field::make('html', 'school_compare_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Таблица «Декарт vs Государственная школа» + яркая цифра. Вводный текст — «лид» справа от заголовка.</p>'),
Field::make('text', 'school_compare_title', 'Заголовок секции')
->set_default_value('Частная школа «Декарт» или государственная?')
->set_width(100),
Field::make('textarea', 'block_text_2', 'Вводный текст (лид)')
->set_help_text('Короткий абзац справа от заголовка «Частная школа или государственная?».'),
Field::make('html', 'school_compare_hl_sep', '')
->set_html('<hr style="margin:16px 0;border:none;border-top:1px solid #e2e8f0;"><h3 style="margin:0 0 8px;font-size:13px;color:#475569;">🔆 Яркая цифра (highlight)</h3>'),
Field::make('text', 'school_compare_hl_num', 'Цифра')
->set_default_value('до 30')
->set_width(20),
Field::make('text', 'school_compare_hl_text', 'Пояснение к цифре')
->set_default_value('учеников на одного учителя в государственной школе — и персональное внимание каждому ребёнку в «Декарт»')
->set_width(80),
Field::make('complex', 'school_compare_rows', 'Строки таблицы')
->set_layout('tabbed-horizontal')
->set_help_text('5 строк. Для каждой: критерий, значение в госшколе, значение в «Декарт».')
->add_fields(array(
Field::make('text', 'criteria', 'Критерий')
->set_width(100),
Field::make('text', 'gov', 'Государственная школа')
->set_width(50),
Field::make('text', 'private', 'Школа «Декарт»')
->set_width(50),
)),
))
->add_tab('🤝 Гарантии', array(
Field::make('html', 'school_guarantees_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Секция «На что вы можете рассчитывать» — 4 карточки-гарантии.</p>'),
Field::make('text', 'school_guarantees_title', 'Заголовок секции')
->set_default_value('На что вы можете рассчитывать')
->set_width(50),
Field::make('text', 'school_guarantees_subtitle', 'Подзаголовок секции')
->set_default_value('Мы отвечаем за качество обучения и комфорт вашего ребёнка.')
->set_width(50),
Field::make('complex', 'school_guarantees', 'Карточки гарантий')
->set_layout('tabbed-horizontal')
->add_fields(array(
Field::make('select', 'icon', 'Иконка')
->set_width(30)
->set_options($school_icon_options),
Field::make('text', 'title', 'Заголовок')
->set_width(70),
Field::make('textarea', 'text', 'Текст')
->set_width(100),
)),
))
->add_tab('📈 Результаты', array(
Field::make('html', 'school_results_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Секция «Результаты наших учеников» — 4 цифры с подписями.</p>'),
Field::make('text', 'school_results_title', 'Заголовок секции')
->set_default_value('Результаты наших учеников')
->set_width(50),
Field::make('text', 'school_results_subtitle', 'Подзаголовок секции')
->set_default_value('Цифры, которые говорят сами за себя: ваши дети опережают сверстников и учатся с удовольствием.')
->set_width(50),
Field::make('complex', 'school_results', 'Цифры-результаты')
->set_layout('tabbed-horizontal')
->add_fields(array(
Field::make('text', 'num', 'Цифра')
->set_width(30)
->set_help_text('Пример: 98%, до 10, 612 мес'),
Field::make('text', 'label', 'Подпись')
->set_width(70),
)),
))
->add_tab('🚀 Как поступить', array(
Field::make('html', 'school_steps_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Секция «Как поступить» — 4 шага поступления.</p>'),
Field::make('text', 'school_steps_title', 'Заголовок секции')
->set_default_value('Как поступить в начальную школу «Декарт»')
->set_width(50),
Field::make('text', 'school_steps_subtitle', 'Подзаголовок секции')
->set_default_value('Всего 4 простых шага — и ваш ребёнок учится в мини-классе с индивидуальным подходом.')
->set_width(50),
Field::make('complex', 'school_steps', 'Шаги поступления')
->set_layout('tabbed-horizontal')
->add_fields(array(
Field::make('text', 'num', 'Номер')
->set_width(15)
->set_help_text('Формат 01, 02, 03, 04'),
Field::make('select', 'icon', 'Иконка')
->set_width(25)
->set_options($school_icon_options),
Field::make('text', 'title', 'Заголовок')
->set_width(60),
Field::make('textarea', 'text', 'Текст')
->set_width(100),
)),
))
->add_tab('📸 Галерея', array(
Field::make('html', 'school_gallery_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Мини-галерея 24 фото. Если пусто — секция не показывается.</p>'),
Field::make('complex', 'school_gallery', 'Фотографии')
->set_layout('tabbed-horizontal')
->add_fields(array(
Field::make('image', 'photo', 'Фотография')
->set_help_text('Рекомендуемый размер: 868×1156px (портретная).'),
)),
))
->add_tab('❓ FAQ', array(
Field::make('html', 'school_faq_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Вопросы и ответы. Разметка FAQPage JSON-LD генерируется автоматически. Если пусто — секция скрыта.</p>'),
Field::make('text', 'school_faq_title', 'Заголовок секции')
->set_default_value('Часто задаваемые вопросы')
->set_width(50),
Field::make('text', 'school_faq_subtitle', 'Подзаголовок секции')
->set_default_value('Ответы на главные вопросы родителей о начальной школе «Декарт»')
->set_width(50),
Field::make('complex', 'questions', 'Вопросы и ответы')
->set_layout('tabbed-horizontal')
->add_fields(array(
Field::make('textarea', 'questions_question', 'Вопрос')
->set_width(30),
Field::make('textarea', 'questions_answer', 'Ответ')
->set_width(70),
)),
))
->add_tab('✅ Готовность к школе', array(
Field::make('html', 'school_readiness_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Секция-ссылка на интерактивный тест готовности к школе.</p>'),
Field::make('text', 'school_readiness_title', 'Заголовок')
->set_default_value('Готов ли ребёнок к школе?')
->set_width(50),
Field::make('textarea', 'school_readiness_text', 'Текст')
->set_default_value('Пройдите короткий тест из 12 вопросов и получите персональные рекомендации по подготовке ребёнка к 1 классу. Это бесплатно и займёт 5 минут.')
->set_width(50),
Field::make('text', 'school_readiness_btn_label', 'Текст кнопки')
->set_default_value('Пройти тест')
->set_width(30),
Field::make('text', 'school_readiness_btn_url', 'URL кнопки')
->set_default_value('/test-gotovnost-k-shkole/')
->set_width(30),
Field::make('text', 'school_readiness_time', 'Подпись «сколько времени»')
->set_default_value('~5 минут · 12 вопросов · Бесплатно')
->set_width(40),
))
->add_tab('🏁 CTA и фото', array(
Field::make('html', 'school_cta_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Акцентная CTA-секция с фото (после сравнения). Фото широкое.</p>'),
Field::make('text', 'school_accent_eyebrow', 'Надзаголовок (eyebrow)')
->set_default_value('Приходите знакомиться')
->set_width(50),
Field::make('text', 'school_accent_title', 'Заголовок')
->set_default_value('Увидеть школу — лучше, чем прочитать о ней')
->set_width(50),
Field::make('textarea', 'school_accent_text', 'Текст')
->set_default_value('Посмотрите классы, познакомьтесь с педагогами и почувствуйте атмосферу лично. Экскурсия бесплатна, длится 30 минут и ни к чему не обязывает.'),
Field::make('image', 'school_accent_photo', 'Фото для CTA-секции')
->set_help_text('Широкий баннер. Рекомендуемый размер: 1295×454px.'),
Field::make('html', 'school_cta_why_sep', '')
->set_html('<hr style="margin:16px 0;border:none;border-top:1px solid #e2e8f0;"><h3 style="margin:0 0 8px;font-size:13px;color:#475569;">📝 Секция «Почему частная школа»</h3>'),
Field::make('text', 'school_why_private_title', 'Заголовок секции «Почему частная школа»')
->set_default_value('Почему начальная частная школа «Декарт», а не государственная?')
->set_width(100),
Field::make('textarea', 'school_why_private_text', 'Текст секции «Почему частная школа»')
->set_help_text('Абзац с аргументами в пользу частной школы.'),
Field::make('image', 'school_why_private_photo', 'Фото ученика')
->set_width(50)
->set_help_text('Рекомендуемый размер: 273×285px.'),
Field::make('html', 'school_cta_final_sep', '')
->set_html('<hr style="margin:16px 0;border:none;border-top:1px solid #e2e8f0;"><h3 style="margin:0 0 8px;font-size:13px;color:#475569;">🏁 Финальный CTA</h3>'),
Field::make('text', 'school_final_cta_title', 'Заголовок финального CTA')
->set_default_value('Готовы записать ребёнка в начальную школу?')
->set_width(50),
Field::make('textarea', 'school_final_cta_text', 'Текст финального CTA')
->set_default_value('Позвоните нам или оставьте заявку — ответим на все вопросы и пригласим на экскурсию.')
->set_width(50),
Field::make('html', 'school_cta_family_sep', '')
->set_html('<hr style="margin:16px 0;border:none;border-top:1px solid #e2e8f0;"><h3 style="margin:0 0 8px;font-size:13px;color:#475569;">🔗 Перелинковка (семейные классы)</h3>'),
Field::make('complex', 'school_family_links', 'Ссылки-рекомендации')
->set_layout('tabbed-horizontal')
->set_help_text('До 3 ссылок в блоке «Узнайте больше о форматах обучения».')
->add_fields(array(
Field::make('text', 'text', 'Текст ссылки')
->set_width(70),
Field::make('text', 'url', 'Ссылка (URL или #якорь)')
->set_width(30),
)),
))
->add_tab('📝 Прочее', array(
Field::make('html', 'school_misc_tab_desc', '')
->set_html('<p style="color:#64748b;font-size:13px;margin:0 0 12px;">Служебные поля. Обычно не требуют редактирования.</p>'),
Field::make('textarea', 'teachers_block', 'Текст в блоке «Наша команда»'),
Field::make('textarea', 'block_text_3', 'Текст для блока «Семейные классы в Щёлково» (зарезервировано)'),
));
// ====================================================
@ -2004,6 +2449,36 @@ function enqueue_template_specific_styles()
true
);
}
// Страница начальной школы — hero в стиле главной + cta-секция
if (is_page_template('page-elementary-school.php')) {
wp_enqueue_style(
'front-page-style',
get_template_directory_uri() . '/assets/css/front-page.css',
array(),
filemtime(get_template_directory() . '/assets/css/front-page.css')
);
wp_enqueue_style(
'school-style',
get_template_directory_uri() . '/assets/css/school.css',
array(),
filemtime(get_template_directory() . '/assets/css/school.css')
);
wp_enqueue_script(
'school-script',
get_template_directory_uri() . '/assets/js/school.js',
array(),
filemtime(get_template_directory() . '/assets/js/school.js'),
true
);
wp_enqueue_script(
'sticky-cta',
get_template_directory_uri() . '/assets/js/sticky-cta.js',
array(),
filemtime(get_template_directory() . '/assets/js/sticky-cta.js'),
true
);
}
}
/**
@ -2123,7 +2598,7 @@ function needs_swiper(): bool
'page-after-school.php',
'page-foto.php',
'page-o-nas.php',
'page-school.php',
'page-elementary-school.php',
'page-contacts.php',
'page-teachers.php',
'page-camp.php',

View File

@ -0,0 +1,157 @@
<?php
/*
Template Name: Начальная школа (Elementary School)
*/
?>
<?php
get_header();
$post_id = get_the_ID();
$page_breadcrumbs = carbon_get_post_meta($post_id, 'page_breadcrumbs');
?>
<main class="page-elementary-school">
<?php get_template_part('template-parts/school/hero'); ?>
<?php get_template_part('template-parts/school/classes-nav'); ?>
<?php get_template_part('template-parts/school/advantages'); ?>
<?php get_template_part('template-parts/school/open-day'); ?>
<?php get_template_part('template-parts/school/personal-plan'); ?>
<?php get_template_part('template-parts/school/program'); ?>
<?php get_template_part('template-parts/school/solve-problems'); ?>
<?php get_template_part('template-parts/school/adaptation'); ?>
<?php get_template_part('template-parts/school/safety'); ?>
<?php get_template_part('template-parts/cta-consultation'); ?>
<?php get_template_part('template-parts/school/comparison-table'); ?>
<?php get_template_part('template-parts/school/accent-cta'); ?>
<?php get_template_part('template-parts/school/guarantees'); ?>
<?php get_template_part('template-parts/school/results'); ?>
<?php get_template_part('template-parts/school/gallery'); ?>
<?php get_template_part('template-parts/price-front'); ?>
<?php get_template_part('template-parts/school/enrollment-steps'); ?>
<?php get_template_part('template-parts/teachers-cards'); ?>
<?php get_template_part('template-parts/reviews-link'); ?>
<?php get_template_part('template-parts/block-foto'); ?>
<?php get_template_part('template-parts/school/faq'); ?>
<?php get_template_part('template-parts/school/readiness-check'); ?>
<?php get_template_part('template-parts/school/family-classes'); ?>
<?php get_template_part('template-parts/school/final-cta'); ?>
<?php get_template_part('template-parts/contacts'); ?>
<?php get_template_part('template-parts/sticky-cta'); ?>
</main>
<?php
$school_published = get_the_date('c', $post_id);
$school_modified = get_the_modified_time('c', $post_id);
?>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "WebPage",
"@id": "https://schelkovo.dekart.school/nachalnaya-shkola/",
"url": "https://schelkovo.dekart.school/nachalnaya-shkola/",
"name": "Частная начальная школа «Декарт» в Щелково: 1-4 классы",
"isPartOf": {"@id": "https://schelkovo.dekart.school/#website"},
"datePublished": "<?php echo esc_attr($school_published); ?>",
"dateModified": "<?php echo esc_attr($school_modified); ?>",
"description": "Частная начальная школа «Декарт» в Щелково для учеников 1-4 классов. Углубленная программа, английский с 1 класса, классы до 12 человек. Запишитесь на экскурсию!",
"breadcrumb": {"@id": "https://schelkovo.dekart.school/nachalnaya-shkola/#breadcrumb"},
"inLanguage": "ru-RU",
"potentialAction": [
{
"@type": "ReadAction",
"target": ["https://schelkovo.dekart.school/nachalnaya-shkola/"]
}
]
},
{
"@type": "BreadcrumbList",
"@id": "https://schelkovo.dekart.school/nachalnaya-shkola/#breadcrumb",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Главная страница",
"item": "https://schelkovo.dekart.school/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Начальная школа"
}
]
},
{
"@type": "WebSite",
"@id": "https://schelkovo.dekart.school/#website",
"url": "https://schelkovo.dekart.school/",
"name": "Частная школа Декарт",
"description": "Частная школа Декарт в Щелково",
"publisher": {"@id": "https://schelkovo.dekart.school/#organization"},
"inLanguage": "ru-RU"
},
{
"@type": ["School", "LocalBusiness"],
"@id": "https://schelkovo.dekart.school/#organization",
"name": "Частная начальная школа «Декарт» в Щёлково",
"description": "Лицензированная начальная школа в Щёлково. Малые классы, углубленная программа, продленка и всестороннее развитие ребенка.",
"url": "https://schelkovo.dekart.school/nachalnaya-shkola/",
"logo": "https://schelkovo.dekart.school/wp-content/uploads/2025/04/2-1-1.jpg",
"image": "https://schelkovo.dekart.school/wp-content/uploads/2023/05/logo-dekart.png",
"telephone": "+79303334151",
"address": {
"@type": "PostalAddress",
"streetAddress": "ул. Комсомольская, д. 11",
"addressLocality": "Щёлково",
"addressRegion": "Московская область",
"postalCode": "141109",
"addressCountry": "RU"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": "55.922123",
"longitude": "37.994567"
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "08:00",
"closes": "19:00"
}
],
"priceRange": "от 25000 RUB",
"knowsAbout": ["Начальное общее образование", "Начальная школа", "Начальные классы", "Подготовка к школе", "Ментальная арифметика", "Английский язык для детей"],
"isAccessibleForFree": "false"
}
]
}
</script>
<?php
get_footer();

View File

@ -1,314 +0,0 @@
<?php
/*
Template Name: шаблон страницы начальной школы
*/
?>
<?php
get_header();
$post_id = get_the_ID();
$page_breadcrumbs = carbon_get_post_meta($post_id, 'page_breadcrumbs');
?>
<main class="page-school">
<?php get_template_part('template-parts/block-banner'); ?>
<?php get_template_part('template-parts/block-banner-info'); ?>
<section class="advantages__block">
<div class="container">
<div class="advantages__block-wrapper">
<h2 class="page_h2">Наши преимущества</h2>
<div class="advantages__block-content">
<div class="advantages__block-row">
<div class="advantages__block-item" style="border: 2px solid #A05A95;">
<div class="advantages__block-item_title">Мини-классы до 10 учеников</div>
<p>Учитель не просто видит ученика он слышит его сомнения, чувствует его ритм, выверяет каждый шаг. В мини-группах до 10 человек мы создаем тепличные условия, где даже самые робкие таланты расцветают яркими красками. Никакой «массовки»: только индивидуальные траектории роста, где ошибки становятся ступеньками, а маленькие победы стартом для новых свершений. Мы не учим «всех одинаково» мы помогаем каждому ученику уверенно расправить крылья, чтобы его потенциал засиял во всей полноте!</p>
<div class="advantages__block-item-img">
</div>
</div>
<div class="advantages__block-item" style="border: 2px solid #F682A5;">
<div class="advantages__block-item_title">Обучение по программе<br>«Перспектива»</div>
<p>Учебный процесс построен на активных методах: дети не просто получают знания, а открывают их самостоятельно.</p>
<div class="advantages__block-item-img">
<a href="/otkryvaya-gorizonty-umk-perspektiva-v-nachalnoj-shkole-dekart-formula-uspeshnogo-starta/">Узнать подробнее ></a>
</div>
</div>
<div class="advantages__block-item" style="border: 2px solid #FEDF6F;">
<div class="advantages__block-item_title">Английский язык<br>с 1 класса</div>
<p>Английский язык Cambridge English. Подготовка по международной методике, дающей базу для сдачи международных экзаменов.</p>
<div class="advantages__block-item-img">
<a href="/anglijskij-s-pervogo-klassa/">Узнать подробнее ></a>
</div>
</div>
</div>
<div class="advantages__block-row">
<div class="advantages__block-item" style="border: 2px solid #F9A474;">
<div class="advantages__block-item_title">Официальное прикрепление<br>к московской школе</div>
<p>Мы берем на себя все формальности, связанные с официальным зачислением вашего ребенка. Для получения аттестата государственного образца по окончании школы, каждый ученик прикрепляется к одной из наших партнерских московских школ, имеющей государственную аккредитацию. Этот процесс полностью курируется нашей администрацией.</p>
<div class="advantages__block-item-img">
<a href="#">Узнать подробнее ></a>
</div>
</div>
<div class="advantages__block-item" style="border: 2px solid #C9DA8F;">
<div class="advantages__block-item_title">Система обучения<br>Л. В. Занкова</div>
<p>Здесь нет скучной зубрежки только живые задачи, где каждая ошибка становится ступенькой к открытию. Дети учатся спорить, искать истину и видеть необычное в обычном. Результат? Ученики с огнем в глазах, которые думают смело и творят без границ!</p>
<div class="advantages__block-item-img">
<a href="/sistema-zankova-v-nachalnoj-shkole/">Узнать подробнее ></a>
</div>
</div>
<div class="advantages__block-item" style="border: 2px solid #B8CEDC;">
<div class="advantages__block-item_title">Индивидуальный подход<br>к каждому ученику</div>
<p>Индивидуальные планы и регулярная диагностика помогают каждому ребенку учиться в своём темпе. Гарантия опережения государственной программы начальной школы на 6 месяцев.</p>
<div class="advantages__block-item-img">
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<?php get_template_part('template-parts/promo-form'); ?>
<section class="info__block">
<div class="container">
<div class="info__block-wrapper">
<h2 class="page_h2">Персональный план развития для каждого ученика</h2>
<div class="info__block-content">
<div class="info__block-content_text">
<?php echo carbon_get_post_meta($post_id, 'block_text_1'); ?>
</div>
<div class="info__block-content_img">
<img loading="lazy" width="215.51" height="132" src="<?php echo get_template_directory_uri(); ?>/assets/images/image-19.webp" alt="">
</div>
</div>
</div>
</div>
</section>
<section class="info__block">
<div class="container">
<div class="info__block-wrapper">
<h2 class="page_h2">Решаем главные проблемы родителей и учеников в начальной школы</h2>
<div class="info__block-content">
<div class="info__block-items-wrapper">
<div class="info__block-item">
<div class="info__block-item_number">1</div>
<div class="info__block-item-content">
<div class="info__block-item-text_title">Официальное прикрепление к московской школе</div>
<div class="info__block-item-text_text">Все наши ученики официально прикрепляются к Государственному бюджетному образовательному учреждению города Москвы «Школа Дмитровский» имени Героя Советского Союза В.П. Кислякова.</div>
</div>
</div>
<div class="info__block-item">
<div class="info__block-item_number">2</div>
<div class="info__block-item-content">
<div class="info__block-item-text_title">Готовность к школе и адаптация</div>
<div class="info__block-item-text_text">В школе внедрена программа «Мягкий старт» и постоянное сопровождение нейропсихологом. Мы обеспечиваем мягкую адаптацию и поддержку на протяжении всей начальной школы. Результат: 98% детей успешно адаптируются и сохраняют любовь к обучению до окончания школы.</div>
</div>
</div>
<div class="info__block-item">