/* ============================================================
   Кафе «Счастье», Пинск — надстройка над шаблоном Tasty Recipes.
   Правим только то, что нужно под русский контент и новые блоки.
   Базовый style.css не трогаем, чтобы легко обновлять.
   ============================================================ */

:root {
    --sch-yellow: #ffd52e;
    --sch-navy: #012437;
    --sch-text: #3d3d3d;
    --sch-muted: #7e7e7e;
    --sch-line: #ececec;
    --sch-bg: #f8f6f1;
}

body {
    font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
    color: var(--sch-text);
}

/* ------------------------------------------------------------
   Сетка. bootstrap.min.css в шаблоне урезан — часть классов
   колонок вырезана. Возвращаем недостающие.
   ------------------------------------------------------------ */
.col-6,
.col-md-12,
.col-lg-5,
.col-xl-5 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}

@media (min-width: 768px) {
    .col-md-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (min-width: 992px) {
    .col-lg-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }
}

@media (min-width: 1200px) {
    .col-xl-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }
}

/* ------------------------------------------------------------
   Иконки. В шаблоне font-awesome.min.css обрезан до ~45 классов,
   хотя сам шрифт полный (704 глифа). Дообъявляем нужные вручную.
   ------------------------------------------------------------ */
.fa-clock-o:before { content: "\f017"; }
.fa-map-marker:before { content: "\f041"; }
.fa-gift:before { content: "\f06b"; }
.fa-phone:before { content: "\f095"; }
.fa-credit-card:before { content: "\f09d"; }
.fa-users:before { content: "\f0c0"; }
.fa-truck:before { content: "\f0d1"; }
.fa-coffee:before { content: "\f0f4"; }
.fa-cutlery:before { content: "\f0f5"; }
.fa-instagram:before { content: "\f16d"; }
.fa-sun-o:before { content: "\f185"; }
.fa-child:before { content: "\f1ae"; }
.fa-paw:before { content: "\f1b0"; }
.fa-wifi:before { content: "\f1eb"; }
.fa-map-o:before { content: "\f278"; }
.fa-shopping-bag:before { content: "\f290"; }
.fa-shopping-basket:before { content: "\f291"; }
.fa-search:before { content: "\f002"; }
.fa-info-circle:before { content: "\f05a"; }

/* ------------------------------------------------------------
   Magnific Popup. Штатный css тоже урезан: пропали цвета стрелок
   (остались прозрачные треугольники), прелоадер и зум-анимация.
   ------------------------------------------------------------ */
/* .mfp-content вырезан целиком — без него картинка не центрируется
   по вертикали и крестику не от чего отталкиваться */
.mfp-content {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
    width: 100%;
    cursor: auto;
}

.mfp-image-holder .mfp-content {
    max-width: 100%;
}

.mfp-preloader {
    color: #ccc;
    position: absolute;
    top: 50%;
    width: auto;
    text-align: center;
    margin-top: -.8em;
    left: 8px;
    right: 8px;
    z-index: 1044;
}

.mfp-preloader a {
    color: #ccc;
}

.mfp-s-ready .mfp-preloader,
.mfp-s-error .mfp-content {
    display: none;
}

.mfp-hide {
    display: none !important;
}

.mfp-arrow-left {
    left: 0;
}

.mfp-arrow-left:after {
    border-right: 17px solid #fff;
    margin-left: 31px;
}

.mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3f3f3f;
}

.mfp-arrow-right {
    right: 0;
}

.mfp-arrow-right:after {
    border-left: 17px solid #fff;
    margin-left: 39px;
}

.mfp-arrow-right:before {
    border-left: 27px solid #3f3f3f;
}

/* плавное открытие/закрытие */
.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
    opacity: 0;
    transition: all .25s ease-out;
}

.mfp-with-zoom.mfp-ready .mfp-container {
    opacity: 1;
}

.mfp-with-zoom.mfp-ready.mfp-bg {
    opacity: .97;
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
    opacity: 0;
}

/* ------------------------------------------------------------
   Шрифты. В шаблоне все заголовки идут рукописным Satisfy, но
   у него нет кириллицы. Берём Marck Script — ближайший аналог
   с русскими буквами. Крупные «витринные» заголовки — рукописные,
   как в шаблоне; названия блюд, цены и составы — Roboto,
   чтобы меню оставалось читаемым.
   ------------------------------------------------------------ */
