/* --- Пользовательские переменные --- */
:root {
	--bg-main: #2c4539;
	--bg-menu: #be3346;
	--bg-white: #ffffff;
	--bg-gray: #858584;
	--text-white: #ffffff;
	--text-menu: #e9d1c9;
	--text-orange: #ff7300;
	--text-orange-uslugi: #ff9500;
	--text-gray: #858584;
	--text-gray-blue: #c0c2d4;
	--divided: #e97e5b;
	--btn-green: #588a72;
	--price-text: #ffbc00;
	--kartina-info-bg: #00393b;
	--bs-border-radius: 0.575rem;
}

/* --- Подключение пользовательского шрифта --- */
@font-face {
	font-family: 'Multiround Pro';
	/* Сначала указываем OTF, затем TTF как запасной вариант */
	src: url('../fonts/MultiroundPro.otf') format('opentype'),
		url('../fonts/MultiroundPro.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
	/* Улучшает загрузку страницы */
}

/* --- Базовые стили --- */
body {
	background-color: var(--bg-main);
	color: var(--text-white);
	/* Подключи свой шрифт через @font-face, пока задаем имя */
	font-family: 'Multiround Pro', Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	text-transform: uppercase;
}

/* --- Вспомогательные классы цветов --- */
.text-orange {
	color: var(--text-orange) !important;
}

.text-gray {
	color: var(--text-gray) !important;
}

.text-gray-blue {
	color: var(--text-gray-blue) !important;
}

/* --- Шапка (Header) --- */
.header-top {
	padding: 15px 0;
}

.header-logo {
	background-color: var(--text-orange);
	color: var(--text-white);
	width: 74px;
	height: 74px;
	padding: 8px;
	font-size: 0.7rem;
	font-weight: 800;
	line-height: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.header-logo .logo-img {
	width: 100%;
}

.logo-text {
	font-size: 1.6rem;
	line-height: 1.2;
	text-transform: uppercase;
	font-weight: bold;
}

.logo-text-gray {
	font-size: 0.67rem;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.text-mobile {
	font-size: 0.85rem;
}

.contact-info a {
	color: var(--text-white);
	text-decoration: none;
	margin-right: 8px;
	font-size: 0.95rem;
}

.contact-info a:hover {}

.social-icon {
	max-width: 30px;
}

.favorite {
	max-width: 30px;
	cursor: pointer;
}

.btn-custom {
	background-color: var(--btn-green);
	color: var(--text-white);
	border: none;
	border-radius: var(--bs-border-radius);
	padding: 5px 15px;
	font-size: 0.9rem;
	text-transform: uppercase;
}

.btn-custom:hover {
	background-color: #47725d;
	/* чуть темнее при наведении */
	color: #fff;
}

/* --- Меню --- */
.custom-navbar {
	max-width: 700px;
	float: right;
	padding: 0;
	background-color: var(--bg-menu);
}

.custom-navbar .container-fluid {
	padding: 0;
}

.custom-navbar .nav-link {
	color: var(--text-menu);
	text-transform: uppercase;
	font-size: 0.97rem;
	padding: 3px 11px !important;
}

.custom-navbar .nav-link:hover,
.custom-navbar .nav-link.active {
	color: var(--text-white);
}

/* Разделители меню на ПК (|) */
.nav-divided .nav-item {
	display: flex;
	align-items: center;
}

.nav-divided .nav-item::after {
	content: "|";
	color: var(--divided);
	/* Или #fff, если нужно ярче */
	margin: 0 5px;
	/* Отступы вокруг черточки */
	font-weight: normal;
	font-size: 0.9rem;
}

/* Убираем черточку после последнего пункта */
.nav-divided .nav-item:last-child::after {
	content: "";
	margin: 0;
}

/* --- Специфичные стили для мобильной шапки --- */
.mobile-header-logo {
	background-color: var(--text-orange);
	color: var(--text-white);
	width: 55px;
	height: 55px;
	margin-left: -12px;
	padding: 8px;
	font-size: 0.7rem;
	font-weight: 800;
	line-height: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.mobile-header-logo .logo-img {
	width: 100%;
}

.mobile-btn-call {
	background-color: var(--bg-menu);
	/* Красный цвет */
	color: var(--text-white);
	font-size: 0.75rem;
	font-weight: 400;
	border: none;
	border-radius: var(--bs-border-radius);
	padding: 5px 12px;
}

.mobile-header-text {
	font-size: 1.1rem;
	line-height: 1.14;
	text-transform: uppercase;
	font-weight: 400;
}

.menu-mobile {
	background-color: var(--bg-menu);
}

.menu-mobile .text-menu {
	color: var(--text-menu);
}

.menu-mobile .nav-link:hover {
	color: var(--text-white);
}

.mobile-menu-btn {
	background-color: var(--bg-menu);
	/* #be3346 */
	border-radius: 15px 0 0 15px;
	/* Скругление только слева */
	padding: 12px 15px;
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	margin-right: -12px;
	/* Прилипание к краю (компенсация паддинга) */
	border: none;
}

.mobile-menu-btn .mobile-menu-line {
	display: flex;
	flex-direction: column;
}

.mobile-menu-btn span {
	display: block;
	width: 30px;
	/* Ширина черточек */
	height: 3px;
	/* Толщина черточек */
	background-color: var(--bg-white);
	/* Цвет */
	margin: 3px 0;
	/* Отступы между черточками */
	border-radius: 2px;
	/* Скругление углов */
}

.mobile-menu-btn:hover span {
	background-color: var(--bg-gray);
	/* Цвет */
}

/* Стилизация иконок внутри мобильной кнопки */
.mobile-menu-btn .bi-list {
	color: var(--text-white);
	font-size: 2rem;
	/* Размер бургера */
	line-height: 1;
}

.mobile-icon-info {
	width: 18px;
	/* Задай нужный размер */
	height: auto;
	display: block;
}

/* --- Разделители секций --- */
.section-title {
	font-size: 2rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	padding-bottom: 10px;
}


/* --- О НАС (ISSYU) --- */
.about-section {
	padding: 4rem 0;
}

.about-title {
	font-size: 2rem;
	font-weight: 400;
	margin-bottom: 1.5rem;
	text-transform: uppercase;
}

.about-subtitle {
	font-size: 1rem;
	font-weight: 400;
	margin-bottom: 1rem;
	text-transform: uppercase;
}

.about-text {
	font-size: 0.85rem;
	line-height: 1.4;
	margin-bottom: 1.2rem;
	text-transform: uppercase;
	font-weight: 400;
}

.about-text-underline {
	text-decoration: underline;
}


.about-image {
	width: 100%;
	object-fit: cover;
	min-height: 250px;
	/* Минимальная высота, чтобы на мобильных картинки не сплющивались */
}

/* --- УСЛУГИ И ЦЕНЫ --- */
.services-section {
	padding: 3rem 0;
}

.section-title {
	font-size: 2.5rem;
	font-weight: bold;
	margin-bottom: 2.0rem;
	text-transform: uppercase;
}

/* Карточки услуг */
.service-card {
	display: grid;
	/* Первая колонка 45px (иконка), вторая занимает всё оставшееся место */
	grid-template-columns: 45px 1fr;
	grid-template-areas:
		"title title"
		"icon text"
		". meta";
	/* Точка означает пустую ячейку (смещение под текст) */
	column-gap: 5px;
	margin-bottom: 2.5rem;
}

.service-title {
	grid-area: title;
	font-size: 1.1rem;
	font-weight: 400;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.service-icon {
	grid-area: icon;
	width: 100%;
	align-self: flex-end;
	padding-bottom: 3px;
	margin-left: -13px;
}

.service-text {
	grid-area: text;
	font-size: 0.8rem;
	line-height: 1.4;
	margin-bottom: 0;
}

.service-meta {
	grid-area: meta;
	font-size: 0.85rem;
	color: var(--text-orange-uslugi);
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1.3;
	margin-top: 10px;
}

/* Прайс-лист */
.price-list {
	list-style: none;
	padding: 0;
	margin: 0;
	width: 100%;
}

.price-list li {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	padding: 1px 0;
	font-size: 1.1rem;
	font-weight: 400;
}

.price-list-card {
	display: grid;
	/* Первая колонка 42px (иконка), вторая занимает всё оставшееся место */
	grid-template-columns: 42px 1fr;
	grid-template-areas:
		"title title"
		"icon text"
		". meta";
	/* Точка означает пустую ячейку (смещение под текст) */
	column-gap: 0px;
	margin-bottom: 2.5rem;
}

.price-list-text {
	grid-area: text;
	font-size: 0.8rem;
	line-height: 1.4;
	margin-bottom: 0;
	/* Убираем стандартный отступ, чтобы выравнивание было точным */
}

.price-list-icon {
	grid-area: icon;
	width: 100%;
	align-self: flex-end;
	padding-bottom: 3px;
	margin-left: -20px;
}

/* Убираем бордер у последнего элемента списка */
.price-list li:last-child {
	border-bottom: none;
}

/* Блок "Заказ работы" */
.order-box {
	border: 1px solid var(--btn-green);
	border-radius: 5px;
	height: 100%;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.order-box-header {
	background-color: var(--text-orange);
	color: var(--text-white);
	padding: 10px 15px;
	font-weight: bold;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-transform: uppercase;
}

.order-box-body {
	padding: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	flex-grow: 1;
}

.image-overlay-text {
	position: absolute;
	bottom: 5px;
	right: 10px;
	font-weight: bold;
	font-size: 0.9rem;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
}

/* --- ДОСТАВКА --- */
.delivery-section {
	padding: 3rem 0;
}

.delivery-card {
	margin-bottom: 2.5rem;
}

.delivery-icon {
	height: 40px;
	/* Задаем высоту иконки (ширина подстроится автоматически) */
	width: auto;
	margin-bottom: 15px;
	/* Отступ от иконки до текста */
	display: block;
}

.delivery-text {
	font-size: 0.85rem;
	line-height: 1.5;
	text-transform: uppercase;
	margin-bottom: 0;
}

/* --- КОНТАКТЫ --- */
.contacts-section {
	padding: 4rem 0;
}

.contacts-title {
	font-size: 2.5rem;
	font-weight: 400;
	text-transform: uppercase;
	margin-bottom: 2rem;
}

.contact-link {
	color: var(--text-white);
	text-decoration: none;
	font-weight: 400;
	font-size: 1.1rem;
	transition: color 0.3s;
}

.contact-link:hover {
	color: var(--text-orange);
}

.contact-link img {
	max-width: 26px;
}

/* ================= СЕКЦИЯ ГАЛЕРЕИ (MASONRY) ================= */
.portfolio-section {
    padding: 1rem 0;
}

.portfolio-title {
    font-size: 2rem;
    font-weight: bold;
    text-transform: uppercase;
    text-align: right;
}

/* Сетка Masonry на чистом CSS */
.masonry-grid {
    column-count: 3; /* 4 колонки на больших экранах */
    column-gap: 20px;
}

@media (max-width: 1200px) { .masonry-grid { column-count: 3; } }
@media (max-width: 992px) { .masonry-grid { column-count: 2; } }
@media (max-width: 576px) { .masonry-grid { column-count: 2; } }

.masonry-item {
    display: block;
	vertical-align: top; /* ЛЕЧИМ СМЕЩЕНИЕ В SAFARI */
    width: 100%;
	margin-bottom: 20px;
    border-radius: 25px; /* Сильное скругление как в макете */
    overflow: hidden; /* Обрезаем всё, что выходит за края скругления */
    position: relative;

	-webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid; /* Запрещаем разрыв карточки между колонками */
}

/* Иконка сердечка (Избранное) */
.favorite-icon {
    position: absolute;
    top: 14px;
  left: 14px;
    cursor: pointer;
    z-index: 2;
	width: 40px;
	height: 40px;
	background: url(/img/favorite_off.png) no-repeat top center;
}
.voted .favorite-icon { background: url(/img/favorite_on.png) no-repeat top center; } /* Оранжевый, если выбрано */

@media (max-width: 576px) { 
	.portfolio-section {padding: 0.4rem 0;}
	.favorite-icon {
	position: absolute;
    top: 13px;
    left: 13px;
    cursor: pointer;
    z-index: 2;
	width: 26px;
	height: 26px;
	background: url(/img/favorite_off-mini.png) no-repeat top center;
	} 
	.voted .favorite-icon {
	background: url(/img/favorite_on-mini.png) no-repeat top center;
	width: 26px;
	height: 26px;
	}
}

/* Основная картинка товара */
.masonry-item img.main-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 30px;
}

/* Нижний инфо-блок */
.item-info-block {
    padding: 25px 20px 20px 20px;
    position: relative;
    color: #fff;
}

/* Блок с аватаркой (наезжает на фото) */
.author-badge {
    position: absolute;
    top: -35px; /* Сдвигаем вверх, чтобы наезжало на картинку */
    right: 15px;
    display: flex;
    align-items: center;
    z-index: 3;
}

.author-badge img {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    border: 4px solid #0b2920; /* Рамка цвета нижнего фона для эффекта выреза */
    object-fit: cover;
}

.author-badge .reviews {
    margin-left: 8px;
    line-height: 1;
    text-align: center;
}
.author-badge .reviews span {
    font-size: 0.6rem;
    text-transform: uppercase;
}

/* Тексты внутри инфо-блока */
.info-text-sm {
    font-size: 0.7rem;
    line-height: 1.3;
    text-transform: uppercase;
}

/* Нижний блок с информацией */
.card-info-box {
    padding: 20px 15px 20px 7px;
    color: white;
    position: relative;
    background: #033c3e;
    z-index: 9;
    border-radius: 30px;
    margin-top: 10px;
}

/* Тексты (Размер, Холст) */
.card-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    margin-bottom: 2px;
    font-weight: 500;
}

.card-value {
    font-size: 0.7rem;
    font-weight: 100;
    text-transform: uppercase;
    line-height: 1.2;
}

.card-price {
    color: #fbc02d; /* Желтый цвет с макета */
    font-size: 1.1rem;
    font-weight: bold;
    margin-top: 3px;
}

/* Блок с выступающей аватаркой */
.card-avatar-group {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: -60px; /* Выталкиваем вверх на фото */
    margin-bottom: 8px;
}

.card-avatar {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 50%;
    border: 6px solid #033c3e; /* Рамка в цвет фона скрывает часть фото */
    background-color: #033c3e;
}

.card-reviews {
    text-align: center;
    margin-top: 44px;
}

.card-reviews-num {
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 0.9;
    letter-spacing: -1px;
}

.card-reviews-text {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Блок автора (звездочка и текст) */
.card-author-info {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    text-align: right;
    line-height: 1.2;
}

.card-author-info-block {
	position:relative;
}

.card-author-info .star-icon{
	max-width: 20px;
	margin-top: -8px;
	margin-left: 0;
	position: absolute;
	text-align: left;
	left: 0;
}

/* ================= АДАПТАЦИЯ КАРТОЧЕК ДЛЯ МОБИЛЬНЫХ (До 991px) ================= */
@media (max-width: 991px) {
    /* 1. Настройка сетки: 2 колонки и маленькие отступы */
    .masonry-grid {
        column-count: 2;
		-webkit-column-count: 2;
		-moz-column-count: 2;
		column-count: 2;

		-webkit-column-gap: 10px;
		-moz-column-gap: 10px;
        column-gap: 10px;
    }
    .masonry-item {
		-webkit-column-break-inside: avoid;
		page-break-inside: avoid;
		break-inside: avoid;
        margin-bottom: 10px;
        border-radius: 15px;
    }
    
    /* Уменьшаем внутренние отступы у темно-зеленой плашки */
    .card-info-box {
        padding: 11px 8px 6px 8px;
		border-radius: 20px;
    }

    /* Уменьшаем все шрифты в инфо-блоке */
    .card-label {
        font-size: 0.40rem; /* Очень мелкий шрифт для подписей */
        margin-bottom: 1px;
    }
    .card-value {
        font-size: 0.50rem;
        line-height: 1.1;
        word-wrap: break-word; /* Чтобы длинные слова переносились */
    }
    .card-price {
        font-size: 0.6rem;
        margin-top: 1px;
    }

    /* Масштабируем аватарку и блок отзывов */
    .card-avatar-group {
        margin-top: -44px;
        margin-bottom: 4px;
    }
    .card-avatar {
       width: 50px;
    height: 50px;
    border-width: 4px;
    }
    .card-reviews {
        margin-left: 2px;
		margin-top: 30px;
    }
    .card-reviews-num {
        font-size: 1rem;
		font-weight: 500;
    }
    .card-reviews-text {
        font-size: 0.34rem;
        letter-spacing: 0;
    }

    /* Уменьшаем имя автора и звездочку */
    .card-author-info .bi-star-fill {
        font-size: 0.6rem !important;
        margin-right: 4px !important;
        margin-top: 0 !important;
    }
    .card-author-info .card-value {
        font-size: 0.5rem !important; 
    }
	
	.card-author-info .star-icon {
	  max-width: 12px;
	  margin-top: -6px;
	  left: 7px;
	}

    /* Убираем большой отступ gap-4 из Bootstrap, который ломает левую часть */
    .card-info-box .d-flex.gap-4 {
        gap: 8px !important;
    }
}


/* ================= АДАПТАЦИЯ КАРТОЧЕК ДЛЯ МОБИЛЬНЫХ (До 414px) ================= */
@media (max-width: 414px) {
    /* 1. Настройка сетки: 2 колонки и маленькие отступы */
    .masonry-grid {
         column-count: 2;
		-webkit-column-count: 2;
		-moz-column-count: 2;
		column-count: 2;

		-webkit-column-gap: 10px;
		-moz-column-gap: 10px;
        column-gap: 10px;
    }
    .masonry-item {
        margin-bottom: 10px;
        border-radius: 15px; /* Уменьшаем скругление углов для экономии места */
    }
    
    /* Уменьшаем внутренние отступы у темно-зеленой плашки */
    .card-info-box {
        padding: 11px 8px 6px 8px;
		border-radius: 20px;
    }

    /* Уменьшаем все шрифты в инфо-блоке */
    .card-label {
        font-size: 0.35rem; /* Очень мелкий шрифт для подписей */
        margin-bottom: 1px;
    }
    .card-value {
        font-size: 0.40rem;
        line-height: 1.1;
        word-wrap: break-word; /* Чтобы длинные слова переносились */
    }
    .card-price {
        font-size: 0.5rem;
        margin-top: 1px;
    }

    /* Масштабируем аватарку и блок отзывов */
    .card-avatar-group {
        margin-top: -44px;
        margin-bottom: 4px;
    }
    .card-avatar {
       width: 50px;
    height: 50px;
    border-width: 4px;
    }
    .card-reviews {
        margin-left: 2px;
		margin-top: 30px;
    }
    .card-reviews-num {
        font-size: 1rem;
		font-weight: 500;
    }
    .card-reviews-text {
        font-size: 0.34rem;
        letter-spacing: 0;
    }

    /* Уменьшаем имя автора и звездочку */
    .card-author-info .bi-star-fill {
        font-size: 0.6rem !important;
        margin-right: 4px !important;
        margin-top: 0 !important;
    }
    .card-author-info .card-value {
        font-size: 0.46rem !important; 
    }
	
	.card-author-info .star-icon {
	  max-width: 12px;
	  margin-top: -6px;
	  left: 7px;
	}

    /* Убираем большой отступ gap-4 из Bootstrap, который ломает левую часть */
    .card-info-box .d-flex.gap-4 {
        gap: 8px !important;
    }
	.card-info-box .d-flex.gap-2 {
	  gap: .2rem !important;
	}
}

/* --- СТРАНИЦА КАРТИНЫ --- */
.product-page {
	padding: 2rem 0;
}
.product-title {
	font-size: 1.3rem;
	margin-bottom: 2rem;
}
.product-title span {
    color:#ffbf00;
}

.kartina-info {
    background-color: var(--kartina-info-bg);
    color: white;
    border-radius: 50px;
    padding: 14px 30px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1); 
    margin-top: -44px;
    z-index: 9;
    position: relative;
    margin-left: 10px;
    margin-right: 10px;
}

.image_kartina {border-radius: 18px;}

.price-text {
    color: var(--price-text);
	font-size: 1.25rem;
}
/* Карусель фотографий */
#myCarousel {
	--f-arrow-pos: 10px;
	--f-arrow-hover-bg: rgba(255, 255, 255, 0.1);
	--f-arrow-color: #333;
	--f-arrow-width: 40px;
	--f-arrow-height: 40px;
	--f-arrow-svg-width: 20px;
	--f-arrow-svg-height: 20px;
	--f-arrow-svg-stroke-width: 2px;
	--f-arrow-border-radius: 50%;

	height: auto;
}

#myCarousel .f-carousel__slide {
	display: flex;
	align-items: center;
	justify-content: center;
}

#myCarousel img {
	max-width: 100%;
	max-height: 100%;
	height: auto;
	object-fit: contain;
	border-radius: 18px;
}

/* Настройка шрифтов для блоков */
.kartina-info-block {
    font-size: 1.1rem;
    line-height: 1.3;
    letter-spacing: 0.5px;
}

/* Выступающая аватарка */
.avatar-container {
    position: relative;
}

.author-avatar {
    width: 110px;
    height: 110px;
    object-fit: cover;
    border-radius: 50%;
    
    /* Толстая рамка цвета фона */
    border: 10px solid var(--kartina-info-bg);
    background-color: var(--kartina-info-bg);
    /* Отрицательный отступ поднимает картинку за пределы блока */
    margin-top: -65px; 
}

.reviews-count {
    font-size: 3rem;
    font-weight: 800;
    line-height: 0.8;
}

.reviews-text {
    font-size: 0.7rem;
    letter-spacing: 1px;
    line-height: 21px;
}

.star-icon {
    max-width:20px;
    margin-top: -24px;
    margin-left: -12px;
    position: absolute;
}

/* ================= АДАПТАЦИЯ ДЛЯ НОУТБУКОВ И ПЛАНШЕТОВ (до 1399px) ================= */
@media (max-width: 1399px) {
    .kartina-info {
        padding: 15px 20px !important; /* Уменьшаем внутренние отступы */
    }
    
    /* Немного уменьшаем шрифты характеристик */
    .kartina-info-block,
    .kartina-info .card-label,
    .kartina-info .card-value {
        font-size: 0.85rem !important;
    }
    
    /* Уменьшаем цену */
    .kartina-info .accent-text,
    .kartina-info .card-price {
        font-size: 0.78rem !important;
    }

    /* Уменьшаем текст "Работал автор: Вадим Пискарев" */
    .kartina-info .bottom-right-info,
    .kartina-info .card-author-info {
        font-size: 0.8rem !important;
        line-height: 1.2 !important;
    }

    /* Сжимаем отступы между колонками */
    .kartina-info .gap-4 {
        gap: 15px !important;
    }
}

/* ================= АДАПТАЦИЯ ДЛЯ МОБИЛЬНЫХ ТЕЛЕФОНОВ (до 768px) ================= */
@media (max-width: 768px) {
	   .promo-banner {
        flex-direction: column;
        border-radius: 25px;
        padding: 30px 20px 20px;
        text-align: center;
        gap: 20px;
		}
		.author-avatar {
			margin-top: -80px;
		}
		.right-section {
			align-items: center !important;
		}

		.product-title {
		font-size: 1.0rem;
		margin-bottom: 1rem;
	}
	.section-title {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
}
    .kartina-info {
		margin-top: -32px;
        padding: 8px 10px !important; 
        border-radius: 20px !important;
    }

    .kartina-info .info-block,
    .kartina-info .card-label,
    .kartina-info .card-value {
        font-size: 0.6rem !important;
        line-height: 1.2 !important;
    }
    .kartina-info .text-end {
        font-size: 0.7rem !important;
        line-height: 1.2 !important;
    }
    .kartina-info .kartina-name {
        font-size: 0.7rem !important;
        line-height: 1.2 !important;
    }
    
    /* Цена */
    .kartina-info .accent-text,
    .kartina-info .card-price {
        font-size: 0.8rem !important;
        margin-top: 2px !important;
    }

    /* Уменьшаем выступающую аватарку */
    .kartina-info .author-avatar,
    .kartina-info .card-avatar {
        width: 70px !important;
        height: 70px !important;
        border-width: 4px !important; /* Рамка тоньше */
    }

    /* Блок с отзывами (цифры) */
    .kartina-info .reviews-count,
    .kartina-info .card-reviews-num {
        font-size: 1.5rem !important;
    }
    .kartina-info .reviews-text,
    .kartina-info .card-reviews-text {
        font-size: 0.45rem !important;
    }

    /* Блок автора (звездочка и имя) */
    .kartina-info .bottom-right-info,
    .kartina-info .card-author-info {
        font-size: 0.55rem !important;
    }
    .kartina-info .bi-star-fill {
        font-size: 0.7rem !important;
        margin-right: 3px !important;
    }

    /* Убираем бутстраповские большие отступы и прижимаем элементы */
    .kartina-info .gap-4,
    .kartina-info .me-3 {
        gap: 8px !important;
        margin-right: 8px !important;
    }
    
    /* Если используешь d-flex контейнеры, заставляем их не переноситься */
    .kartina-info .d-flex {
        flex-wrap: nowrap !important;
    }
}

/* --- ОФОРМЛЕНИЕ ЗАКАЗА --- */
.form-control.rounded-pill {border-radius: 12px;}


/* Стилизация чекбоксов и радио-кнопок под макет */
.custom-radio-styled .form-check-input {
    background-color: transparent;
    border: 2px solid white;
    width: 1.2em;
    height: 1.2em;
    margin-top: 0.15em;
    cursor: pointer;
}

.custom-radio-styled .form-check-input:checked {
    background-color: white;
    border-color: white;
    position: relative;
}

/* Точка внутри выбранного радио/чекбокса */
.custom-radio-styled .form-check-input:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    background-color: #ff7300;
    border-radius: 50%;
}

