/* ==========================================================================
   PAGE HEADER (v2 — pgh- prefix, legacy-safe + defensive)

   • Все классы префикс `pgh-` — без коллизий
   • Все цвета inline — без CSS-переменных
   • Тройная специфичность + !important на критичных свойствах
     для перебивания глобальных стилей старого main.css
   ========================================================================== */

.pgh-section,
.pgh-section *,
.pgh-section *::before,
.pgh-section *::after{
	box-sizing:border-box;
}

.pgh-section{
	display:block !important;
	margin:0 0 36px !important;
	padding:36px 0 28px !important;
	background:transparent !important;
	border:0 !important;
	border-bottom:1px solid #E8E2D9 !important;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
	color:#2A2522;
	width:100%;
}

.pgh-inner{
	margin:0 !important;
	padding:0 !important;
	background:transparent !important;
}

/* ─── Breadcrumbs ─── */
.pgh-section .pgh-crumbs{
	display:block !important;
	margin:0 0 18px !important;
	padding:0 !important;
	background:transparent !important;
}

.pgh-section .pgh-crumbs__list{
	display:flex !important;
	flex-wrap:wrap !important;
	align-items:center !important;
	gap:6px 0 !important;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}

.pgh-section .pgh-crumbs__item{
	display:inline-flex !important;
	align-items:center !important;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif !important;
	font-size:11.5px !important;
	letter-spacing:.04em !important;
	font-weight:500 !important;
	color:#8A847E !important;
	line-height:1.4 !important;
	background:transparent !important;
	border:0 !important;
}
.pgh-section .pgh-crumbs__item::before{
	display:none !important;
	content:none !important;
}

/* Separator chevron between items */
.pgh-section .pgh-crumbs__item + .pgh-crumbs__item::before{
	content:"" !important;
	display:inline-block !important;
	width:5px !important;
	height:5px !important;
	margin:0 12px !important;
	border:solid #BFB29A !important;
	border-width:1.5px 1.5px 0 0 !important;
	transform:rotate(45deg) !important;
	flex-shrink:0;
	background:transparent !important;
}

.pgh-section .pgh-crumbs__link{
	display:inline-flex !important;
	align-items:center !important;
	gap:6px !important;
	color:#8A847E !important;
	text-decoration:none !important;
	transition:color .2s !important;
	padding:2px 0 !important;
	margin:0 !important;
	background:transparent !important;
	border:0 !important;
	font-weight:500 !important;
	letter-spacing:.04em !important;
	white-space:nowrap;
}
.pgh-section .pgh-crumbs__link:hover{
	color:#8B1F2A !important;
}

.pgh-crumbs__home{
	width:13px !important;
	height:13px !important;
	flex-shrink:0;
	color:currentColor;
}

/* On mobile: hide "Главная" text, keep only the home icon */
.pgh-crumbs__home-text{display:inline}
@media (max-width:480px){
	.pgh-crumbs__home-text{display:none}
}

/* Current page (last item, not a link) */
.pgh-section .pgh-crumbs__current{
	display:inline-block !important;
	color:#2A2522 !important;
	font-weight:600 !important;
	letter-spacing:.04em !important;
	padding:0 !important;
	margin:0 !important;
	background:transparent !important;
	border:0 !important;
	max-width:280px;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

/* ─── H1 title ─── */
.pgh-section .pgh-title{
	font-family:'Fraunces','Times New Roman',serif !important;
	font-weight:300 !important;
	font-size:36px !important;
	line-height:1.05 !important;
	letter-spacing:-.025em !important;
	color:#2A2522 !important;
	margin:0 !important;
	padding:0 !important;
	background:transparent !important;
	border:0 !important;
	text-transform:none !important;
	max-width:920px;
}

@media (min-width:768px){
	.pgh-section .pgh-title{font-size:44px !important}
}
@media (min-width:1024px){
	.pgh-section .pgh-title{font-size:54px !important}
}
@media (min-width:1400px){
	.pgh-section .pgh-title{font-size:60px !important}
}

/* ─── Responsive ─── */
@media (max-width:640px){
	.pgh-section{
		margin-bottom:28px !important;
		padding:24px 0 22px !important;
	}
	.pgh-section .pgh-crumbs{margin-bottom:14px !important}
	.pgh-section .pgh-crumbs__item{font-size:11px !important}
	.pgh-section .pgh-crumbs__item + .pgh-crumbs__item::before{
		margin:0 8px !important;
		width:4px !important;
		height:4px !important;
	}
	.pgh-section .pgh-crumbs__current{max-width:180px}
}
@media (max-width:480px){
	.pgh-section .pgh-title{font-size:30px !important}
}


/* ==========================================================================
   BLOG PAGE — articles grid (v2 — for narrow column with sidebar)

   • 2 columns на десктопе/планшете, 1 на мобильном
   • Без собственного max-width / inner-wrap — компонент встраивается
     в существующий main-content контейнер сайта (где уже есть padding)
   • Все цвета inline — без CSS-переменных (legacy-минификатор)
   ========================================================================== */

.bp2-section,
.bp2-section *,
.bp2-section *::before,
.bp2-section *::after{
	box-sizing:border-box;
}

.bp2-section{
	display:block;
	background:transparent;
	margin:0;
	padding:0;
	color:#2A2522;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
}

/* ─── Grid: 2 columns on desktop, 1 on mobile ─── */
.bp2-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:28px 24px;
	margin:0 0 48px;
}

/* ─── Article card ─── */
.bp2-card{
	display:flex;
	flex-direction:column;
	background:#FFFFFF;
	border:1px solid #E8E2D9;
	border-radius:6px;
	overflow:hidden;
	margin:0;
	padding:0;
	transition:border-color .35s cubic-bezier(.7,0,.2,1),
	           transform .35s cubic-bezier(.7,0,.2,1),
	           box-shadow .35s cubic-bezier(.7,0,.2,1);
	position:relative;
	isolation:isolate;
}
.bp2-card:hover{
	border-color:#2A2522;
	transform:translateY(-3px);
	box-shadow:0 18px 38px rgba(42,37,34,.08);
}

/* Cover image */
.bp2-card__cover{
	position:relative;
	display:block;
	aspect-ratio:16/10;
	overflow:hidden;
	background:#FAF7F2;
	text-decoration:none;
}
@supports not (aspect-ratio: 16/10){
	.bp2-card__cover{
		height:0;
		padding-bottom:62.5%;
	}
}

.bp2-card__img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:transform .6s cubic-bezier(.7,0,.2,1);
}
.bp2-card:hover .bp2-card__img{
	transform:scale(1.04);
}

.bp2-card__overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(180deg,rgba(42,37,34,0) 50%,rgba(42,37,34,.18) 100%);
	opacity:0;
	transition:opacity .35s;
	z-index:1;
	pointer-events:none;
}
.bp2-card:hover .bp2-card__overlay{
	opacity:1;
}

/* Body */
.bp2-card__body{
	padding:22px 24px 22px;
	display:flex;
	flex-direction:column;
	flex:1;
	gap:14px;
}

/* Meta row */
.bp2-card__meta{
	display:flex;
	align-items:center;
	gap:14px;
	font-size:11px;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:#8A847E;
	font-weight:500;
	margin:0;
}
.bp2-card__date{
	font-family:inherit;
	font-feature-settings:"tnum" 1,"lnum" 1;
}
.bp2-card__views{
	display:inline-flex;
	align-items:center;
	gap:6px;
	margin-left:auto;
	letter-spacing:.04em;
	font-feature-settings:"tnum" 1,"lnum" 1;
}
.bp2-card__views-icon{
	width:14px;
	height:14px;
	flex-shrink:0;
	fill:currentColor;
	opacity:.85;
}

/* Title */
.bp2-card__title{
	font-family:'Fraunces','Times New Roman',serif;
	font-size:22px;
	font-weight:400;
	line-height:1.22;
	letter-spacing:-.01em;
	color:#2A2522;
	margin:0;
	padding:0;
	text-decoration:none;
	transition:color .25s;
	-webkit-line-clamp:3;
	display:-webkit-box;
	-webkit-box-orient:vertical;
	overflow:hidden;
}
.bp2-card__title:hover{
	color:#8B1F2A;
}