.sch-script,
.sch-hero__inner h1,
.sch-title h2,
.sch-about__text h2,
.sch-cta h2,
.bradcam_area h1,
.bradcam_area h3,
.sch-menu-group__title,
.sch-footer__title,
.sch-rating-big strong {
    font-family: "Marck Script", "Segoe Script", cursive;
    font-weight: 400;
}

/* функциональные заголовки оставляем наборным шрифтом */
.sch-card__body h3,
.sch-menu-item__text h4,
.sch-feature h4,
.sch-contact-list h4,
.sch-review__author strong {
    font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
}

/* ---------- Шапка ---------- */
/* шапка лежит поверх первого экрана, а не отдельной полосой */
.header-area {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 99;
}

@media (max-width: 991px) {
    .header-area {
        position: relative;
        background: #0d0d0d;
        z-index: 999;
    }

    .header-area .main-header-area {
        padding: 12px 0;
        background: #0d0d0d;
    }
}

.header-area .main-header-area .logo img {
    width: auto;
    max-height: 58px;
}

@media (max-width: 991px) {
    .header-area .main-header-area .logo img {
        max-height: 44px;
    }
}

/* шапка лежит поверх тёмной картинки — пункты меню белые */
.header-area .main-header-area .main-menu ul li a {
    color: #fff;
    text-transform: none;
    font-size: 15px;
    letter-spacing: .2px;
}

.header-area .main-header-area .main-menu ul li a:hover {
    color: var(--sch-yellow);
}

/* прилипшая шапка: белый фон, тёмные пункты */
.header-area .main-header-area.sticky {
    background: #fff;
}

.header-area .main-header-area.sticky .main-menu ul li a {
    color: var(--sch-navy);
}

.header-area .main-header-area.sticky .main-menu ul li a:hover {
    color: #c9a227;
}

.header-area .main-header-area.sticky .sch-header-phone a {
    color: var(--sch-navy);
    border-color: #dcdcdc;
}

.header-area .main-header-area.sticky .sch-header-phone a:hover {
    background: var(--sch-yellow);
    border-color: var(--sch-yellow);
}

.header-area .main-header-area.sticky .logo img {
    max-height: 46px;
}

/* ---------- Мобильное меню ----------
   В шаблоне .mobile_menu абсолютно позиционирован без привязки к шапке,
   поэтому бургер и раскрытый список висели поверх первого экрана.
   Привязываем к шапке (position: relative у .header-area), кнопку ставим
   на линию логотипа, списку даём сплошной фон. */
.slicknav_menu {
    background: transparent;
    padding: 0;
}

@media (max-width: 991px) {
    /* колонку бургера делаем static, чтобы кнопку привязать к шапке,
       а список оставить в потоке — при открытии он раздвигает контент */
    .header-area .main-header-area .col-12 {
        position: static;
    }

    .mobile_menu {
        position: static;
        width: 100%;
        margin: 0;
    }

    /* бургер: по центру высоты шапки, у правого края, без подложки */
    .slicknav_btn {
        position: absolute;
        top: 0;
        right: 15px;
        height: 68px;
        display: flex;
        align-items: center;
        float: none;
        margin: 0;
        padding: 0;
        background: transparent;
        border-radius: 0;
        box-shadow: none;
    }

    .slicknav_menu .slicknav_icon-bar {
        background: #fff;
        box-shadow: none;
    }

    /* список в потоке — раздвигает страницу, тексты по центру */
    .slicknav_nav {
        clear: both;
        width: 100%;
        margin: 0;
        padding: 6px 0 10px;
        font-size: 16px;
        text-align: center;
    }

    .slicknav_nav a {
        margin: 0;
        padding: 12px 16px;
        border-radius: 0;
        color: #fff;
        text-align: center;
    }

    .slicknav_nav a:hover,
    .slicknav_nav .slicknav_row:hover {
        border-radius: 0;
        background: rgba(255, 255, 255, .08);
        color: var(--sch-yellow);
    }
}

.sch-header-phone {
    text-align: right;
}

.sch-header-phone a {
    display: inline-block;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 40px;
    padding: 9px 22px;
    font-size: 15px;
    font-weight: 500;
    white-space: nowrap;
    transition: .3s;
}