.custom-radio-styled .form-check-label {
    cursor: pointer;
}


/* ================= ОФОРМЛЕНИЕ ЗАКАЗА ДЛЯ МОБИЛЬНЫХ (До 768px) ================= */
@media (max-width: 768px) {
    /* Обертка формы становится flex-контейнером */
    .mobile-flex-container {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    /* "Растворяем" две главные колонки ПК-версии, чтобы вытащить из них блоки */
    .mobile-contents {
        display: contents !important;
    }

    /* Задаем строгий порядок полей сверху вниз */
    .mob-order-1 { order: 1; } /* ФИО, Телефон */
    .mob-order-2 { order: 2; } /* Адрес, Email */
    .mob-order-3 { order: 3; } /* Размер/Цена */
    .mob-order-4 { order: 4; } /* Комментарий */
    .mob-order-5 { order: 5; } /* Прикрепить фото */
    .mob-order-6 { order: 6; } /* Чекбоксы (Упаковка, Багет, Срочно и тд) */
    .mob-order-7 { order: 7; } /* Итоговая стоимость */
    .mob-order-8 { order: 8; } /* Согласие и Отправить */

    /* === СТИЛИ ДЛЯ ИНЛАЙНОВЫХ ПОЛЕЙ (Лейбл слева, инпут справа) === */
    .mob-inline-row {
        display: flex;
        align-items: center;
        margin-bottom: 12px;
    }
    .mob-inline-row label {
        width: 35%; /* Ширина для лейбла */
        font-weight: bold;
        font-size: 0.85rem;
        color: #fff;
        text-transform: uppercase;
        margin: 0;
    }
    .mob-inline-row input,
    .mob-inline-row select {
        width: 65%; /* Ширина для поля ввода */
        background-color: rgba(255, 255, 255, 0.4) !important;
        border: none !important;
        border-radius: 5px !important;
        padding: 6px 10px !important;
        color: #fff !important;
        font-size: 0.8rem;
    }
    .mob-inline-row input::placeholder {
        color: rgba(255, 255, 255, 0.6);
        text-transform: uppercase;
    }

    /* === СТИЛИ ЧЕКБОКСОВ ПОД МАКЕТ (Белые кружки) === */
    .custom-radio-styled .form-check-input {
        border-radius: 50% !important; /* Делаем круглыми */
        width: 1.2rem;
        height: 1.2rem;
        border: 2px solid #fff;
        background-color: transparent;
        margin-top: 2px;
    }
    .custom-radio-styled .form-check-input:checked {
        background-color: #fff;
        position: relative;
    }
    .custom-radio-styled .form-check-input:checked::after {
        content: '';
        position: absolute;
        top: 50%; left: 50%;
        transform: translate(-50%, -50%);
        width: 8px; height: 8px;
        background-color: #ff7300; /* Оранжевая точка внутри */
        border-radius: 50%;
    }

    /* === ТЕМНО-ЗЕЛЕНЫЙ ПОДВАЛ === */
    .mob-dark-footer {
        background-color: #2c4539;
        padding: 25px 20px;
        color: #fff;
        display: flex;
        flex-direction: column;
    }
    /* Точка для зеленого фона */
    .mob-dark-footer .custom-radio-styled .form-check-input:checked::after {
        background-color: #2c4539; 
    }
}


/* ФИЛЬТРЫ */
/* Основной контейнер фильтра */
.custom-mfilter-box {
    background-color: #274233; /* Темно-зеленый фон */
    padding: 8px 14px;
    border-radius: 10px;
    color: #ffffff;
    font-weight:400;
    border: 1px solid #6f7571;
}

.custom-mfilter-box label {
   font-size: 15px;
   padding: 2px 0;
}

.custom-mfilter-box .form-check-input {
   margin-right: 5px;
}

/* Заголовок фильтра */
.custom-mfilter-title {
    color: #ff7400; /* Оранжевый цвет */
    font-size: 1.2rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 20px;
    letter-spacing: 1px;
}

/* Сетка для чекбоксов (2 колонки) */
.custom-mfilter-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: 12px;
    column-gap: 20px;
    margin-bottom: 30px;
}