/* Intro */
.bp2-card__intro{
	font-family:inherit;
	font-size:13.5px;
	line-height:1.55;
	color:#4A4440;
	letter-spacing:.005em;
	margin:0;
	padding:0;
	-webkit-line-clamp:3;
	display:-webkit-box;
	-webkit-box-orient:vertical;
	overflow:hidden;
}

/* Author */
.bp2-card__author{
	display:flex;
	align-items:center;
	gap:12px;
	margin:0;
	padding:14px 0 0;
	border-top:1px solid #F0EAE0;
}
.bp2-card__author-ava{
	width:36px;
	height:36px;
	flex-shrink:0;
	border-radius:50%;
	overflow:hidden;
	background:#FAF7F2;
	border:1px solid #E8E2D9;
}
.bp2-card__author-ava img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.bp2-card__author-body{
	min-width:0;
	flex:1;
	line-height:1.3;
}
.bp2-card__author-name{
	font-family:inherit;
	font-size:12.5px;
	font-weight:600;
	color:#2A2522;
	letter-spacing:-.005em;
	margin:0 0 2px;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.bp2-card__author-position{
	font-family:inherit;
	font-size:11px;
	color:#8A847E;
	letter-spacing:.005em;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

/* CTA */
.bp2-card__more{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin:auto 0 0;
	padding:0;
	font-family:inherit;
	font-size:11px;
	font-weight:600;
	letter-spacing:.18em;
	text-transform:uppercase;
	color:#8B1F2A;
	text-decoration:none;
	transition:gap .25s,color .25s;
	align-self:flex-start;
}
.bp2-card__more-arrow{
	width:12px;
	height:12px;
	transition:transform .25s;
}
.bp2-card:hover .bp2-card__more{
	gap:12px;
}
.bp2-card:hover .bp2-card__more-arrow{
	transform:translateX(3px);
}

/* ─── Pagination ─── */
.bp2-section .pagination,
.bp2-section .pagination-list,
.bp2-section ul.pagination{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:6px;
	margin:0 auto;
	padding:0;
	list-style:none;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
}
.bp2-section .pagination li,
.bp2-section .pagination-list li{
	margin:0;
	padding:0;
	list-style:none;
}
.bp2-section .pagination a,
.bp2-section .pagination span,
.bp2-section .pagination-list a,
.bp2-section .pagination-list span{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:42px;
	height:42px;
	padding:0 12px;
	border:1px solid #E8E2D9;
	border-radius:100px;
	background:#FFFFFF;
	color:#2A2522;
	font-size:13px;
	font-weight:500;
	letter-spacing:.005em;
	text-decoration:none;
	transition:all .2s;
	font-feature-settings:"tnum" 1,"lnum" 1;
}
.bp2-section .pagination a:hover,
.bp2-section .pagination-list a:hover{
	border-color:#2A2522;
	background:#FAF7F2;
}
.bp2-section .pagination .active a,
.bp2-section .pagination .active span,
.bp2-section .pagination-list .active a,
.bp2-section .pagination-list .active span,
.bp2-section .pagination .is-active a,
.bp2-section .pagination .is-active span{
	background:#8B1F2A;
	border-color:#8B1F2A;
	color:#FFFFFF;
}
.bp2-section .pagination .disabled a,
.bp2-section .pagination .disabled span{
	opacity:.4;
	pointer-events:none;
}

/* ─── Responsive ─── */
@media (max-width:680px){
	.bp2-grid{
		grid-template-columns:1fr;
		gap:18px;
		margin-bottom:36px;
	}
	.bp2-card__body{padding:20px 22px}
	.bp2-card__title{font-size:20px;-webkit-line-clamp:4}
	.bp2-card__intro{-webkit-line-clamp:4}
	.bp2-section .pagination a,
	.bp2-section .pagination span,
	.bp2-section .pagination-list a,
	.bp2-section .pagination-list span{
		min-width:38px;
		height:38px;
		padding:0 10px;
		font-size:12.5px;
	}
}




/* ==========================================================================
   CONTACTS FULL (v2 — cf2- prefix, defensive vs legacy main.css)

   • Все классы префикс `cf2-` — без коллизий
   • Все цвета inline — без CSS-переменных
   • Тройная специфичность + !important на критичных свойствах layout
     для перебивания глобальных стилей старого main.css
   ========================================================================== */

/* ─── RESET внутри секции ─── */
.cf2-section,
.cf2-section *,
.cf2-section *::before,
.cf2-section *::after{
	box-sizing:border-box;
}

/* Defensive — global resets often define h1/h2 with margins/borders */
.cf2-section h1,
.cf2-section h2,
.cf2-section h3,
.cf2-section h4,
.cf2-section p,
.cf2-section div,
.cf2-section span,
.cf2-section a{
	border:0;
}

.cf2-section{
	display:block !important;
	margin:0 0 60px !important;
	padding:0 !important;
	background:transparent !important;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
	color:#2A2522;
	width:100%;
}

/* ─── Section heading ─── */
.cf2-head{
	margin:0 0 44px !important;
	padding:0 !important;
	background:transparent !important;
	border:0 !important;
}

.cf2-head__eyebrow{
	display:inline-flex !important;
	align-items:center;
	gap:12px;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
	font-size:10.5px;
	letter-spacing:.3em;
	text-transform:uppercase;
	color:#8A847E;
	font-weight:500;
	margin:0 0 16px !important;
	padding:0 !important;
	background:transparent !important;
}
.cf2-head__eyebrow::before{
	content:"" !important;
	width:24px;
	height:1px;
	background:#8A847E !important;
	display:inline-block;
}

.cf2-head__title{
	font-family:'Fraunces','Times New Roman',serif !important;
	font-weight:300 !important;
	font-size:38px;
	line-height:1 !important;
	letter-spacing:-.025em;
	color:#2A2522 !important;
	margin:0 !important;
	padding:0 !important;
	background:transparent !important;
	text-transform:none !important;
	border:0 !important;
}
@media (min-width:1024px){.cf2-head__title{font-size:52px}}
@media (min-width:1400px){.cf2-head__title{font-size:64px}}

.cf2-head__title b{
	color:#8B1F2A !important;
	font-weight:300 !important;
	font-style:normal !important;
}

/* ─── Two-card grid ─── */
.cf2-grid{
	display:grid !important;
	grid-template-columns:1fr 1fr !important;
	gap:32px 24px !important;
	margin:0 !important;
	padding:0 !important;
	background:transparent !important;
}

/* ─── Card ─── */
.cf2-card{
	position:relative !important;
	background:#FFFFFF !important;
	background-color:#FFFFFF !important;
	border:1px solid #E8E2D9 !important;
	border-radius:6px !important;
	padding:38px 36px 32px !important;
	margin:0 !important;
	overflow:visible !important;
	display:flex !important;
	flex-direction:column !important;
	gap:28px !important;
	width:auto !important;
	min-width:0;
}

/* Card label — small tab top-left, NOT full-width banner.
   Triple-class specificity + !important on width/display to defeat globals. */
.cf2-section .cf2-card .cf2-card__label{
	display:inline-block !important;
	position:absolute !important;
	top:-12px !important;
	left:30px !important;
	width:auto !important;
	max-width:none !important;
	min-width:0 !important;
	padding:5px 14px !important;
	margin:0 !important;
	border:0 !important;
	border-radius:3px !important;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif !important;
	font-size:10px !important;
	letter-spacing:.24em !important;
	text-transform:uppercase !important;
	font-weight:600 !important;
	color:#FFFFFF !important;
	white-space:nowrap !important;
	line-height:1.4 !important;
	height:auto !important;
	box-sizing:border-box;
	z-index:2;
}
.cf2-section .cf2-card--reach .cf2-card__label{
	background:#8B1F2A !important;
	background-color:#8B1F2A !important;
}
.cf2-section .cf2-card--find .cf2-card__label{
	background:#2A2522 !important;
	background-color:#2A2522 !important;
}

/* ─── Item (group) — vertical stack, NOT inline ─── */
.cf2-section .cf2-card .cf2-item{
	display:flex !important;
	flex-direction:column !important;
	align-items:flex-start !important;
	gap:10px !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	background:transparent !important;
	width:100%;
	min-width:0;
}

.cf2-section .cf2-card .cf2-item__lbl{
	display:inline-flex !important;
	align-items:center;
	gap:8px;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif !important;
	font-size:10.5px !important;
	letter-spacing:.22em !important;
	text-transform:uppercase !important;
	color:#8A847E !important;
	font-weight:600 !important;
	margin:0 !important;
	padding:0 !important;
	background:transparent !important;
	border:0 !important;
	line-height:1.4 !important;
	height:auto !important;
}

.cf2-item__icon{
	width:14px !important;
	height:14px !important;
	flex-shrink:0;
	color:#8B1F2A !important;
	fill:currentColor;
}

/* ─── Phone (large) ─── */
.cf2-section .cf2-card .cf2-phone{
	display:inline-flex !important;
	align-items:center !important;
	gap:12px !important;
	margin:0 !important;
	padding:0 !important;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif !important;
	font-size:28px !important;
	font-weight:600 !important;
	letter-spacing:-.015em !important;
	color:#2A2522 !important;
	text-decoration:none !important;
	font-feature-settings:"tnum" 1,"lnum" 1;
	transition:color .2s;
	white-space:nowrap;
	line-height:1.1 !important;
	background:transparent !important;
	border:0 !important;
	height:auto !important;
}
.cf2-section .cf2-card .cf2-phone:hover{color:#8B1F2A !important}
.cf2-phone__num{display:inline-block}
.cf2-section .cf2-card .cf2-phone .cf2-item__icon{
	width:20px !important;
	height:20px !important;
}

@media (min-width:1024px){
	.cf2-section .cf2-card .cf2-phone{font-size:32px !important}
	.cf2-section .cf2-card .cf2-phone .cf2-item__icon{width:22px !important;height:22px !important}
}

.cf2-section .cf2-card .cf2-callback{
	display:inline-flex !important;
	align-items:center !important;
	gap:8px !important;
	margin:6px 0 0 !important;
	padding:0 !important;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif !important;
	font-size:11.5px !important;
	font-weight:600 !important;
	letter-spacing:.16em !important;
	text-transform:uppercase !important;
	color:#8B1F2A !important;
	text-decoration:none !important;
	transition:gap .2s;
	background:transparent !important;
	border:0 !important;
	line-height:1.4 !important;
	height:auto !important;
}
.cf2-section .cf2-card .cf2-callback:hover{gap:12px !important;color:#8B1F2A !important}
.cf2-callback__arrow{
	width:12px;
	height:12px;
	flex-shrink:0;
	transition:transform .2s;
}
.cf2-section .cf2-card .cf2-callback:hover .cf2-callback__arrow{transform:translateX(2px)}

/* ─── Email ─── */
.cf2-section .cf2-card .cf2-email{
	display:inline-flex !important;
	align-items:center !important;
	gap:12px !important;
	margin:0 !important;
	padding:0 !important;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif !important;
	font-size:18px !important;
	font-weight:500 !important;
	letter-spacing:-.005em !important;
	color:#2A2522 !important;
	text-decoration:none !important;
	transition:color .2s;
	word-break:break-all;
	line-height:1.3 !important;
	background:transparent !important;
	border:0 !important;
	height:auto !important;
}
.cf2-section .cf2-card .cf2-email:hover{color:#8B1F2A !important}
.cf2-email__addr{display:inline-block}
.cf2-section .cf2-card .cf2-email .cf2-item__icon{
	width:18px !important;
	height:18px !important;
}

/* ─── Address ─── */
.cf2-section .cf2-card .cf2-address{
	display:flex !important;
	align-items:flex-start !important;
	gap:12px !important;
	margin:0 !important;
	padding:0 !important;
	background:transparent !important;
	border:0 !important;
}
.cf2-section .cf2-card .cf2-address .cf2-item__icon{
	width:18px !important;
	height:18px !important;
	margin-top:6px;
}
.cf2-address__text{
	font-family:'Fraunces','Times New Roman',serif !important;
	font-size:22px !important;
	font-weight:400 !important;
	line-height:1.3 !important;
	letter-spacing:-.005em !important;
	color:#2A2522 !important;
	margin:0 !important;
	padding:0 !important;
	background:transparent !important;
	border:0 !important;
	display:block;
}

@media (min-width:1024px){
	.cf2-address__text{font-size:26px !important}
}

/* ─── Metro ─── */
.cf2-section .cf2-card .cf2-metro{
	display:inline-flex !important;
	align-items:center !important;
	gap:10px !important;
	margin:0 !important;
	padding:0 !important;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif !important;
	font-size:14px !important;
	color:#4A4440 !important;
	font-weight:500 !important;
	background:transparent !important;
	border:0 !important;
	line-height:1.4 !important;
	height:auto !important;
}
.cf2-metro__icon{
	width:16px !important;
	height:16px !important;
	flex-shrink:0;
	color:#8B1F2A !important;
	fill:currentColor;
}

/* ─── Hours ─── */
.cf2-section .cf2-card .cf2-hours{
	display:grid !important;
	grid-template-columns:1fr auto !important;
	gap:10px 24px !important;
	margin:0 !important;
	padding:14px 0 0 !important;
	border-top:1px dashed #E8E2D9 !important;
	background:transparent !important;
	width:100%;
}

.cf2-hours__row{
	display:contents;
}

.cf2-section .cf2-card .cf2-hours__day{
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif !important;
	font-size:14px !important;
	color:#4A4440 !important;
	font-weight:500 !important;
	letter-spacing:.005em !important;
	margin:0 !important;
	padding:0 !important;
	background:transparent !important;
	border:0 !important;
	line-height:1.5 !important;
}

.cf2-section .cf2-card .cf2-hours__time{
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif !important;
	font-size:14px !important;
	color:#2A2522 !important;
	font-weight:600 !important;
	letter-spacing:.005em !important;
	font-feature-settings:"tnum" 1,"lnum" 1;
	text-align:right !important;
	white-space:nowrap;
	margin:0 !important;
	padding:0 !important;
	background:transparent !important;
	border:0 !important;
	line-height:1.5 !important;
}

/* Today highlight */
.cf2-hours__row.is-today .cf2-hours__day,
.cf2-hours__row.is-today .cf2-hours__time{
	color:#8B1F2A !important;
	font-weight:600 !important;
}
.cf2-hours__row.is-today .cf2-hours__day::before{
	content:"";
	display:inline-block;
	width:6px;
	height:6px;
	border-radius:50%;
	background:#8FBCA5;
	margin-right:8px;
	vertical-align:middle;
	box-shadow:0 0 0 3px rgba(143,188,165,.2);
}

/* ─── Channels (messengers + socials) ─── */
.cf2-section .cf2-card .cf2-channels{
	display:grid !important;
	grid-template-columns:1fr 1fr !important;
	gap:24px !important;
	margin:0 !important;
	padding:24px 0 0 !important;
	border-top:1px solid #F0EAE0 !important;
	background:transparent !important;
}

.cf2-channel-group{
	margin:0 !important;
	padding:0 !important;
	background:transparent !important;
	border:0 !important;
}

.cf2-section .cf2-card .cf2-channel-group__title{
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif !important;
	font-size:10.5px !important;
	letter-spacing:.22em !important;
	text-transform:uppercase !important;
	color:#8A847E !important;
	font-weight:600 !important;
	margin:0 0 12px !important;
	padding:0 !important;
	background:transparent !important;
	border:0 !important;
}

.cf2-channel-group__list{
	display:flex !important;
	flex-direction:column !important;
	gap:8px !important;
	margin:0 !important;
	padding:0 !important;
}

/* Messenger pills */
.cf2-section .cf2-card .cf2-msgr{
	display:inline-flex !important;
	align-items:center !important;
	gap:10px !important;
	padding:11px 16px !important;
	margin:0 !important;
	background:#FAF7F2 !important;
	background-color:#FAF7F2 !important;
	border:1px solid #E8E2D9 !important;
	border-radius:100px !important;
	color:#2A2522 !important;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif !important;
	font-size:13px !important;
	font-weight:500 !important;
	letter-spacing:.005em !important;
	text-decoration:none !important;
	transition:all .2s;
	white-space:nowrap;
	width:auto;
	height:auto !important;
	line-height:1.4 !important;
	text-transform:none !important;
}
.cf2-section .cf2-card .cf2-msgr:hover{
	background:#FFFFFF !important;
	border-color:#8B1F2A !important;
	color:#8B1F2A !important;
	transform:translateY(-1px);
	box-shadow:0 4px 12px rgba(139,31,42,.10);
}
.cf2-msgr__icon{
	width:14px !important;
	height:14px !important;
	flex-shrink:0;
	color:#8B1F2A !important;
	fill:currentColor;
}

/* Social round buttons */
.cf2-channel-group__icons{
	display:flex !important;
	flex-wrap:wrap !important;
	gap:8px !important;
	margin:0 !important;
	padding:0 !important;
}

.cf2-section .cf2-card .cf2-social{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:38px !important;
	height:38px !important;
	padding:0 !important;
	margin:0 !important;
	background:#FAF7F2 !important;
	background-color:#FAF7F2 !important;
	border:1px solid #E8E2D9 !important;
	border-radius:50% !important;
	color:#2A2522 !important;
	text-decoration:none !important;
	transition:all .2s;
	flex-shrink:0;
	box-sizing:border-box;
	line-height:1 !important;
}
.cf2-section .cf2-card .cf2-social:hover{
	background:#2A2522 !important;
	background-color:#2A2522 !important;
	border-color:#2A2522 !important;
	color:#FFFFFF !important;
	transform:translateY(-1px);
	box-shadow:0 4px 12px rgba(42,37,34,.16);
}
.cf2-section .cf2-card .cf2-social svg{
	width:16px !important;
	height:16px !important;
	fill:currentColor;
	display:block;
}
.cf2-section .cf2-card .cf2-social img{
	width:16px !important;
	height:16px !important;
	display:block;
	transition:filter .2s;
	max-width:none !important;
}
.cf2-section .cf2-card .cf2-social:hover img{
	filter:brightness(0) invert(1);
}

/* ─── Responsive ─── */
@media (max-width:920px){
	.cf2-grid{
		grid-template-columns:1fr !important;
		gap:36px !important;
	}
	.cf2-card{padding:32px 26px 28px !important}
	.cf2-section .cf2-card .cf2-channels{
		grid-template-columns:1fr !important;
		gap:22px !important;
	}
}
@media (max-width:480px){
	.cf2-section{margin-bottom:40px !important}
	.cf2-head{margin-bottom:32px !important}
	.cf2-head__title{font-size:32px}
	.cf2-card{padding:28px 22px 24px !important}
	.cf2-section .cf2-card .cf2-card__label{
		left:18px !important;
		font-size:9.5px !important;
		padding:5px 12px !important;
	}
	.cf2-section .cf2-card .cf2-phone{font-size:22px !important;gap:10px !important}
	.cf2-section .cf2-card .cf2-phone .cf2-item__icon{width:18px !important;height:18px !important}
	.cf2-address__text{font-size:18px !important}
	.cf2-section .cf2-card .cf2-email{font-size:15px !important}
	.cf2-section .cf2-card .cf2-channels{padding-top:20px !important}
}



/* ==========================================================================
   FULL ORDER FORM (v3 — fo3- prefix, content-page context, legacy-safe)

   • Все классы префикс `fo3-` — без коллизий
   • Все цвета inline — без CSS-переменных
   • Светлая карточка с подсветкой sage сверху, для встраивания
     внутрь контентной страницы (внутри статьи, услуги и т.д.)
   ========================================================================== */

.fo3-section,
.fo3-section *,
.fo3-section *::before,
.fo3-section *::after{
	box-sizing:border-box;
}

.fo3-section{
	display:block;
	margin:48px 0;
	padding:0;
	background:transparent;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
	color:#2A2522;
}

/* ─── Card ─── */
.fo3-card{
	position:relative;
	background:#FFFFFF;
	border:1px solid #E8E2D9;
	border-radius:8px;
	padding:42px 44px 32px;
	overflow:hidden;
	isolation:isolate;
	box-shadow:0 12px 40px rgba(42,37,34,.05);
}

/* Sage tint at top — gives subtle "trustworthy" wash without being loud */
.fo3-card::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:140px;
	background:linear-gradient(180deg,rgba(143,188,165,.08) 0%,transparent 100%);
	z-index:0;
	pointer-events:none;
}

/* Wine accent bar on the left edge */
.fo3-card::after{
	content:"";
	position:absolute;
	top:42px;
	left:0;
	width:3px;
	height:48px;
	background:#8B1F2A;
	border-radius:0 3px 3px 0;
	z-index:1;
}

.fo3-card > *{position:relative;z-index:1}

/* Top label */
.fo3-card__label{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin:0 0 18px;
	padding:0;
	font-family:inherit;
	font-size:10.5px;
	letter-spacing:.22em;
	text-transform:uppercase;
	font-weight:600;
	color:#8B1F2A;
}
.fo3-card__label-icon{
	width:14px;
	height:14px;
	flex-shrink:0;
}

/* Heading */
.fo3-card__head{margin:0 0 28px;max-width:680px}

.fo3-card__title{
	font-family:'Fraunces','Times New Roman',serif;
	font-weight:400;
	font-size:32px;
	line-height:1.1;
	letter-spacing:-.015em;
	color:#2A2522;
	margin:0 0 12px;
	padding:0;
}
@media (min-width:1024px){.fo3-card__title{font-size:36px}}
@media (min-width:1400px){.fo3-card__title{font-size:42px}}

.fo3-card__desc{
	font-family:inherit;
	font-size:15px;
	line-height:1.6;
	color:#4A4440;
	letter-spacing:.005em;
	margin:0;
	padding:0;
}
.fo3-card__desc p{margin:0 0 .6em;padding:0}
.fo3-card__desc p:last-child{margin-bottom:0}
.fo3-card__desc a{
	color:#8B1F2A;
	text-decoration:underline;
	text-underline-offset:2px;
}
.fo3-card__desc a:hover{color:#6E1621}

/* ─── Form ─── */
.fo3-form{
	margin:0;
	padding:0;
}

.fo3-form__row{
	display:grid;
	grid-template-columns:1fr 1fr auto;
	gap:18px;
	align-items:end;
	margin:0 0 22px;
}

.fo3-field{
	position:relative;
	display:flex;
	flex-direction:column;
	gap:8px;
	margin:0;
	padding:0;
}
.fo3-field__label{
	display:block;
	font-family:inherit;
	font-size:10.5px;
	letter-spacing:.2em;
	text-transform:uppercase;
	color:#8A847E;
	font-weight:600;
	margin:0;
	padding:0;
}

.fo3-section .fo3-form .fo3-field__input{
	display:block;
	width:100%;
	height:auto;
	padding:14px 16px;
	margin:0;
	background:#FAF7F2 !important;
	background-color:#FAF7F2 !important;
	border:1px solid #E8E2D9 !important;
	border-radius:5px;
	box-shadow:none;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
	font-size:15.5px;
	font-weight:500;
	color:#2A2522 !important;
	letter-spacing:.005em;
	line-height:1.2;
	transition:border-color .25s,background-color .25s,box-shadow .25s;
	outline:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
}
.fo3-section .fo3-form .fo3-field__input::placeholder{
	color:#8A847E;
	opacity:1;
}
.fo3-section .fo3-form .fo3-field__input:hover{
	border-color:#BFB29A !important;
	background:#FFFFFF !important;
	background-color:#FFFFFF !important;
}
.fo3-section .fo3-form .fo3-field__input:focus{
	border-color:#8B1F2A !important;
	background:#FFFFFF !important;
	background-color:#FFFFFF !important;
	color:#2A2522 !important;
	outline:none;
	box-shadow:0 0 0 3px rgba(139,31,42,.10);
}

/* Submit */
.fo3-section .fo3-form .fo3-form__submit{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:15px 28px;
	margin:0;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
	font-size:14px;
	font-weight:500;
	letter-spacing:.04em;
	line-height:1.2;
	background:#8B1F2A !important;
	background-color:#8B1F2A !important;
	color:#FFFFFF !important;
	border:1px solid #8B1F2A;
	border-radius:100px;
	cursor:pointer;
	white-space:nowrap;
	text-decoration:none;
	box-shadow:0 1px 0 rgba(110,22,33,.3),0 10px 24px rgba(139,31,42,.20);
	transition:all .25s;
	-webkit-appearance:none;
	appearance:none;
	height:auto;
	text-transform:none;
	min-width:auto;
	float:none;
}
.fo3-section .fo3-form .fo3-form__submit:hover,
.fo3-section .fo3-form .fo3-form__submit:focus{
	background:#6E1621 !important;
	background-color:#6E1621 !important;
	border-color:#6E1621;
	color:#FFFFFF !important;
	transform:translateY(-1px);
	box-shadow:0 1px 0 rgba(110,22,33,.3),0 14px 28px rgba(139,31,42,.30);
	outline:none;
}
.fo3-form__submit-arrow{
	width:14px;
	height:14px;
	flex-shrink:0;
	transition:transform .25s;
}
.fo3-section .fo3-form .fo3-form__submit:hover .fo3-form__submit-arrow{
	transform:translateX(3px);
}

/* ─── Checkboxes — SVG background pattern ─── */
.fo3-form__checks{
	display:flex;
	flex-direction:column;
	gap:12px;
	margin:0;
	padding:0;
}

.fo3-check{
	display:flex;
	align-items:flex-start;
	gap:12px;
	margin:0;
	padding:0;
	cursor:pointer;
	font-family:inherit;
	font-size:12.5px;
	font-weight:400;
	color:#4A4440;
	line-height:1.55;
	letter-spacing:0;
	text-transform:none;
	user-select:none;
	-webkit-user-select:none;
}

.fo3-section .fo3-form .fo3-check__box{
	-webkit-appearance:none !important;
	-moz-appearance:none !important;
	appearance:none !important;
	width:20px !important;
	height:20px !important;
	min-width:20px;
	min-height:20px;
	max-width:20px;
	max-height:20px;
	margin:0 !important;
	padding:0 !important;
	flex-shrink:0;
	border:1.5px solid #CFC7BC !important;
	border-radius:3px !important;
	background-repeat:no-repeat !important;
	background-position:center !important;
	background-size:12px 12px !important;
	cursor:pointer;
	display:inline-block;
	vertical-align:top;
	box-shadow:none;
	outline:none;
	float:none;
	opacity:1 !important;
	visibility:visible !important;
	pointer-events:auto !important;
	transition:background-color .2s,border-color .2s;
	-webkit-print-color-adjust:exact;
	print-color-adjust:exact;
	margin-top:1px !important;
}
.fo3-section .fo3-form .fo3-check__box:hover{
	border-color:#8B1F2A !important;
}
.fo3-section .fo3-form .fo3-check__box:checked{
	background-color:#8B1F2A !important;
	background:#8B1F2A url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='3,8 7,12 13,4'/></svg>") center/12px 12px no-repeat !important;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='3,8 7,12 13,4'/></svg>") !important;
	border-color:#8B1F2A !important;
}
.fo3-section .fo3-form .fo3-check__box:focus,
.fo3-section .fo3-form .fo3-check__box:focus-visible{
	outline:none;
	box-shadow:0 0 0 3px rgba(139,31,42,.20);
}

.fo3-check__text{
	display:block;
	flex:1;
	min-width:0;
	color:#4A4440;
	cursor:pointer;
}
.fo3-check__text b{
	font-weight:600;
	color:#2A2522;
}
.fo3-check__text a{
	color:#8B1F2A;
	text-decoration:underline;
	text-underline-offset:2px;
	transition:color .15s;
}
.fo3-check__text a:hover{color:#6E1621}

/* Invalid state hook */
.fo3-field.is-invalid .fo3-field__input{
	border-color:#B8746B !important;
}
.fo3-field.is-invalid .fo3-field__label{
	color:#B8746B;
}

/* ─── Trust footer (3 quick reassurances inline) ─── */
.fo3-trust{
	display:flex;
	flex-wrap:wrap;
	gap:24px 32px;
	margin:28px 0 0;
	padding:24px 0 0;
	border-top:1px solid #F0EAE0;
}
.fo3-trust__item{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-family:inherit;
	font-size:12.5px;
	font-weight:500;
	color:#4A4440;
	letter-spacing:.005em;
	line-height:1.4;
}
.fo3-trust__icon{
	width:14px;
	height:14px;
	flex-shrink:0;
	color:#6FA287;
}

/* ─── Responsive ─── */
@media (max-width:760px){
	.fo3-card{padding:32px 26px 24px}
	.fo3-card::after{top:32px;height:42px}
	.fo3-form__row{
		grid-template-columns:1fr;
		gap:14px;
	}
	.fo3-section .fo3-form .fo3-form__submit{
		width:100%;
	}
	.fo3-trust{gap:14px 24px;margin-top:22px;padding-top:20px}
}
@media (max-width:480px){
	.fo3-card{padding:28px 22px 22px;border-radius:6px}
	.fo3-card::after{top:28px;height:38px}
	.fo3-card__head{margin-bottom:22px}
	.fo3-section .fo3-form .fo3-field__input{
		padding:12px 14px;
		font-size:14.5px;
	}
}




/* ==========================================================================
   SIDEBAR CONTACTS (v2 — sct- prefix, legacy-safe)

   • Все классы префикс `sct-` — без коллизий
   • Все цвета inline — без CSS-переменных
   • Карточный стиль, согласован с sof- (sidebar-order-form),
     чтобы все блоки сайдбара выглядели как одно семейство
   ========================================================================== */

.sct-section,
.sct-section *,
.sct-section *::before,
.sct-section *::after{
	box-sizing:border-box;
}

.sct-section{
	display:block;
	margin:0 0 24px;
	padding:0;
	background:transparent;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
	color:#2A2522;
}

/* ─── Card ─── */
.sct-card{
	position:relative;
	background:#FAF7F2;
	border:1px solid #E8E2D9;
	border-radius:6px;
	padding:32px 26px 26px;
	overflow:hidden;
	isolation:isolate;
}

/* Decorative wine corner glow */
.sct-card::before{
	content:"";
	position:absolute;
	top:-30%;
	right:-20%;
	width:160px;
	height:160px;
	background:radial-gradient(circle,rgba(139,31,42,.06) 0%,transparent 70%);
	z-index:0;
	pointer-events:none;
}

.sct-card > *{position:relative;z-index:1}

/* Top label — same style as sof- form */
.sct-card__label{
	display:inline-block;
	background:#2A2522;
	color:#FFFFFF;
	padding:5px 12px;
	border-radius:3px;
	font-size:9.5px;
	letter-spacing:.22em;
	text-transform:uppercase;
	font-weight:600;
	font-family:inherit;
	margin:0 0 24px;
	white-space:nowrap;
}

/* ─── Row (phone + email) ─── */
.sct-row{
	margin:0 0 22px;
}
.sct-row:last-of-type{
	margin-bottom:0;
	padding-bottom:0;
	border-bottom:none;
}

.sct-row__label{
	font-family:inherit;
	font-size:10px;
	letter-spacing:.2em;
	text-transform:uppercase;
	color:#8A847E;
	font-weight:600;
	margin:0 0 10px;
}

.sct-row__icon{
	width:14px;
	height:14px;
	flex-shrink:0;
	color:#8B1F2A;
	fill:currentColor;
}

/* Phone — large display */
.sct-phone{
	display:inline-flex;
	align-items:center;
	gap:10px;
	margin:0;
	padding:0;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
	font-size:18px;
	font-weight:600;
	letter-spacing:-.005em;
	color:#2A2522;
	text-decoration:none;
	font-feature-settings:"tnum" 1,"lnum" 1;
	transition:color .2s;
	white-space:nowrap;
}
.sct-phone:hover{color:#8B1F2A}
.sct-phone__num{display:inline-block}

/* Callback link — small cta below phone */
.sct-callback{
	display:inline-flex;
	align-items:center;
	gap:6px;
	margin:8px 0 0;
	padding:0;
	font-family:inherit;
	font-size:11px;
	font-weight:600;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:#8B1F2A;
	text-decoration:none;
	transition:gap .2s;
}
.sct-callback:hover{gap:10px}
.sct-callback__arrow{
	width:11px;
	height:11px;
	flex-shrink:0;
	transition:transform .2s;
}
.sct-callback:hover .sct-callback__arrow{
	transform:translateX(2px);
}

/* Email */
.sct-email{
	display:inline-flex;
	align-items:center;
	gap:10px;
	margin:0;
	padding:0;
	font-family:inherit;
	font-size:14.5px;
	font-weight:500;
	letter-spacing:-.005em;
	color:#2A2522;
	text-decoration:none;
	transition:color .2s;
	word-break:break-all;
}
.sct-email:hover{color:#8B1F2A}
.sct-email__addr{display:inline-block;line-height:1.3}

/* ─── Channels block ─── */
.sct-channels{
	display:flex;
	flex-direction:column;
	gap:18px;
	margin:24px 0 0;
	padding:22px 0 0;
	border-top:1px dashed #CFC7BC;
}

.sct-group{
	margin:0;
	padding:0;
}
.sct-group__title{
	font-family:inherit;
	font-size:10px;
	letter-spacing:.2em;
	text-transform:uppercase;
	color:#8A847E;
	font-weight:600;
	margin:0 0 10px;
}

/* Messenger pills */
.sct-group__list{
	display:flex;
	flex-direction:column;
	gap:6px;
}

.sct-msgr{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:9px 14px;
	margin:0;
	background:#FFFFFF;
	border:1px solid #E8E2D9;
	border-radius:100px;
	color:#2A2522;
	font-family:inherit;
	font-size:13px;
	font-weight:500;
	letter-spacing:.005em;
	text-decoration:none;
	transition:all .2s;
	white-space:nowrap;
}
.sct-msgr:hover{
	border-color:#8B1F2A;
	color:#8B1F2A;
	transform:translateY(-1px);
	box-shadow:0 4px 12px rgba(139,31,42,.08);
}
.sct-msgr__icon{
	width:14px;
	height:14px;
	flex-shrink:0;
	color:#8B1F2A;
	fill:currentColor;
	transition:color .2s;
}
.sct-msgr:hover .sct-msgr__icon{color:#8B1F2A}

/* Social round icons */
.sct-group__icons{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}

.sct-social{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:36px;
	height:36px;
	padding:0;
	margin:0;
	background:#FFFFFF;
	border:1px solid #E8E2D9;
	border-radius:50%;
	color:#2A2522;
	text-decoration:none;
	transition:all .2s;
	flex-shrink:0;
}
.sct-social:hover{
	background:#2A2522;
	border-color:#2A2522;
	color:#FFFFFF;
	transform:translateY(-1px);
	box-shadow:0 4px 12px rgba(42,37,34,.16);
}
.sct-social svg{
	width:15px;
	height:15px;
	fill:currentColor;
	transition:filter .2s;
}
.sct-social img{
	width:15px;
	height:15px;
	display:block;
	transition:filter .2s;
}
.sct-social:hover img{
	filter:brightness(0) invert(1);
}

/* ─── Responsive ─── */
@media (max-width:480px){
	.sct-card{padding:26px 20px 22px}
	.sct-card__label{margin-bottom:18px}
	.sct-phone{font-size:17px}
	.sct-email{font-size:14px}
	.sct-row{margin-bottom:18px;padding-bottom:18px}
	.sct-channels{margin-top:18px;padding-top:18px}
}






/* ==========================================================================
   ONLINE ORDER — callback form (v2 — checkbox via SVG background)

   • Чекбокс — настоящий <input type="checkbox"> с appearance:none
   • Галочка — встроенный SVG как background-image
     (работает на input всегда, в отличие от ::before/::after)
   • Весь <label> кликабелен — клик в любую точку строки переключает
   ========================================================================== */

.oo2-section,
.oo2-section *,
.oo2-section *::before,
.oo2-section *::after{
	box-sizing:border-box;
}

.oo2-section{
	display:block;
	background:#1E1214;
	padding:110px 0 120px;
	position:relative;
	overflow:hidden;
	isolation:isolate;
	color:#F5EFE8;
	margin:0;
	width:100%;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
}

.oo2-section::before{
	content:"";
	position:absolute;
	inset:-5%;
	z-index:0;
	pointer-events:none;
	background:
		radial-gradient(ellipse 40% 46% at 20% 30%, rgba(139,31,42,.24) 0%, transparent 65%),
		radial-gradient(ellipse 36% 40% at 85% 70%, rgba(143,188,165,.12) 0%, transparent 68%);
	animation:oo2-mesh 28s ease-in-out infinite alternate;
	will-change:transform;
}
@keyframes oo2-mesh{
	0%   { transform: translate(0%, 0%) scale(1); }
	50%  { transform: translate(-1%, 1.2%) scale(1.03); }
	100% { transform: translate(1.5%, -.8%) scale(1.05); }
}

.oo2-section__inner{
	position:relative;
	z-index:1;
	max-width:1320px;
	margin:0 auto;
	padding:0 44px;
}

.oo2-grid{
	display:grid;
	grid-template-columns:1fr 1.2fr;
	gap:80px;
	align-items:start;
}

/* ─── Left column ─── */
.oo2-head{max-width:520px}

.oo2-eyebrow{
	display:inline-flex;
	align-items:center;
	gap:12px;
	font-size:10.5px;
	letter-spacing:.3em;
	text-transform:uppercase;
	color:rgba(245,239,232,.55);
	font-weight:500;
	margin:0 0 24px;
	font-family:inherit;
}
.oo2-eyebrow::before{
	content:"";
	width:24px;
	height:1px;
	background:rgba(245,239,232,.35);
	display:inline-block;
}

.oo2-title{
	font-family:'Fraunces','Times New Roman',serif;
	font-weight:300;
	font-size:42px;
	line-height:.98;
	letter-spacing:-.025em;
	color:#FFFFFF;
	margin:0 0 24px;
	padding:0;
}
@media (min-width:1024px){.oo2-title{font-size:56px}}
@media (min-width:1400px){.oo2-title{font-size:66px}}

.oo2-title b{color:#8FBCA5;font-weight:300}

.oo2-lede{
	font-size:16px;
	line-height:1.55;
	color:rgba(245,239,232,.72);
	letter-spacing:.005em;
	max-width:440px;
	margin:0;
	padding:0;
	font-family:inherit;
}

/* ─── Form card ─── */
.oo2-form{
	background:#FAF7F2;
	color:#2A2522;
	padding:42px 44px 38px;
	border-radius:6px;
	box-shadow:0 20px 60px rgba(0,0,0,.35);
	position:relative;
	margin:0;
	display:block;
	font-family:inherit;
}

.oo2-form::before{
	content:"Обратный звонок";
	position:absolute;
	top:-12px;
	left:38px;
	background:#8B1F2A;
	color:#FFFFFF;
	padding:6px 14px;
	border-radius:3px;
	font-size:10px;
	letter-spacing:.24em;
	text-transform:uppercase;
	font-weight:600;
	white-space:nowrap;
	font-family:inherit;
}

.oo2-form__row{
	display:grid;
	grid-template-columns:1fr 1fr auto;
	gap:14px;
	align-items:end;
	margin:0 0 22px;
}

.oo2-field{
	position:relative;
	display:flex;
	flex-direction:column;
	gap:6px;
	margin:0;
	padding:0;
}
.oo2-field__label{
	display:block;
	font-size:10.5px;
	letter-spacing:.2em;
	text-transform:uppercase;
	color:#8A847E;
	font-weight:600;
	margin:0;
	padding:0;
	font-family:inherit;
}

.oo2-section .oo2-form .oo2-field__input{
	display:block;
	width:100%;
	height:auto;
	padding:14px 2px 10px;
	margin:0;
	background:#FAF7F2 !important;
	background-color:#FAF7F2 !important;
	border:none;
	border-bottom:1.5px solid #E8E2D9;
	border-radius:0;
	box-shadow:none;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
	font-size:16px;
	font-weight:500;
	color:#2A2522 !important;
	letter-spacing:.005em;
	line-height:1.2;
	transition:border-color .25s;
	outline:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
}
.oo2-section .oo2-form .oo2-field__input::placeholder{
	color:#8A847E;
	opacity:1;
}
.oo2-section .oo2-form .oo2-field__input:hover{
	border-bottom-color:#BFB29A;
}
.oo2-section .oo2-form .oo2-field__input:focus{
	border-bottom-color:#8B1F2A;
	background:#FAF7F2 !important;
	color:#2A2522 !important;
	outline:none;
	box-shadow:none;
}

.oo2-section .oo2-form .oo2-form__submit{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:14px 26px;
	margin:0;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
	font-size:13px;
	font-weight:500;
	letter-spacing:.01em;
	line-height:1.2;
	background:#8B1F2A !important;
	background-color:#8B1F2A !important;
	color:#FFFFFF !important;
	border:1px solid #8B1F2A;
	border-radius:100px;
	cursor:pointer;
	white-space:nowrap;
	text-decoration:none;
	box-shadow:0 1px 0 rgba(110,22,33,.3),0 10px 24px rgba(139,31,42,.25);
	transition:all .25s;
	-webkit-appearance:none;
	appearance:none;
	height:auto;
	text-transform:none;
	min-width:auto;
}
.oo2-section .oo2-form .oo2-form__submit:hover,
.oo2-section .oo2-form .oo2-form__submit:focus{
	background:#6E1621 !important;
	background-color:#6E1621 !important;
	border-color:#6E1621;
	color:#FFFFFF !important;
	transform:translateY(-1px);
	box-shadow:0 1px 0 rgba(110,22,33,.3),0 12px 28px rgba(139,31,42,.35);
	outline:none;
}

/* ──────────────────────────────────────────────────────────
   CHECKBOXES — checkmark as SVG background-image on input.
   This works on <input> reliably (::before/::after don't).
────────────────────────────────────────────────────────── */
.oo2-form__checks{
	display:flex;
	flex-direction:column;
	gap:14px;
	padding:22px 0 0;
	margin:0;
	border-top:1px dashed #E8E2D9;
}

.oo2-check{
	display:flex;
	align-items:flex-start;
	gap:12px;
	margin:0;
	padding:0;
	cursor:pointer;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
	font-size:12.5px;
	font-weight:400;
	color:#4A4440;
	line-height:1.5;
	letter-spacing:0;
	text-transform:none;
	user-select:none;
	-webkit-user-select:none;
}

/* The checkbox itself — visible, native, styled in place.
   Unchecked: white box, grey border.
   Checked:   wine box with white SVG checkmark as background-image. */
.oo2-section .oo2-form .oo2-check__box{
	-webkit-appearance:none !important;
	-moz-appearance:none !important;
	appearance:none !important;
	width:20px !important;
	height:20px !important;
	min-width:20px;
	min-height:20px;
	max-width:20px;
	max-height:20px;
	margin:0 !important;
	padding:0 !important;
	flex-shrink:0;
	border:1.5px solid #CFC7BC !important;
	border-radius:3px !important;
	background-image:none !important;
	background-repeat:no-repeat !important;
	background-position:center !important;
	background-size:12px 12px !important;
	cursor:pointer;
	display:inline-block;
	vertical-align:top;
	box-shadow:none;
	outline:none;
	float:none;
	opacity:1 !important;
	visibility:visible !important;
	pointer-events:auto !important;
	transition:background-color .2s, border-color .2s;
	-webkit-print-color-adjust:exact;
	print-color-adjust:exact;
}
.oo2-section .oo2-form .oo2-check__box:hover{
	border-color:#8B1F2A !important;
}

/* When checked: WINE background + WHITE checkmark via inline SVG.
   The SVG is white (stroke="%23ffffff") on transparent — sits on top
   of the wine background fill, giving the visible white checkmark. */
.oo2-section .oo2-form .oo2-check__box:checked{
	background-color:#8B1F2A !important;
	background:#8B1F2A url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='3,8 7,12 13,4'/></svg>") center/12px 12px no-repeat !important;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='3,8 7,12 13,4'/></svg>") !important;
	border-color:#8B1F2A !important;
}

.oo2-section .oo2-form .oo2-check__box:focus,
.oo2-section .oo2-form .oo2-check__box:focus-visible{
	outline:none;
	box-shadow:0 0 0 3px rgba(139,31,42,.2);
}

.oo2-check__text{
	display:block;
	flex:1;
	min-width:0;
	color:#4A4440;
	cursor:pointer;
	margin-top:1px;
}
.oo2-check__text b{
	font-weight:600;
	color:#2A2522;
}
.oo2-check__text a{
	color:#8B1F2A;
	text-decoration:underline;
	text-underline-offset:2px;
	transition:color .15s;
}
.oo2-check__text a:hover{
	color:#6E1621;
}

/* Invalid state */
.oo2-field.is-invalid .oo2-field__input{
	border-bottom-color:#B8746B !important;
}
.oo2-field.is-invalid .oo2-field__label{
	color:#B8746B;
}

/* ─── Reassure row ─── */
.oo2-reassure{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:32px 40px;
	margin:56px 0 0;
	padding:32px 0 0;
	border-top:1px solid rgba(245,239,232,.12);
}
.oo2-reassure__item{
	display:flex;
	align-items:flex-start;
	gap:14px;
	font-size:13.5px;
	color:rgba(245,239,232,.78);
	line-height:1.55;
	margin:0;
	padding:0;
	font-family:inherit;
}
.oo2-reassure__icon{
	width:18px;
	height:18px;
	flex-shrink:0;
	color:#8FBCA5;
	margin-top:1px;
}
.oo2-reassure__text{display:block}
.oo2-reassure__text b{
	color:#FFFFFF;
	font-weight:600;
	display:block;
	margin-bottom:4px;
	font-size:14px;
	letter-spacing:-.005em;
}
.jq-checkbox.checked {
    background-color: #8B1F2A !important;
    border-color: #8B1F2A !important;
}
/* ─── Responsive ─── */
@media (max-width:1024px){
	.oo2-grid{gap:48px;grid-template-columns:1fr 1fr}
	.oo2-reassure{gap:24px 32px}
}
@media (max-width:860px){
	.oo2-section{padding:80px 0 90px}
	.oo2-section__inner{padding:0 22px}
	.oo2-grid{grid-template-columns:1fr;gap:40px}
	.oo2-lede{max-width:none}
	.oo2-reassure{
		grid-template-columns:1fr;
		gap:18px;
		margin-top:40px;
		padding-top:28px;
	}
	.oo2-form{padding:36px 28px 30px}
	.oo2-form::before{left:24px}
	.oo2-form__row{grid-template-columns:1fr;gap:18px}
}
@media (max-width:480px){
	.oo2-section__inner{padding:0 16px}
	.oo2-form{padding:32px 22px 26px}
	.oo2-form::before{left:18px;font-size:9.5px;padding:5px 12px}
	.oo2-section .oo2-form .oo2-form__submit{width:100%}
}



/* ==========================================================================
   SIDEBAR ORDER FORM (v2 — sof- prefix, legacy-safe)

   • Все классы префикс `sof-` — без коллизий
   • Все цвета inline — без CSS-переменных
   • Компактная карточная версия: вертикальная одноколоночная форма,
     рассчитана на узкую сайдбарную колонку (260-340px)
   • Чекбоксы — SVG как background-image (надёжный паттерн)
   ========================================================================== */

.sof-section,
.sof-section *,
.sof-section *::before,
.sof-section *::after{
	box-sizing:border-box;
}

.sof-section{
	display:block;
	margin:0 0 24px;
	padding:0;
	background:transparent;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
	color:#2A2522;
}

/* ─── Card ─── */
.sof-card{
	position:relative;
	background:#FAF7F2;
	border:1px solid #E8E2D9;
	border-radius:6px;
	padding:32px 26px 26px;
	overflow:hidden;
	isolation:isolate;
}

/* Subtle wine corner accent for premium feel */
.sof-card::before{
	content:"";
	position:absolute;
	top:-30%;right:-20%;
	width:160px;height:160px;
	background:radial-gradient(circle,rgba(139,31,42,.08) 0%,transparent 70%);
	z-index:0;
	pointer-events:none;
}

.sof-card > *{position:relative;z-index:1}

/* Decorative label at top */
.sof-card__label{
	display:inline-block;
	background:#8B1F2A;
	color:#FFFFFF;
	padding:5px 12px;
	border-radius:3px;
	font-size:9.5px;
	letter-spacing:.22em;
	text-transform:uppercase;
	font-weight:600;
	font-family:inherit;
	margin:0 0 18px;
	white-space:nowrap;
}

.sof-card__head{margin:0 0 24px}

.sof-card__title{
	font-family:'Fraunces','Times New Roman',serif;
	font-weight:400;
	font-size:24px;
	line-height:1.15;
	letter-spacing:-.01em;
	color:#2A2522;
	margin:0 0 10px;
	padding:0;
}

.sof-card__desc{
	font-family:inherit;
	font-size:13px;
	line-height:1.55;
	color:#4A4440;
	letter-spacing:.005em;
	margin:0;
	padding:0;
}

/* ─── Form ─── */
.sof-form{
	display:flex;
	flex-direction:column;
	gap:16px;
	margin:0;
	padding:0;
}

/* Field */
.sof-field{
	position:relative;
	display:flex;
	flex-direction:column;
	gap:5px;
	margin:0;
	padding:0;
}
.sof-field__label{
	display:block;
	font-family:inherit;
	font-size:10px;
	letter-spacing:.2em;
	text-transform:uppercase;
	color:#8A847E;
	font-weight:600;
	margin:0;
	padding:0;
}

.sof-section .sof-form .sof-field__input{
	display:block;
	width:100%;
	height:auto;
	padding:11px 14px;
	margin:0;
	background:#FFFFFF !important;
	background-color:#FFFFFF !important;
	border:1px solid #E8E2D9 !important;
	border-radius:4px;
	box-shadow:none;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
	font-size:14.5px;
	font-weight:500;
	color:#2A2522 !important;
	letter-spacing:.005em;
	line-height:1.2;
	transition:border-color .25s,background-color .25s;
	outline:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
}
.sof-section .sof-form .sof-field__input::placeholder{
	color:#8A847E;
	opacity:1;
}
.sof-section .sof-form .sof-field__input:hover{
	border-color:#BFB29A !important;
}
.sof-section .sof-form .sof-field__input:focus{
	border-color:#8B1F2A !important;
	background:#FFFFFF !important;
	color:#2A2522 !important;
	outline:none;
	box-shadow:0 0 0 3px rgba(139,31,42,.08);
}

/* ─── Checkboxes — SVG background pattern ─── */
.sof-check{
	display:flex;
	align-items:flex-start;
	gap:10px;
	margin:2px 0;
	padding:0;
	cursor:pointer;
	font-family:inherit;
	font-size:11.5px;
	font-weight:400;
	color:#4A4440;
	line-height:1.5;
	letter-spacing:0;
	text-transform:none;
	user-select:none;
	-webkit-user-select:none;
}

.sof-section .sof-form .sof-check__box{
	-webkit-appearance:none !important;
	-moz-appearance:none !important;
	appearance:none !important;
	width:18px !important;
	height:18px !important;
	min-width:18px;
	min-height:18px;
	max-width:18px;
	max-height:18px;
	margin:0 !important;
	padding:0 !important;
	flex-shrink:0;
	border:1.5px solid #CFC7BC !important;
	border-radius:3px !important;
	background-repeat:no-repeat !important;
	background-position:center !important;
	background-size:11px 11px !important;
	cursor:pointer;
	display:inline-block;
	vertical-align:top;
	box-shadow:none;
	outline:none;
	float:none;
	opacity:1 !important;
	visibility:visible !important;
	pointer-events:auto !important;
	transition:background-color .2s,border-color .2s;
	-webkit-print-color-adjust:exact;
	print-color-adjust:exact;
	margin-top:1px !important;
}
.sof-section .sof-form .sof-check__box:hover{
	border-color:#8B1F2A !important;
}
.sof-section .sof-form .sof-check__box:checked{
	background-color:#8B1F2A !important;
	background:#8B1F2A url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='3,8 7,12 13,4'/></svg>") center/11px 11px no-repeat !important;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='3,8 7,12 13,4'/></svg>") !important;
	border-color:#8B1F2A !important;
}
.sof-section .sof-form .sof-check__box:focus,
.sof-section .sof-form .sof-check__box:focus-visible{
	outline:none;
	box-shadow:0 0 0 3px rgba(139,31,42,.2);
}

.sof-check__text{
	display:block;
	flex:1;
	min-width:0;
	color:#4A4440;
	cursor:pointer;
}
.sof-check__text b{
	font-weight:600;
	color:#2A2522;
}
.sof-check__text a{
	color:#8B1F2A;
	text-decoration:underline;
	text-underline-offset:2px;
	transition:color .15s;
}
.sof-check__text a:hover{
	color:#6E1621;
}

/* ─── Submit button ─── */
.sof-section .sof-form .sof-form__submit{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	width:100%;
	padding:14px 20px;
	margin:6px 0 0;
	font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
	font-size:13px;
	font-weight:500;
	letter-spacing:.04em;
	line-height:1.2;
	background:#8B1F2A !important;
	background-color:#8B1F2A !important;
	color:#FFFFFF !important;
	border:1px solid #8B1F2A;
	border-radius:100px;
	cursor:pointer;
	white-space:nowrap;
	text-decoration:none;
	box-shadow:0 1px 0 rgba(110,22,33,.3),0 8px 18px rgba(139,31,42,.18);
	transition:all .25s;
	-webkit-appearance:none;
	appearance:none;
	height:auto;
	text-transform:none;
	min-width:auto;
	float:none;
}
.sof-section .sof-form .sof-form__submit:hover,
.sof-section .sof-form .sof-form__submit:focus{
	background:#6E1621 !important;
	background-color:#6E1621 !important;
	border-color:#6E1621;
	color:#FFFFFF !important;
	transform:translateY(-1px);
	box-shadow:0 1px 0 rgba(110,22,33,.3),0 12px 24px rgba(139,31,42,.28);
	outline:none;
}
.sof-form__submit-arrow{
	width:13px;
	height:13px;
	flex-shrink:0;
	transition:transform .25s;
}
.sof-section .sof-form .sof-form__submit:hover .sof-form__submit-arrow{
	transform:translateX(3px);
}

/* ─── Hint under button ─── */
.sof-form__hint{
	display:flex;
	align-items:center;
	gap:8px;
	margin:8px 0 0;
	padding:0;
	font-family:inherit;
	font-size:11.5px;
	color:#4A4440;
	font-weight:500;
	letter-spacing:.005em;
	line-height:1.4;
	text-align:center;
	justify-content:center;
}
.sof-form__hint-icon{
	width:13px;
	height:13px;
	flex-shrink:0;
	color:#6FA287;
}

/* Invalid state hook */
.sof-field.is-invalid .sof-field__input{
	border-color:#B8746B !important;
}
.sof-field.is-invalid .sof-field__label{
	color:#B8746B;
}

/* ─── Responsive — sidebar typically gets narrower on tablet ─── */
@media (max-width:480px){
	.sof-card{padding:26px 20px 22px}
	.sof-card__title{font-size:21px}
	.sof-card__desc{font-size:12.5px}
	.sof-section .sof-form .sof-field__input{
		padding:10px 12px;
		font-size:14px;
	}
	.sof-section .sof-form .sof-form__submit{
		padding:13px 18px;
	}
}