.sch-header-phone a:hover {
    background: var(--sch-yellow);
    border-color: var(--sch-yellow);
    color: var(--sch-navy);
}

/* ---------- Первый экран ---------- */
.sch-hero {
    min-height: 700px;
    background: linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .55)), url(../img/schastie/hero.jpg);
    background-size: cover;
    background-position: center center;
}

@media (max-width: 767px) {
    .sch-hero {
        min-height: 520px;
    }
}

.sch-hero__inner {
    padding: 180px 0 120px;
    text-align: center;
    color: #fff;
}

.sch-hero__kicker {
    display: inline-block;
    color: var(--sch-yellow);
    letter-spacing: 3px;
    text-transform: uppercase;
    font-size: 13px;
    margin-bottom: 18px;
}

.sch-hero__inner h1 {
    color: #fff;
    font-size: 78px;
    font-weight: 400;
    line-height: 1.2;
    margin-bottom: 22px;
}

@media (max-width: 767px) {
    .sch-hero__inner {
        padding: 130px 0 80px;
    }

    .sch-hero__inner h1 {
        font-size: 40px;
    }
}

.sch-hero__inner p {
    color: rgba(255, 255, 255, .85);
    font-size: 18px;
    max-width: 640px;
    margin: 0 auto 34px;
}

/* ---------- Кнопки ---------- */
.sch-btn {
    display: inline-block;
    background: var(--sch-yellow);
    color: var(--sch-navy);
    padding: 15px 36px;
    border-radius: 40px;
    font-weight: 700;
    font-size: 15px;
    border: 2px solid var(--sch-yellow);
    transition: .3s;
}

.sch-btn:hover {
    background: transparent;
    color: var(--sch-yellow);
}

.sch-btn--ghost {
    background: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, .6);
}

.sch-btn--ghost:hover {
    background: #fff;
    border-color: #fff;
    color: var(--sch-navy);
}

.sch-btn + .sch-btn {
    margin-left: 12px;
}

@media (max-width: 575px) {
    .sch-btn {
        display: block;
        margin: 0 auto 12px;
        max-width: 280px;
    }

    .sch-btn + .sch-btn {
        margin-left: auto;
    }
}

/* ---------- Секции ---------- */
.sch-section {
    padding: 100px 0;
}

.sch-section--tight {
    padding: 70px 0;
}

.sch-section--grey {
    background: var(--sch-bg);
}

@media (max-width: 767px) {
    .sch-section,
    .sch-section--tight {
        padding: 55px 0;
    }
}

.sch-title {
    text-align: center;
    margin-bottom: 55px;
}

.sch-title span {
    display: block;
    color: #c9a227;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-size: 12px;
    margin-bottom: 12px;
}

.sch-title h2 {
    font-size: 50px;
    font-weight: 400;
    color: var(--sch-navy);
    margin-bottom: 14px;
    line-height: 1.25;
}

.sch-title p {
    color: var(--sch-muted);
    max-width: 640px;
    margin: 0 auto;
}

@media (max-width: 767px) {
    .sch-title h2 {
        font-size: 34px;
    }

    .sch-title {
        margin-bottom: 35px;
    }
}

.sch-title--left {
    text-align: left;
}

.sch-title--left p {
    margin-left: 0;
}

/* ---------- Карточка блюда ---------- */
.sch-card {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 26px rgba(0, 0, 0, .07);
    margin-bottom: 30px;
    transition: .3s;
    height: calc(100% - 30px);
    display: flex;
    flex-direction: column;
}

.sch-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .12);
}

.sch-card__img {
    display: block;
    position: relative;
    padding-top: 75%;
    overflow: hidden;
}

.sch-card__img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sch-card__body {
    padding: 22px 24px 26px;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.sch-card__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.sch-card__body h3 {
    font-size: 19px;
    font-weight: 700;
    color: var(--sch-navy);
    margin: 0;
}

.sch-card__price {
    font-size: 20px;
    font-weight: 700;
    color: #c9a227;
    white-space: nowrap;
}

.sch-card__body p {
    font-size: 14px;
    line-height: 1.65;
    color: var(--sch-muted);
    margin: 0 0 12px;
    flex: 1 1 auto;
}

.sch-card__weight {
    font-size: 13px;
    color: #a5a5a5;
}

/* ---------- Меню: список с ценами ---------- */
.sch-menu-group {
    margin-bottom: 55px;
}

.sch-menu-group__title {
    display: inline-block;
    background: var(--sch-navy);
    color: #fff;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .5px;
    padding: 8px 32px 12px;
    border-radius: 4px;
    margin: 0 0 26px;
}

.sch-menu-group__note {
    color: var(--sch-muted);
    font-size: 15px;
    margin: -16px 0 24px;
}

.sch-menu-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid var(--sch-line);
}

