/* ============================================================
   ТЕМА «ЯСЕНЬ» — СНТ «Котельщик»
   Все пользовательские стили дизайна.
   Префикс .snt-* предотвращает конфликты с ядром WordPress.
   ============================================================ */

/* --- Переменные цветов (дублируют theme.json для CSS-арта) --- */
:root {
	--snt-c-dark:      #1e4030;
	--snt-c-dark2:     #2a5a44;
	--snt-c-mid:       #3d8a5c;
	--snt-c-light-g:   #e8f4ed;
	--snt-c-bg:        #f6faf7;
	--snt-c-white:     #ffffff;
	--snt-c-border:    #c8ddd0;
	--snt-c-text:      #1a2820;
	--snt-c-text-mid:  #3a5048;
	--snt-c-text-soft: #6a857a;
	--snt-c-err:       #b73a2a;
	--snt-nav-h:       64px;
	--snt-r-sm: 4px; --snt-r-md: 8px; --snt-r-lg: 16px;
	--snt-sh-sm: 0 1px 4px rgba(30,64,48,.10);
	--snt-sh-md: 0 4px 16px rgba(30,64,48,.13);
	--snt-sh-lg: 0 8px 32px rgba(30,64,48,.18);
}

/* --- База: фон страницы и плавный скролл --- */
html { scroll-behavior: smooth; }
body { background: var(--snt-c-bg); color: var(--snt-c-text); }