.custom-mfilter-box .filter_title {
	display: flex;
	justify-content: space-between;
    color:#ee7b0b;
    font-size: 18px;
    font-weight: 400;
}
#mse2_mfilter .hamburger_filter {
  display: none;
}
.mfilter2 .favorite {
  display: none!important;
}
.banner_pc {
	display: block;
}
.banner_mob {
	display: none;
}
@media (max-width:767px) {
	.banner_pc {
	display: none;
	}
	.banner_mob {
		display: block;
	}
	#mse2_mfilter .portfolio-title {
	  display: none;
	}
	.mfilter2 .favorite {
		display: block!important;
		float: left;
		margin-right: 10px;
	}
	.mfilter2 .favorite img {
		max-width: 36px;
	}
	.sidebar_content .custom-mfilter-box {
    height: 38px;
    overflow: hidden;
  }
	.custom-mfilter-box .filter_title {
		color:#858584;
		cursor: pointer;
	}
   .sidebar_content .custom-mfilter-box.active {
    height: auto;
  }
  .custom-mfilter-box.active .filter_title {
		color:#ee7b0b;
	}
  #mse2_mfilter .hamburger_filter {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    position: relative;
  }
  #mse2_mfilter .filter_title .filter_icon {
    width: 14px;
    height: 20px;
    background: url(/img/arrow_filter_off.png) no-repeat top center;
  }
  #mse2_mfilter .filter_title.active .filter_icon {
	width: 14px;
	height: 20px;
	background: url(/img/arrow_filter_on.png) no-repeat top center;
  }
}