.sch-menu-item:last-child {
    border-bottom: 0;
}

.sch-menu-item__text {
    flex: 1 1 auto;
    min-width: 0;
}

.sch-menu-item__text h4 {
    font-size: 17px;
    font-weight: 700;
    color: var(--sch-navy);
    margin: 0 0 5px;
}

.sch-menu-item__text p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--sch-muted);
    margin: 0;
}

.sch-menu-item__meta {
    text-align: right;
    white-space: nowrap;
    padding-top: 2px;
}

.sch-menu-item__price {
    display: block;
    font-size: 19px;
    font-weight: 700;
    color: #c9a227;
}

.sch-menu-item__weight {
    display: block;
    font-size: 12px;
    color: #a5a5a5;
    margin-top: 2px;
}

.sch-menu-simple {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sch-menu-simple li {
    padding: 9px 0;
    border-bottom: 1px dashed var(--sch-line);
    color: var(--sch-text);
    font-size: 15px;
}

.sch-menu-simple li:last-child {
    border-bottom: 0;
}

/* ---------- Галерея ---------- */
.sch-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

@media (max-width: 991px) {
    .sch-gallery {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 575px) {
    .sch-gallery {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}

.sch-gallery a {
    display: block;
    position: relative;
    padding-top: 100%;
    border-radius: 10px;
    overflow: hidden;
}

.sch-gallery img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.sch-gallery a:hover img {
    transform: scale(1.07);
}

/* ---------- Инфо-плитки ---------- */
.sch-feature {
    text-align: center;
    padding: 34px 20px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 6px 26px rgba(0, 0, 0, .06);
    height: 100%;
}

.sch-feature i {
    font-size: 34px;
    color: #c9a227;
    display: block;
    margin-bottom: 16px;
}

.sch-feature h4 {
    font-size: 18px;
    font-weight: 700;
    color: var(--sch-navy);
    margin-bottom: 8px;
}

.sch-feature p {
    font-size: 14px;
    color: var(--sch-muted);
    margin: 0;
}

.sch-feature-row > [class*="col-"] {
    margin-bottom: 30px;
}

/* ---------- Отзывы ---------- */
.sch-review {
    background: #fff;
    border-radius: 14px;
    padding: 30px;
    box-shadow: 0 6px 26px rgba(0, 0, 0, .06);
    height: 100%;
}

.sch-review__stars {
    color: var(--sch-yellow);
    margin-bottom: 14px;
    font-size: 15px;
}

.sch-review p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--sch-text);
    margin-bottom: 16px;
}

.sch-review__author {
    font-size: 14px;
    color: var(--sch-muted);
}

.sch-review__author strong {
    color: var(--sch-navy);
    display: block;
    font-size: 15px;
}

.sch-rating-big {
    text-align: center;
    margin-bottom: 45px;
}

.sch-rating-big strong {
    font-size: 68px;
    line-height: 1;
    color: var(--sch-navy);
    display: block;
}

.sch-rating-big span {
    color: var(--sch-muted);
    font-size: 15px;
}

/* ---------- О кафе ---------- */
.sch-about__img img {
    width: 100%;
    border-radius: 16px;
}

@media (min-width: 992px) {
    .sch-about__text {
        padding-left: 30px;
    }
}

.sch-about__text h2 {
    font-size: 48px;
    font-weight: 400;
    color: var(--sch-navy);
    margin-bottom: 20px;
    line-height: 1.25;
}

.sch-about__text p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--sch-muted);
    margin-bottom: 16px;
}

@media (max-width: 991px) {
    .sch-about__img {
        margin-bottom: 35px;
    }

    .sch-about__text h2 {
        font-size: 34px;
    }
}