/* Контентный контейнер */
.snt-wrap, .snt-header-inner, .snt-footer-inner {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

/* ============================================================
   ШАПКА И МЕНЮ
   ============================================================ */
.snt-header {
	position: fixed; top: 0; left: 0; right: 0;
	height: var(--snt-nav-h);
	background: var(--snt-c-dark);
	z-index: 200;
	box-shadow: 0 2px 10px rgba(0,0,0,.25);
	color: #fff;
}
/* В редакторе сайта position:fixed мешает — заменяем на sticky */
.editor-styles-wrapper .snt-header,
.is-root-container .snt-header {
	position: sticky;
}

.snt-header-inner {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	gap: 1rem;
	padding: 0 1.5rem;
}

/* Сдвиг основного контента под фиксированную шапку */
body > .wp-site-blocks { padding-top: var(--snt-nav-h); }

/* Бренд */
.snt-brand {
	display: flex; align-items: center; gap: .65rem;
	text-decoration: none; color: #fff; flex-shrink: 0;
}
.snt-brand:hover { color: #fff; }
.snt-brand-icon {
	width: 40px; height: 40px;
	background: var(--snt-c-mid);
	border-radius: var(--snt-r-md);
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0; color: #fff;
}
.snt-brand-text { line-height: 1.2; }
.snt-brand-text strong { display: block; font-size: .95rem; font-weight: 700; }
.snt-brand-text span { font-size: .68rem; opacity: .7; }

/* Контейнер части шаблона menu */
.snt-menu-wrap { display: flex; align-items: center; flex: 1 1 auto; justify-content: flex-end; gap: 1rem; }
.snt-menu-host {
	display: flex; align-items: center; justify-content: flex-end;
	gap: 1rem; flex: 1 1 auto;
}

/* Десктопная навигация */
.snt-nav { display: flex; align-items: center; gap: .15rem; }
.snt-nav-btn {
	display: flex; align-items: center; gap: .3rem;
	padding: .45rem .8rem;
	border-radius: var(--snt-r-sm);
	color: rgba(255,255,255,.85) !important;
	font-size: .875rem; font-weight: 500;
	background: none; border: none;
	transition: background .2s, color .2s;
	white-space: nowrap; cursor: pointer;
	text-decoration: none;
	font-family: inherit;
}
.snt-nav-btn:hover { background: rgba(255,255,255,.12); color: #fff !important; }
.snt-nav-btn.snt-active { background: var(--snt-c-mid); color: #fff !important; }

/* Дропдаун «Инфо» */
.snt-dropdown { position: relative; }
.snt-dd-panel {
	position: absolute; top: calc(100% + .6rem); left: 0;
	background: var(--snt-c-white);
	border: 1px solid var(--snt-c-border);
	border-radius: var(--snt-r-md);
	box-shadow: var(--snt-sh-lg);
	min-width: 200px; overflow: hidden;
	opacity: 0; visibility: hidden; transform: translateY(-6px);
	transition: all .2s; z-index: 10;
}
.snt-dropdown.snt-open .snt-dd-panel {
	opacity: 1; visibility: visible; transform: translateY(0);
}
.snt-dd-item {
	display: flex; align-items: center; gap: .5rem;
	padding: .6rem 1rem; font-size: .875rem;
	color: var(--snt-c-text) !important;
	background: none; border: none; width: 100%; text-align: left;
	cursor: pointer; transition: background .15s; white-space: nowrap;
	text-decoration: none;
}
.snt-dd-item:hover { background: var(--snt-c-light-g); color: var(--snt-c-mid) !important; }
.snt-dd-item.snt-active { color: var(--snt-c-mid) !important; font-weight: 600; }
.snt-chev { transition: transform .22s; }
.snt-dropdown.snt-open .snt-chev { transform: rotate(180deg); }

/* Кнопка «Вход» */
.snt-right { display: flex; align-items: center; gap: .5rem; }
.snt-btn-login {
	display: flex; align-items: center; gap: .35rem;
	padding: .4rem .9rem;
	border-radius: var(--snt-r-sm);
	border: 1.5px solid rgba(255,255,255,.45);
	color: #fff !important;
	font-size: .85rem; font-weight: 600;
	background: transparent;
	transition: all .2s; white-space: nowrap; cursor: pointer;
	font-family: inherit;
}
.snt-btn-login:hover { background: rgba(255,255,255,.15); border-color: #fff; }

/* Бургер */
.snt-burger {
	display: none; flex-direction: column; gap: 5px;
	width: 36px; height: 36px;
	background: none; border: none; padding: 5px;
	border-radius: var(--snt-r-sm); cursor: pointer;
}
.snt-burger span {
	display: block; height: 2px;
	background: #fff; border-radius: 2px;
	transition: all .28s;
}
.snt-burger.snt-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.snt-burger.snt-open span:nth-child(2) { opacity: 0; }
.snt-burger.snt-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Мобильное меню */
.snt-mob {
	display: none;
	position: fixed; top: var(--snt-nav-h); left: 0; right: 0;
	background: var(--snt-c-dark); z-index: 190;
	border-top: 1px solid rgba(255,255,255,.1);
	max-height: calc(100vh - var(--snt-nav-h));
	overflow-y: auto;
	padding: .75rem;
}
.snt-mob.snt-open { display: block; }
.snt-mob-btn {
	display: flex; align-items: center; gap: .5rem;
	padding: .65rem .75rem;
	border-radius: var(--snt-r-sm);
	color: rgba(255,255,255,.85) !important;
	font-size: .9rem; font-weight: 500;
	background: none; border: none; width: 100%; text-align: left;
	cursor: pointer; transition: background .15s;
	text-decoration: none;
	font-family: inherit;
}
.snt-mob-btn:hover, .snt-mob-btn.snt-active {
	background: rgba(255,255,255,.12); color: #fff !important;
}
.snt-mob-btn.snt-active { background: var(--snt-c-mid); }
.snt-mob-sub {
	display: flex; align-items: center; justify-content: space-between;
	padding: .65rem .75rem;
	color: rgba(255,255,255,.85);
	font-size: .9rem; font-weight: 500;
	background: none; border: none; width: 100%;
	border-radius: var(--snt-r-sm);
	cursor: pointer; transition: background .15s;
	font-family: inherit;
}
.snt-mob-sub > span { display: flex; align-items: center; gap: .45rem; }
.snt-mob-sub:hover { background: rgba(255,255,255,.1); color: #fff; }
.snt-mob-sub.snt-open .snt-chev { transform: rotate(180deg); }
.snt-mob-sub-items { display: none; padding-left: 1.25rem; }
.snt-mob-sub-items.snt-open { display: block; }

/* ============================================================
   МОДАЛЬНОЕ ОКНО ВХОДА
   ============================================================ */
.snt-overlay {
	display: none;
	position: fixed; inset: 0;
	background: rgba(0,0,0,.52);
	z-index: 300;
	align-items: center; justify-content: center;
	padding: 1rem;
}
.snt-overlay.snt-on { display: flex; }
.snt-modal {
	background: var(--snt-c-white);
	border-radius: var(--snt-r-lg);
	width: min(430px, 94vw);
	padding: 2rem;
	box-shadow: var(--snt-sh-lg);
	position: relative;
}
.snt-modal-x {
	position: absolute; top: 1rem; right: 1rem;
	background: none; border: none; color: var(--snt-c-text-soft);
	cursor: pointer; padding: .25rem;
	border-radius: var(--snt-r-sm);
	transition: all .15s;
}
.snt-modal-x:hover { color: var(--snt-c-dark); background: var(--snt-c-light-g); }
.snt-modal h2 {
	font-size: 1.25rem; font-weight: 700;
	color: var(--snt-c-dark); margin: 0 0 .2rem;
}
.snt-modal-sub {
	font-size: .82rem; color: var(--snt-c-text-soft);
	margin-bottom: 1.4rem;
}
.snt-auth-tabs {
	display: flex; gap: .2rem; padding: .2rem;
	background: var(--snt-c-light-g);
	border-radius: var(--snt-r-md);
	margin-bottom: 1.4rem;
}
.snt-atab {
	flex: 1; padding: .48rem;
	border-radius: var(--snt-r-sm);
	font-size: .85rem; font-weight: 600;
	border: none; background: none; cursor: pointer;
	color: var(--snt-c-text-soft);
	transition: all .2s;
	font-family: inherit;
}
.snt-atab.snt-atab-on {
	background: var(--snt-c-white); color: var(--snt-c-dark);
	box-shadow: var(--snt-sh-sm);
}
.snt-aform { display: none; }
.snt-aform.snt-aform-on { display: block; }
.snt-modal-foot { font-size: .8rem; text-align: center; margin-top: .75rem; }
.snt-modal-foot a { color: var(--snt-c-mid); }
.snt-modal-tg-hint {
	color: var(--snt-c-text-soft); font-size: .85rem;
	text-align: center; margin-bottom: 1rem;
}
.snt-tg-btn {
	display: flex; align-items: center; justify-content: center; gap: .5rem;
	width: 100%; padding: .68rem;
	background: #229ED9; color: #fff !important;
	border: none; border-radius: var(--snt-r-md);
	font-size: .9rem; font-weight: 600;
	cursor: pointer; transition: background .2s;
	text-decoration: none;
}
.snt-tg-btn:hover { background: #1a8bbf; color: #fff !important; }
.snt-or-div {
	text-align: center; color: var(--snt-c-text-soft);
	font-size: .78rem; margin: .9rem 0;
	position: relative;
}
.snt-or-div::before, .snt-or-div::after {
	content: ''; position: absolute; top: 50%;
	width: calc(50% - 1.8rem); height: 1px;
	background: var(--snt-c-border);
}
.snt-or-div::before { left: 0; }
.snt-or-div::after { right: 0; }

/* Поля и кнопки внутри модалки */
.snt-form-g { margin-bottom: .9rem; }
.snt-form-l {
	display: block; font-size: .82rem; font-weight: 600;
	color: var(--snt-c-dark); margin-bottom: .3rem;
}
.snt-form-c {
	width: 100%; padding: .58rem .85rem;
	border: 1.5px solid var(--snt-c-border);
	border-radius: var(--snt-r-md);
	font-size: .875rem;
	background: var(--snt-c-white);
	color: var(--snt-c-text);
	transition: border-color .2s;
	font-family: inherit;
}
.snt-form-c:focus { outline: none; border-color: var(--snt-c-mid); }
.snt-form-c::placeholder { color: var(--snt-c-text-soft); }
.snt-btn {
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .58rem 1.2rem;
	border-radius: var(--snt-r-md);
	font-size: .875rem; font-weight: 600;
	border: none; cursor: pointer; transition: all .2s;
	font-family: inherit;
}
.snt-btn-p { background: var(--snt-c-mid); color: #fff !important; }
.snt-btn-p:hover { background: var(--snt-c-dark); color: #fff !important; }
.snt-btn-full { width: 100%; justify-content: center; }

/* ============================================================
   ГЕРОЙ — CSS-АРТ «ДАЧНЫЙ ДОМИК»
   ============================================================ */
.snt-hero {
	position: relative;
	min-height: 440px;
	overflow: hidden;
	display: flex; align-items: flex-start;
	padding-top: 3.5rem;
	margin-top: 0 !important;
}
/* Небо */
.snt-hero::before {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(165deg, #c8e8d6 0%, #a0cfb8 40%, #78b49a 100%);
	z-index: 0;
}
.snt-scene {
	position: absolute; inset: 0; z-index: 1;
	pointer-events: none;
}

/* Солнце с двойным сиянием */
.snt-sun {
	position: absolute; top: 48px; right: 14%;
	width: 68px; height: 68px;
	border-radius: 50%;
	background: radial-gradient(circle at 40% 40%, #ffe87a, #f5c83a);
	box-shadow: 0 0 0 14px rgba(255,232,100,.18), 0 0 0 30px rgba(255,232,100,.09);
}

/* Облака */
.snt-cloud { position: absolute; }
.snt-cloud-body {
	background: rgba(255,255,255,.72);
	border-radius: 50px; position: relative;
}
.snt-cloud-body::before, .snt-cloud-body::after {
	content: ''; position: absolute;
	background: rgba(255,255,255,.72); border-radius: 50%;
}
.snt-cloud-1 { top: 70px; left: 8%; }
.snt-cloud-1 .snt-cloud-body { width: 110px; height: 30px; }
.snt-cloud-1 .snt-cloud-body::before { width: 52px; height: 46px; top: -20px; left: 14px; }
.snt-cloud-1 .snt-cloud-body::after  { width: 38px; height: 36px; top: -14px; left: 50px; }
.snt-cloud-2 { top: 100px; right: 32%; }
.snt-cloud-2 .snt-cloud-body { width: 90px; height: 26px; }
.snt-cloud-2 .snt-cloud-body::before { width: 42px; height: 38px; top: -16px; left: 12px; }
.snt-cloud-2 .snt-cloud-body::after  { width: 32px; height: 30px; top: -12px; left: 42px; }

/* Холмы */
.snt-hill {
	position: absolute; border-radius: 50% 50% 0 0;
	bottom: -10px;
}
.snt-hill-back  { width: 115%; left: -8%; height: 175px; background: #2d6545; }
.snt-hill-front { width: 80%;  right: -5%; height: 130px; background: #38765a; }

/* Ёлка слева от домика */
.snt-tree { position: absolute; display: flex; flex-direction: column; align-items: center; }
.snt-tree-trunk {
	width: 6px; height: 14px;
	background: #4a2c12; border-radius: 2px;
}
.snt-tree-l {
	width: 0; height: 0; border-style: solid;
	margin-top: -6px;
}
.snt-tree-l1 {
	border-width: 0 16px 26px 16px;
	border-color: transparent transparent #1c3c22 transparent;
}
.snt-tree-l2 {
	border-width: 0 20px 32px 20px;
	border-color: transparent transparent #214828 transparent;
	margin-top: -12px;
}
.snt-tree-l3 {
	border-width: 0 24px 40px 24px;
	border-color: transparent transparent #264e2e transparent;
	margin-top: -16px;
}
.snt-tree-1 { right: 30%; bottom: 110px; }

/* Дачный домик */
.snt-cottage {
	position: absolute; right: 14%; bottom: 95px;
	width: 160px; height: 130px;
}
.snt-cottage-roof {
	position: absolute; top: 0; left: 50%;
	width: 0; height: 0;
	border-style: solid;
	border-width: 0 90px 60px 90px;
	border-color: transparent transparent #8b3a2a transparent;
	transform: translateX(-50%);
	filter: drop-shadow(0 1px 0 #6b2a1d);
}
.snt-cottage-chimney {
	position: absolute; top: 6px; right: 30px;
	width: 14px; height: 30px;
	background: #6b2a1d;
	border-radius: 2px 2px 0 0;
	box-shadow: inset 0 -3px 0 #5a2418;
	z-index: 1;
}
.snt-cottage-smoke {
	position: absolute; right: 32px;
	background: rgba(255,255,255,.78);
	border-radius: 50%;
}
.snt-smoke-1 { top: -2px;  width: 14px; height: 14px; }
.snt-smoke-2 { top: -16px; right: 22px; width: 18px; height: 18px; }
.snt-smoke-3 { top: -32px; right: 14px; width: 22px; height: 22px; }
.snt-cottage-wall {
	position: absolute; top: 56px; left: 10px; right: 10px; bottom: 0;
	background: #f0e3c8;
	border: 2px solid #c4a070;
	border-radius: 2px 2px 4px 4px;
}
.snt-cottage-window {
	position: absolute; top: 14px; left: 16px;
	width: 32px; height: 32px;
	background: #b6dff2;
	border: 2px solid #6b2a1d;
	border-radius: 2px;
	overflow: hidden;
}
.snt-cottage-window .snt-win-h {
	position: absolute; top: 50%; left: 0; right: 0;
	height: 2px; background: #6b2a1d; transform: translateY(-50%);
}
.snt-cottage-window .snt-win-v {
	position: absolute; left: 50%; top: 0; bottom: 0;
	width: 2px; background: #6b2a1d; transform: translateX(-50%);
}
.snt-cottage-door {
	position: absolute; bottom: 0; right: 18px;
	width: 28px; height: 50px;
	background: #6b3a1d;
	border: 2px solid #4a2812;
	border-radius: 14px 14px 0 0;
	border-bottom: none;
}
.snt-cottage-door .snt-door-knob {
	position: absolute; top: 50%; left: 4px;
	width: 4px; height: 4px;
	background: #ffd24a; border-radius: 50%;
}

/* Кустик с цветком справа от домика */
.snt-bush {
	position: absolute; right: 6%; bottom: 80px;
	width: 60px; height: 60px;
}
.snt-bush-leaf {
	position: absolute; bottom: 0;
	background: #2d6545;
	border-radius: 50% 50% 50% 0;
	transform-origin: bottom center;
}
.snt-bush-l1 { left: 10px; width: 14px; height: 24px; transform: rotate(-25deg); }
.snt-bush-l2 { left: 22px; width: 16px; height: 28px; transform: rotate(0); background: #38765a; }
.snt-bush-l3 { left: 36px; width: 14px; height: 22px; transform: rotate(20deg); }
.snt-bush-flower {
	position: absolute; top: 4px; left: 22px;
	width: 14px; height: 14px;
	background: #ffd24a;
	border-radius: 50%;
	box-shadow: 0 0 0 3px #ffb830;
}

/* Забор перед домиком */
.snt-fence {
	position: absolute; bottom: 70px;
	left: 28%; right: 28%; height: 28px;
}
.snt-fence-rail {
	position: absolute; left: 0; right: 0;
	height: 4px; background: #c4a070; border-radius: 2px;
}
.snt-fence-rail-top { top: 6px; }
.snt-fence-rail-bot { top: 16px; }
.snt-fence-post {
	position: absolute; top: 0;
	width: 5px; height: 26px;
	background: #c4a070; border-radius: 2px 2px 0 0;
}

/* Текст героя поверх сцены */
.snt-hero-text {
	position: relative; z-index: 5;
	padding: 0 2rem;
	max-width: 520px;
}
.snt-hero-title {
	font-size: clamp(1.5rem, 3.5vw, 2.3rem) !important;
	font-weight: 800 !important;
	color: #fff !important;
	text-shadow: 0 2px 10px rgba(0,0,0,.3);
	line-height: 1.2 !important;
	margin: 0 0 .7rem !important;
}
.snt-hero-sub {
	font-size: .95rem !important;
	color: rgba(255,255,255,.92) !important;
	text-shadow: 0 1px 4px rgba(0,0,0,.2);
	margin: 0 0 1.1rem !important;
}
.snt-hero-actions { margin-top: .5rem; }
.snt-hero-cta .wp-block-button__link {
	background: #fff !important;
	color: var(--snt-c-dark) !important;
	border-radius: var(--snt-r-md) !important;
	font-weight: 700 !important;
	font-size: .9rem !important;
	padding: .6rem 1.3rem !important;
	box-shadow: var(--snt-sh-md);
	transition: all .2s;
	border: none !important;
}
.snt-hero-cta .wp-block-button__link:hover {
	background: var(--snt-c-dark) !important;
	color: #fff !important;
	transform: translateY(-2px);
}

/* ============================================================
   СЕКЦИИ И КОМПОНЕНТЫ КОНТЕНТА
   ============================================================ */
.snt-section { padding: 3rem 0; }
.snt-section-head { margin-bottom: 1.75rem; }
.snt-section-head h1, .snt-section-head h2 {
	font-size: 1.55rem !important;
	font-weight: 700 !important;
	color: var(--snt-c-dark) !important;
	padding-bottom: .45rem;
	border-bottom: 2.5px solid var(--snt-c-mid);
	display: inline-block;
	margin: 0 !important;
}
.snt-sub-head {
	font-size: 1.1rem !important;
	font-weight: 600 !important;
	color: var(--snt-c-dark2) !important;
	margin: 1.75rem 0 .75rem !important;
}

/* Карточки (быстрые ссылки на главной) */
.snt-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; }
.snt-card {
	background: var(--snt-c-white);
	border: 1px solid var(--snt-c-border);
	border-radius: var(--snt-r-lg);
	padding: 1.5rem;
	box-shadow: var(--snt-sh-sm);
	transition: transform .2s, box-shadow .2s;
}
.snt-card:hover { transform: translateY(-3px); box-shadow: var(--snt-sh-md); }
.snt-card-ic {
	width: 44px; height: 44px;
	background: var(--snt-c-light-g);
	border-radius: var(--snt-r-md);
	display: flex; align-items: center; justify-content: center;
	color: var(--snt-c-mid); margin-bottom: .85rem;
}
.snt-card h3 {
	font-size: .95rem !important; font-weight: 700 !important;
	color: var(--snt-c-dark) !important;
	margin: 0 0 .35rem !important;
}
.snt-card p {
	font-size: .85rem !important;
	color: var(--snt-c-text-soft) !important;
	margin: 0 !important;
}

/* ============================================================
   ТАБЛИЦЫ — для core/table с классом .snt-tbl
   Высокая специфичность для перекрытия дефолтов WP.
   ============================================================ */
.snt-tbl,
figure.wp-block-table.snt-tbl {
	overflow-x: auto;
	margin: 0 0 1.5rem !important;
	border-radius: var(--snt-r-md);
	border: 1px solid var(--snt-c-border);
	background: var(--snt-c-white);
	box-shadow: var(--snt-sh-sm);
}
.snt-tbl table,
figure.wp-block-table.snt-tbl table {
	width: 100%;
	border-collapse: collapse;
	font-size: .875rem;
	border: 0;
	margin: 0;
	background: transparent;
}
.snt-tbl thead th,
figure.wp-block-table.snt-tbl thead th {
	background: var(--snt-c-dark);
	color: #fff;
	padding: .7rem 1rem;
	text-align: left;
	font-weight: 600;
	font-size: .82rem;
	border: 0;
}
.snt-tbl tbody td,
figure.wp-block-table.snt-tbl tbody td {
	padding: .65rem 1rem;
	border-top: 0;
	border-right: 0;
	border-left: 0;
	border-bottom: 1px solid var(--snt-c-border);
	color: var(--snt-c-text-mid);
	background: transparent;
}
.snt-tbl tbody tr:last-child td,
figure.wp-block-table.snt-tbl tbody tr:last-child td {
	border-bottom: 0;
}
.snt-tbl tbody tr:hover td,
figure.wp-block-table.snt-tbl tbody tr:hover td {
	background: var(--snt-c-light-g);
}

/* ============================================================
   АККОРДИОН (core/details)
   ============================================================ */
.snt-acc .wp-block-details {
	background: var(--snt-c-white);
	border: 1px solid var(--snt-c-border);
	border-radius: var(--snt-r-lg);
	margin-bottom: .5rem;
	overflow: hidden;
}
.snt-acc .wp-block-details summary {
	display: flex; align-items: center; justify-content: space-between;
	padding: 1rem 1.25rem;
	background: var(--snt-c-white);
	font-size: .9rem; font-weight: 600;
	color: var(--snt-c-dark);
	cursor: pointer;
	transition: background .15s;
	list-style: none;
}
.snt-acc .wp-block-details summary::-webkit-details-marker { display: none; }
.snt-acc .wp-block-details summary::after {
	content: '';
	width: 10px; height: 10px;
	border-right: 2px solid var(--snt-c-mid);
	border-bottom: 2px solid var(--snt-c-mid);
	transform: rotate(45deg);
	transition: transform .22s;
}
.snt-acc .wp-block-details[open] > summary {
	background: var(--snt-c-light-g);
}
.snt-acc .wp-block-details[open] > summary::after {
	transform: rotate(-135deg);
}
.snt-acc .wp-block-details summary:hover { background: var(--snt-c-light-g); }
.snt-acc .wp-block-details > p,
.snt-acc .wp-block-details > .wp-block-paragraph {
	padding: 1.25rem;
	border-top: 1px solid var(--snt-c-border);
	font-size: .875rem;
	color: var(--snt-c-text-mid);
	line-height: 1.75;
	margin: 0;
}

/* ============================================================
   НОВОСТИ
   ============================================================ */
.snt-news-list {
	display: flex !important;
	flex-direction: column !important;
	gap: .9rem !important;
}
.snt-news-item {
	background: var(--snt-c-white);
	border: 1px solid var(--snt-c-border);
	border-radius: var(--snt-r-lg);
	padding: 1.2rem 1.4rem;
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 1rem;
	transition: box-shadow .2s;
	margin: 0 !important;
}
.snt-news-item:hover { box-shadow: var(--snt-sh-md); }
.snt-news-dt {
	text-align: center;
	background: var(--snt-c-light-g);
	border-radius: var(--snt-r-md);
	padding: .45rem .3rem;
	align-self: start;
}
.snt-news-dt .snt-day {
	display: block;
	font-size: 1.5rem; font-weight: 800;
	color: var(--snt-c-mid); line-height: 1;
}
.snt-news-dt .snt-mon {
	display: block;
	font-size: .7rem; text-transform: uppercase;
	color: var(--snt-c-text-soft); margin-top: .15rem;
}
.snt-news-ttl {
	font-weight: 700; color: var(--snt-c-dark);
	margin: 0 0 .3rem; font-size: .95rem;
}
.snt-news-ex {
	font-size: .85rem; color: var(--snt-c-text-soft);
	margin: 0;
}
.snt-news-tag {
	display: inline-block;
	padding: .2rem .6rem;
	background: var(--snt-c-light-g);
	color: var(--snt-c-mid);
	border-radius: 20px;
	font-size: .72rem; font-weight: 600;
	margin-top: .45rem;
}

/* ============================================================
   ТИПОГРАФИКА УТИЛИТ
   ============================================================ */
.snt-muted {
	color: var(--snt-c-text-soft) !important;
	font-size: .82rem !important;
	margin: 0 0 1rem !important;
}

/* QR-блок реквизитов */
.snt-req-grid { gap: 2rem !important; }
.snt-qr-box {
	background: var(--snt-c-white);
	border: 1px solid var(--snt-c-border);
	border-radius: var(--snt-r-lg);
	padding: 1.25rem !important;
	text-align: center !important;
}
.snt-qr-ph {
	width: 128px; height: 128px;
	background: var(--snt-c-light-g);
	border: 2px dashed var(--snt-c-border);
	border-radius: var(--snt-r-md);
	display: flex; flex-direction: column;
	align-items: center; justify-content: center;
	gap: .3rem;
	margin: 0 auto .6rem;
	color: var(--snt-c-text-soft);
	font-size: .7rem;
}

/* ============================================================
   ПОДВАЛ
   ============================================================ */
.snt-footer {
	background: var(--snt-c-dark);
	color: rgba(255,255,255,.78);
	padding: 2.5rem 0 1.25rem;
	margin-top: 3.5rem;
}
.snt-footer-inner {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 1.5rem;
}
.snt-footer-g {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 2rem;
	margin-bottom: 1.75rem;
}
.snt-f-col { min-width: 0; }
.snt-f-brand {
	color: #fff;
	font-size: .95rem;
	font-weight: 700;
	margin-bottom: .5rem;
}
.snt-f-desc {
	font-size: .82rem;
	line-height: 1.7;
	margin: 0;
	color: rgba(255,255,255,.78);
}
.snt-f-col h4 {
	color: #fff;
	font-size: .85rem;
	margin: 0 0 .65rem;
	font-weight: 700;
}
.snt-f-links {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: .4rem;
	padding: 0;
	margin: 0;
}
.snt-f-links a, .snt-f-links span {
	color: rgba(255,255,255,.68);
	font-size: .82rem;
	transition: color .2s;
	text-decoration: none;
}
.snt-f-links a:hover { color: #fff; }
.snt-f-bottom {
	border-top: 1px solid rgba(255,255,255,.14);
	padding-top: 1.1rem;
	font-size: .77rem;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: .4rem;
	color: rgba(255,255,255,.6);
}

/* ============================================================
   АДАПТИВНОСТЬ
   ============================================================ */
@media (max-width: 900px) {
	.snt-footer-g { grid-template-columns: 1fr 1fr; }
	.snt-req-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 768px) {
	.snt-nav { display: none; }
	.snt-btn-login { display: none; }
	.snt-burger { display: flex; }
	.snt-cottage { right: 6%; transform: scale(.85); transform-origin: bottom right; }
	.snt-tree-1 { right: 38%; }
}

@media (max-width: 680px) {
	.snt-footer-g { grid-template-columns: 1fr; }
	.snt-hero { min-height: 360px; }
	.snt-hero-title { font-size: 1.5rem !important; }
	.snt-cloud-2 { display: none; }
	.snt-news-item { grid-template-columns: 60px 1fr; }
	.snt-cards { grid-template-columns: 1fr; }
	.snt-cottage { right: 4%; bottom: 80px; transform: scale(.7); }
	.snt-tree-1 { display: none; }
	.snt-bush { display: none; }
}

/* ============================================================
   ПРАВКИ ДЛЯ РЕДАКТОРА САЙТА
   ============================================================ */
.editor-styles-wrapper .snt-overlay { display: none !important; }
.editor-styles-wrapper .snt-mob { display: none !important; }
