.br-1 {
  border-radius: 1.5rem;
}

.br-1-bottom {
  border-bottom-left-radius: 1.5rem;
  border-bottom-right-radius: 1.5rem;
}

@font-face {
                font-family: "lobster";
                src: url('lobster-regular.woff') format('woff'),
        url('lobster-regular.woff2') format('woff2'),
        url('lobster-regular.svg#Lobster-Regular') format('svg'),
        url('lobster-regular.eot'),
        url('lobster-regular.eot?#iefix') format('embedded-opentype'),
        url('lobster-regular.ttf') format('truetype');

                font-weight: normal;
                font-style: normal;
                font-display: swap;
            }
            .examplefontl {
                font-family: "Lobster-Regular";
                color: black;
            }

.lobster {
  font-family: "lobster";
}

        :root {
            --bs-primary: #2b4d66;
            --bs-secondary: #20c997;
            --custom-gradient: linear-gradient(180deg, #000099 0%, #1b877e 100%);
            --bs-body-font-family: 'Inter', sans-serif;
            --bs-heading-font-family: 'Montserrat', sans-serif;
        }
        body { overflow-x: hidden; background-color: #fff; color: #333; }
        h1, h2, h3, h4, .navbar-brand { font-family: var(--bs-heading-font-family); font-weight: 700; }
        .rounded-4 { border-radius: 1.25rem !important; }
        .soft-shadow { box-shadow: 0 12px 40px rgba(0,0,0,0.08); }
        .bg-soft-blue { background-color: #f4f7f9; }
        .bg-custom-gradient { background: var(--custom-gradient); color: #fff !important; }
        .bg-custom-gradient i, .bg-custom-gradient h5, .bg-custom-gradient p { color: #fff !important; }
        .top-bar { font-size: 0.85rem; background: #fff; border-bottom: 1px solid #eee; }
        @media (max-width: 991px) {
            .top-bar .contact-text { display: none; }
            .top-bar .row { justify-content: space-between; }
        }
        .hero {
            position: relative;
            background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), 
                        url('/media/index.webp') center right/cover no-repeat;
            min-height: 60vh;
            display: flex; align-items: center; color: #fff;
            clip-path: ellipse(120% 100% at 50% 0%);
        }

        .hero2 {
            position: relative;
            background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), 
                        url('/media/index.webp') center right/cover no-repeat;
            display: flex; align-items: center; color: #fff;
            clip-path: ellipse(120% 100% at 50% 100%);
            filter: sepia(0.8);
        }

        @media (max-width: 768px) {
            .hero h1 { font-size: 2.4rem !important; line-height: 1.3; }
            .hero .lead { font-size: 1rem; }
        }
        .service-link { text-decoration: none; display: block; }
        .service-card { position: relative; height: 240px; overflow: hidden; border: none; transition: transform 0.3s ease; }
        .service-card:hover { transform: translateY(-5px); }
        .service-card .card-img { height: 100%; object-fit: cover; width: 100%; }
        .service-overlay {
            position: absolute; bottom: 0; left: 0; right: 0; top: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.2) 60%, transparent 100%);
            display: flex; flex-direction: column; justify-content: flex-end;
            padding: 1.2rem; color: white;
        }
        @media (max-width: 576px) {
            .service-card { height: 160px; }
            .service-title { font-size: 0.75rem !important; }
        }
        .portfolio-img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; transition: filter 0.3s ease; }
        .glightbox-container .gslide-image img {
            max-height: 92vh !important; max-width: 95vw !important;
            object-fit: contain !important; height: auto !important; width: auto !important; margin: auto;
        }
        .goverlay { background: rgba(0, 0, 0, 0.9) !important; }
        section { padding: 80px 0; }
        .section-title::after {
            content: ""; display: block; width: 50px; height: 3px;
            background: var(--bs-secondary); margin: 15px auto 0;
        }

.menu-item {
    border-radius: 16px; /* Крупные закругления */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); /* Мягкая тень */
    border: 1px solid rgba(0,0,0,0.02);
}

.menu-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.menu-price span {
    font-size: 1rem;
    font-weight: 600;
    color: #2d3436;
}

.bg-text-price {
    background: #cc314d !important;
    color: #fff !important;
}

/* Адаптивность для мобильных устройств */
@media (max-width: 576px) {
    .menu-item {
        flex-direction: column;
        align-items: flex-start !important;
    }
    .menu-price {
        margin-left: 0 !important;
        margin-top: 10px;
        text-align: left !important;
    }
}

/* Контейнер карточки отзыва */
.review-card {
    max-width: 600px;
    background: #fffdf9; /* Светлый кремовый оттенок как на фото */
    border-radius: 25px;
    min-height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 60px; /* Отступ для индикаторов-точек */
}

.review-text {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #4a3a2a;
}

/* Настройка индикаторов-точек */
.review-slider .carousel-indicators [button] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #d3d3d3;
}

.review-slider .carousel-indicators .active {
    background-color: #e67e22; /* Цвет активной точки */
}

/* Кастомные шевроны */
.carousel-control-prev-icon-custom, 
.carousel-control-next-icon-custom {
    color: #e67e22; /* Цвет стрелочек */
    font-weight: bold;
}

/* Убираем стандартный фильтр Bootstrap, если нужно ярче */
.carousel-control-prev, .carousel-control-next {
    opacity: 1;
    width: 5%;
}

@media (max-width: 576px) {
    .review-card {
        margin-left: 10px;
        margin-right: 10px;
    }
}

.author-link {
color: #140e0a;
    background: #ffffff;
    font-weight: bold;
    padding: 10px;
    border-radius: 100px;
}


/* Базовый стиль для мобильных устройств */
.product-badge-img {
    //width: 25vw;          /* 25% от ширины экрана (viewport width) */
    max-width: 100%;     /* Чтобы не вылезала за границы контейнера */
    aspect-ratio: 1 / 1; /* Делаем картинку строго квадратной */
    object-fit: cover;   /* Сохраняем пропорции контента внутри квадрата */
    display: block;

        width: 100%;
        min-width: auto;
}

.menu-img-wrapper {
    //width: 25%;         /* Резервируем место в flex-контейнере */
    //min-width: 60px;    /* Чтобы на совсем маленьких экранах она не исчезла */
    width: 100%;         /* Резервируем место в flex-контейнере */
    min-width: auto;    /* Чтобы на совсем маленьких экранах она не исчезла */
}

.menu-info {
    //width: 75%;
    width: auto;
}

.img-price {
 max-width: 100%;
 width:100%;
}

/* Стиль для десктопа (от 768px и выше) */
@media (min-width: 577px) {

.img-price {
 max-width: 100%; 
 width: auto;
 margin-left:auto;
 margin-right:auto;
}

    .product-badge-img {
        width: 100px;
        height: 100px;
    }
    
    .menu-img-wrapper {
        width: 100px;    /* Фиксируем ширину контейнера на десктопе */
    }

    .menu-info {
        width: auto;
     }

}