/* ---------- Полоса-призыв ---------- */
.sch-cta {
    background: var(--sch-navy);
    color: #fff;
    padding: 60px 0;
    text-align: center;
}

.sch-cta h2 {
    color: #fff;
    font-size: 44px;
    font-weight: 400;
    margin-bottom: 12px;
}

.sch-cta p {
    color: rgba(255, 255, 255, .75);
    margin-bottom: 26px;
    font-size: 17px;
}

@media (max-width: 767px) {
    .sch-cta h2 {
        font-size: 32px;
    }
}

/* ---------- Контакты ---------- */
.sch-contact-list {
    list-style: none;
    margin: 0 0 30px;
    padding: 0;
}

.sch-contact-list li {
    display: flex;
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px solid var(--sch-line);
}

.sch-contact-list li:last-child {
    border-bottom: 0;
}

.sch-contact-list i {
    font-size: 20px;
    color: #c9a227;
    line-height: 1.5;
}

.sch-contact-list h4 {
    font-size: 16px;
    font-weight: 700;
    color: var(--sch-navy);
    margin: 0 0 4px;
}

.sch-contact-list p,
.sch-contact-list a {
    margin: 0;
    font-size: 15px;
    color: var(--sch-muted);
    line-height: 1.7;
}

.sch-contact-list a:hover {
    color: #c9a227;
}

.sch-map {
    border-radius: 16px;
    overflow: hidden;
    line-height: 0;
    box-shadow: 0 6px 26px rgba(0, 0, 0, .07);
}

.sch-map iframe {
    width: 100%;
    height: 440px;
    border: 0;
}

@media (max-width: 767px) {
    .sch-map iframe {
        height: 320px;
    }
}

.sch-hours {
    width: 100%;
    border-collapse: collapse;
}

.sch-hours td {
    padding: 11px 0;
    border-bottom: 1px solid var(--sch-line);
    font-size: 15px;
}

.sch-hours td:last-child {
    text-align: right;
    font-weight: 700;
    color: var(--sch-navy);
}

.sch-hours tr:last-child td {
    border-bottom: 0;
}

/* ---------- Плашка-уведомление ---------- */
.sch-notice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #fff8dd;
    border: 1px solid #f0dc93;
    border-left: 4px solid var(--sch-yellow);
    border-radius: 10px;
    padding: 18px 22px;
    margin-bottom: 26px;
}

.sch-notice i {
    color: #c9a227;
    font-size: 20px;
    line-height: 1.55;
}

.sch-notice p {
    margin: 0;
    font-size: 15.5px;
    line-height: 1.6;
    color: #5a4a12;
}

.sch-notice a {
    color: #5a4a12;
    text-decoration: underline;
    white-space: nowrap;
}

.sch-notice a:hover {
    color: #c9a227;
}

@media (max-width: 575px) {
    .sch-notice {
        padding: 16px 18px;
        gap: 11px;
    }

    .sch-notice p {
        font-size: 14.5px;
    }
}

/* ---------- Форма ---------- */
.sch-form {
    background: #fff;
    border-radius: 16px;
    padding: 36px;
    box-shadow: 0 6px 26px rgba(0, 0, 0, .07);
}

.sch-form .form-group {
    margin-bottom: 18px;
}

.sch-form input,
.sch-form textarea {
    width: 100%;
    border: 1px solid var(--sch-line);
    border-radius: 8px;
    padding: 13px 16px;
    font-size: 15px;
    background: #fbfbfb;
}

.sch-form input:focus,
.sch-form textarea:focus {
    outline: 0;
    border-color: var(--sch-yellow);
    background: #fff;
}

.sch-form textarea {
    min-height: 130px;
    resize: vertical;
}

/* форма отключена до подключения бэкенда */
.sch-form--disabled input,
.sch-form--disabled textarea {
    background: #f4f4f4;
    color: #a5a5a5;
    cursor: not-allowed;
}

.sch-form--disabled .sch-btn[disabled] {
    background: #e4e4e4;
    border-color: #e4e4e4;
    color: #9d9d9d;
    cursor: not-allowed;
}

.sch-form--disabled .sch-btn[disabled]:hover {
    background: #e4e4e4;
    border-color: #e4e4e4;
    color: #9d9d9d;
}

.sch-form__status {
    font-size: 15px;
    line-height: 1.6;
    margin: 16px 0 0;
}