/* Стилизация каждого пункта */
.custom-checkbox-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    user-select: none;
    margin: 0;
}

/* Скрываем стандартный чекбокс */
.custom-checkbox-label input[type="checkbox"] {
    display: none;
}

/* Рисуем кружок */
.custom-checkbox-label .checkmark {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    position: relative;
    flex-shrink: 0;
}

/* Точка внутри при состоянии checked */
.custom-checkbox-label input[type="checkbox"]:checked + .checkmark::after {
    content: '';
    width: 10px;
    height: 10px;
    background-color: #ffffff;
    border-radius: 50%;
    position: absolute;
}

/* Состояние "неактивно" (если нет товаров с таким стилем) */
.custom-checkbox-label.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Блок с кнопками */
.mfilter-actions {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

/* Кнопки */
.btn-mfilter-apply,
.btn-mfilter-reset {
    flex: 1; /* Одинаковая ширина */
    border: none;
    padding: 4px 20px;
    border-radius: 8px;
    color: #ffffff;
    font-weight: 400;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity 0.2s;
    text-align: center;
}

.btn-mfilter-apply:hover,
.btn-mfilter-reset:hover {
    opacity: 0.9;
}

.btn-mfilter-apply {
    background-color: #cb1c3c; /* Малиново-красный */
}

.btn-mfilter-reset {
    background-color: #ff7400; /* Оранжевый */
}

.btn-zakaz-mob {
    display:none;
}
.btn-zakaz-mob img {
    width: 100%;
}

/* Ссылка в подвале */
.mfilter-footer-link {
    display: block;
    color: #858584;
    font-size: 0.8rem;
    text-transform: uppercase;
    text-decoration: underline;
    letter-spacing: 0.5px;
}
.mfilter-footer-link:hover {
    color: #ffffff;
}

/* Плейсхолдеры */
.order-form-wrapper input::placeholder, 
.order-form-wrapper textarea::placeholder {
    color: #a0a0a0;
    font-weight: 400;
}


/* Большие иконки соцсетей */
.social-icon-big {
	width: 60px;
	height: 60px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
	color: white;
	text-decoration: none;
}

.social-text {
	font-size: 0.8rem;
	line-height: 1.4;
	text-transform: uppercase;
	font-weight: 400;
}

/* Список в контактах */
.contacts-list {
	padding-left: 20px;
	margin-bottom: 2rem;
}

.contacts-list li {
	font-size: 0.85rem;
	text-transform: uppercase;
	margin-bottom: 10px;
	line-height: 1.4;
}

/* Юридическая информация */
.docs-info img {
	max-width: 12px;
}

.legal-info-text,
.legal-link {
	font-size: 0.75rem;
	color: var(--text-white);
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1.4;
}

.legal-link {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.legal-link:hover {
	color: var(--text-gray);
}

/* Карта */
.map-container {
	width: 100%;
	height: 450px;
	background-color: #e5e3df;
	/* Цвет заглушки */
	border-radius: 5px;
	overflow: hidden;
}

/* Форма в модальном окне */
.custom-orange-form input::placeholder {
    color: #a0a0a0;
    font-weight: bold;
}

.custom-orange-form input:focus {
    box-shadow: none;
    border: 2px solid #be3346 !important; 
}

/* 1399px */
@media (max-width: 1399px) {
	.logo-text {
		font-size: 1.4rem;
		line-height: 1.1;
		text-transform: uppercase;
		font-weight: bold;
	}

	.logo-text-gray {
		font-size: 0.62rem;
		letter-spacing: 0.5px;
		text-transform: uppercase;
	}

	.contact-info a {
		margin-right: 6px;
		font-size: 0.82rem;
	}

	.custom-navbar .nav-link {
		font-size: 0.87rem;
		padding: 3px 11px !important;
	}
}

/* 1199 */
@media (max-width: 1199px) {
	.logo-text {
		font-size: 1.1rem;
		line-height: 1.1;
		text-transform: uppercase;
		font-weight: bold;
	}

	.logo-text-gray {
		font-size: 0.62rem;
		letter-spacing: 0.5px;
		text-transform: uppercase;
	}

	.contact-info a {
		margin-right: 6px;
		font-size: 0.82rem;
	}

	.custom-navbar .nav-link {
		font-size: 0.74rem;
		padding: 3px 8px !important;
	}
}


/* 575px */
@media (max-width: 575px) {
	.social-icon {
		max-width: 24px;
	}

	.text-mobile {
		font-size: 0.90rem;
	}

	.service-card,
	.price-list-card {
		column-gap: 19px;
	}

	.service-icon,
	.price-list-icon {

		margin-left: 0px;
	}
	.btn-zakaz-mob {
	    display: block;
        max-width: 240px;
        margin: 0 auto;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 99;
	}

}