.sch-form__note {
    font-size: 13px;
    color: #a5a5a5;
    margin-top: 14px;
    line-height: 1.6;
}

@media (max-width: 575px) {
    .sch-form {
        padding: 24px 20px;
    }
}

/* ---------- Развороты печатного меню ---------- */
/* три разворота во всю ширину экрана, без container */
.sch-spreads {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    padding: 0 24px;
}

@media (max-width: 767px) {
    .sch-spreads {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 0 15px;
    }
}

.sch-spreads a {
    display: block;
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .1);
    line-height: 0;
    transition: box-shadow .3s, transform .3s;
}

.sch-spreads a:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, .18);
}

.sch-spreads img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform .5s ease;
}

.sch-spreads a:hover img {
    transform: scale(1.03);
}

.sch-spreads__zoom {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(.9);
    background: rgba(255, 213, 46, .95);
    color: var(--sch-navy);
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    padding: 14px 26px;
    border-radius: 40px;
    opacity: 0;
    transition: .3s;
    pointer-events: none;
    white-space: nowrap;
}

.sch-spreads a:hover .sch-spreads__zoom {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.sch-spreads__zoom i {
    margin-right: 7px;
}

/* попап разворотов и галереи — во весь экран */
.mfp-schastie.mfp-bg {
    background: #0b0b0c;
    opacity: .97;
}

.mfp-schastie .mfp-content {
    max-width: 100%;
}

.mfp-schastie .mfp-figure figcaption {
    text-align: center;
}

.mfp-schastie img.mfp-img {
    max-height: 100vh !important;
    padding: 0;
    width: auto;
}

.mfp-schastie .mfp-figure:after {
    display: none;
}

.mfp-schastie .mfp-bottom-bar {
    margin-top: -34px;
    text-align: center;
}

.mfp-schastie .mfp-title {
    color: #fff;
    font-size: 15px;
    text-shadow: 0 1px 6px rgba(0, 0, 0, .9);
    padding: 0 12px;
}

.mfp-schastie .mfp-counter {
    position: fixed;
    color: #cfcfcf;
    font-size: 13px;
    right: 90px;
    top: 32px;
    line-height: 1;
}

/* крестик — всегда на виду, поверх картинки */
.mfp-schastie .mfp-close,
.mfp-schastie.mfp-image-holder .mfp-close {
    position: fixed;
    top: 16px;
    right: 20px;
    width: 46px;
    height: 46px;
    line-height: 44px;
    padding: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .14);
    color: #fff;
    font-size: 30px;
    text-align: center;
    opacity: 1;
    z-index: 1047;
    transition: .25s;
}

.mfp-schastie .mfp-close:hover,
.mfp-schastie.mfp-image-holder .mfp-close:hover {
    background: var(--sch-yellow);
    color: var(--sch-navy);
}

.mfp-schastie .mfp-arrow {
    opacity: .85;
}

.mfp-schastie .mfp-arrow:hover {
    opacity: 1;
}

@media (max-width: 767px) {
    .mfp-schastie .mfp-close,
    .mfp-schastie.mfp-image-holder .mfp-close {
        top: 10px;
        right: 10px;
        width: 40px;
        height: 40px;
        line-height: 38px;
        font-size: 26px;
    }

    .mfp-schastie .mfp-counter {
        right: 62px;
        top: 22px;
    }
}

/* ---------- Хлебные крошки / шапка страницы ---------- */
.bradcam_area.sch-bradcam {
    background: linear-gradient(rgba(0, 0, 0, .58), rgba(0, 0, 0, .58)), url(../img/schastie/bradcam.jpg);
    background-size: cover;
    background-position: center center;
}

.bradcam_area.sch-bradcam h3 {
    text-transform: none;
}

.sch-bradcam .sch-bradcam-lead {
    color: rgba(255, 255, 255, .82);
    margin-top: 12px;
    font-size: 16px;
    text-transform: none;
}

.bradcam_area.sch-bradcam h1,
.bradcam_area.sch-bradcam h3 {
    font-size: 66px;
    font-weight: 400;
    color: #fff;
    text-transform: none;
    margin: 0;
    line-height: 1.2;
}

@media (max-width: 767px) {
    .bradcam_area.sch-bradcam h1,
    .bradcam_area.sch-bradcam h3 {
        font-size: 38px;
    }
}

/* ---------- Быстрая навигация по меню ---------- */
.sch-menu-nav {
    background: #fff;
    border-bottom: 1px solid var(--sch-line);
    position: sticky;
    top: 66px;
    z-index: 20;
}

@media (max-width: 991px) {
    .sch-menu-nav {
        top: 0;
    }
}

.sch-menu-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.sch-menu-nav li {
    flex: 0 0 auto;
}

.sch-menu-nav a {
    display: block;
    padding: 18px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--sch-muted);
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    transition: .2s;
}

.sch-menu-nav a:hover {
    color: var(--sch-navy);
    border-bottom-color: var(--sch-yellow);
}

@media (max-width: 767px) {
    .sch-menu-nav a {
        padding: 14px 12px;
        font-size: 13px;
    }
}

/* ---------- Подвал ---------- */
.sch-footer {
    background: #111214;
    color: #9a9a9a;
    padding: 70px 0 0;
}

.sch-footer__col {
    margin-bottom: 40px;
}

.sch-footer__logo {
    max-height: 62px;
    width: auto;
    margin-bottom: 20px;
}

.sch-footer__about {
    font-size: 14px;
    line-height: 1.75;
    color: #8e8e8e;
    max-width: 330px;
    margin: 0 0 22px;
}

.sch-footer__title {
    font-size: 26px;
    font-weight: 400;
    color: #fff;
    text-transform: none;
    margin: 0 0 20px;
    letter-spacing: .3px;
    line-height: 1.2;
}

/* колонка «Разделы» */
.sch-footer__nav {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sch-footer__nav li + li {
    margin-top: 11px;
}

.sch-footer__nav a {
    color: #9a9a9a;
    font-size: 14.5px;
    line-height: 1.4;
    transition: color .2s;
}

.sch-footer__nav a:hover {
    color: var(--sch-yellow);
}

/* колонка «Контакты» */
.sch-footer__contacts {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sch-footer__contacts li {
    display: flex;
    gap: 13px;
    font-size: 14.5px;
    line-height: 1.6;
    color: #9a9a9a;
}

.sch-footer__contacts li + li {
    margin-top: 15px;
}

.sch-footer__contacts i {
    color: var(--sch-yellow);
    font-size: 15px;
    width: 16px;
    flex: 0 0 16px;
    text-align: center;
    line-height: 1.6;
}

.sch-footer__contacts a {
    color: #9a9a9a;
    transition: color .2s;
}

.sch-footer__contacts a:hover {
    color: var(--sch-yellow);
}

/* соцсети */
.sch-footer__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #1e1f22;
    color: #b5b5b5;
    font-size: 16px;
    margin-right: 8px;
    transition: .25s;
}

.sch-footer__social a:hover {
    background: var(--sch-yellow);
    color: var(--sch-navy);
}

/* кнопка в колонке «Доставка» */
.sch-footer__cta {
    display: inline-block;
    border: 1px solid var(--sch-yellow);
    color: var(--sch-yellow);
    border-radius: 40px;
    padding: 10px 24px;
    font-size: 14px;
    font-weight: 500;
    transition: .25s;
}

.sch-footer__cta:hover {
    background: var(--sch-yellow);
    color: var(--sch-navy);
}

/* нижняя строка */
.sch-footer__bottom {
    border-top: 1px solid #232427;
    margin-top: 10px;
    padding: 24px 0 30px;
}

.sch-footer__bottom p {
    margin: 0;
    font-size: 13px;
    line-height: 1.7;
    color: #6f6f6f;
}

.sch-footer__bottom p + p {
    margin-top: 4px;
}

@media (max-width: 767px) {
    .sch-footer {
        padding-top: 50px;
    }

    .sch-footer__col {
        margin-bottom: 32px;
    }

    .sch-footer__about {
        max-width: none;
    }
}

/* ---------- Утилиты ---------- */
.sch-mb-30 {
    margin-bottom: 30px;
}

.sch-mt-20 {
    margin-top: 20px;
}

/* мелкая типографика */
.sch-lead {
    font-size: 17px;
    line-height: 1.8;
    color: var(--sch-muted);
}

.sch-nowrap {
    white-space: nowrap;
}
