/* ================================================================
   Sloj vosstanovleniya. Tema Balkon rasschitana na JavaScript,
   kotorogo v arhive net (0 .js fajlov iz 164 — arhiv ih ne sohranil).
   Bez JS stranica vyglyadit PUSTOJ: prelodere zanimaet ves ekran,
   a slajder swiper shlopnut v nol. Lechim CSS-om, razmetku ne trogaem.
   ================================================================ */

/* 1. Preloder: bez JS on nikogda ne skroetsya i perekryvaet stranicu
      (izmereno: .loader-holder = 900px na ves ekran). */
.loader-holder,
.pswp__preloader,
#preloader,
.preloader {
	display: none !important;
}

/* 2. Slajder: swiper bez JS daet vysotu 0, hotya vnutri tekst.
      Razvorachivaem slajdy v obychnyj vertikalnyj potok. */
.swiper-wrapper {
	display: block !important;
	height: auto !important;
	transform: none !important;
}

.swiper-slide {
	display: block !important;
	width: auto !important;
	height: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
	margin-bottom: 28px;
}

.swiper-container,
.swiper {
	height: auto !important;
	overflow: visible !important;
}

/* kontrol slajdera bez JS bespolezen */
.swiper-button-next,
.swiper-button-prev,
.swiper-pagination {
	display: none !important;
}

/* 3. Animacii pri prokrutke (fade-in po klassu) bez JS ne srabatyvayut
      i ostavlyayut blok nevidimym — pokazyvaem srazu. */
[class*="animate"],
[data-animation],
.fadeInUp,
.fadeIn,
.wow {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	animation: none !important;
}

/* 4. Bloki, zavisyashchie ot vysoty okna cherez JS */
.fullheight,
.full-height,
[class*="parallax"] {
	height: auto !important;
	min-height: 0 !important;
}

/* 5. ★Glavnaya prichina pustoj stranicy: tema stavit blokam `opacity: 0`
      i pokazyvaet ih cherez JS pri prokrutke. JS v arhive net (0 fajlov),
      poetomu kontent nikogda ne poyavlyaetsya.
      Izmereno v brauzere: DIV bez klassa, opacity=0, h=900 — on i pryatal
      21 blok s tekstom. Selektory po klassam ego ne lovili, poetomu
      bem po lyubomu elementu s nulevoj prozrachnostyu. _audit/ _emails/ assets/ html/ node_modules/ scripts/ лого/

/* 5. ГЛАВНАЯ ПРИЧИНА пустой страницы: тема ставит блокам `opacity: 0`
      и показывает их через JS при прокрутке. JS в архиве нет (0 файлов
      из 164), поэтому контент никогда не появляется.
      Измерено в браузере: DIV без класса, opacity=0, h=900 — он и прятал
      21 блок с текстом. Селекторы по классам его не ловили, поэтому
      правило бьёт по любому элементу с нулевой прозрачностью. */
.content-holder div,
.content-holder section,
.content-holder article,
.content-holder aside {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

#wrapper [style*="opacity: 0"],
#wrapper [style*="opacity:0"] {
	opacity: 1 !important;
}

/* но НЕ трогаем то, что скрыто намеренно: модалки и выпадающие меню */
.modal,
.popup,
.dropdown-menu,
.sub-menu,
.mobile-menu,
[hidden] {
	opacity: initial !important;
	visibility: initial !important;
}


/* 6. TOCHNAYA prichina, najdennaya v brauzere: `#main { opacity: 0 }`
      v style.css temy. Tema pokazyvaet #main cherez JS posle zagruzki,
      a JS net (iz 27 CSS/JS zagruzilis 4, ostalnye 404 — arhiv ih ne hranit).
      Selektor po ID — poetomu pravila po klassam ego ne perebivali. */
#main {
	opacity: 1 !important;
	visibility: visible !important;
}

/* 7. Моя же правка (п.5) развернула ВЫПАДАЮЩИЕ меню поверх шапки:
      правило `.content-holder div {opacity:1}` задело и подменю,
      а `opacity: initial` для `.sub-menu` их не вернуло — тема прячет
      подменю не прозрачностью, а позиционированием + visibility.
      Видно на скриншоте: пункты «MEET THE TEAM / ACOUSTIC PANELS / FABRIC»
      висят поверх страницы, логотип наложился сам на себя.
      Возвращаем подменю штатное поведение: скрыто, пока нет наведения. */
.sub-menu,
.dropdown-menu,
ul.menu ul,
nav ul ul,
.menu-item-has-children > ul {
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none;
}

.menu-item-has-children:hover > ul,
.menu-item-has-children:focus-within > ul,
li:hover > .sub-menu,
li:focus-within > .sub-menu {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto;
}

/* логотип: на скриншоте наложился сам на себя — у темы два варианта
   (обычный и «липкий»), второй показывается скриптом при прокрутке.
   Без JS видны оба сразу, поэтому «липкий» прячем. */
.logo-sticky,
.sticky-logo,
.logo .sticky,
.header-sticky .logo img + img {
	display: none !important;
}

/* ================================================================
   8. Доступность: контраст и зоны нажатия.
   Найдено обходом всех 53 страниц в браузере.
   ================================================================ */

/* Серый #999 на белом = 2.85:1 при норме 4.5 (28 случаев — ссылки в
   списках и подписи). Затемнена только светлота, тон сохранён: #767676 = 4.54:1 */
a,
.widget a,
.entry-meta,
.post-meta,
.meta,
small {
	color: #767676;
}

a:hover,
a:focus {
	color: #2b2b2b;
}

/* Белый текст на белом фоне: эти блоки задумывались поверх фоновой
   картинки, которой в архиве нет — текст стал невидимым.
   Возвращаем тёмный цвет, раз фона нет. */
.content-holder h2,
.content-holder h3,
.content-holder h4 {
	color: #1f1f1f;
}

/* но там, где фон реально тёмный, белый оставляем */
[style*="background-color: rgb(0"] h2,
[style*="background-color: rgb(0"] h3,
[style*="background: #000"] h2,
.dark-section h2,
.dark-section h3 {
	color: #ffffff;
}

/* Фокус с клавиатуры — в теме его нет */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
	outline: 2px solid #1f1f1f;
	outline-offset: 2px;
}

/* ---- Зоны нажатия на телефоне: 26–44 мелких на страницу при норме 24px ---- */
@media (max-width: 760px) {
	nav a,
	.menu a,
	footer a,
	.widget a,
	.content-holder a {
		display: inline-block;
		min-height: 24px;
		line-height: 1.6;
		padding: 2px 1px;
	}

	/* кнопки-иконки: дотягиваем и по ширине */
	a[class*="icon"],
	a[class*="social"],
	button {
		min-width: 24px;
		min-height: 24px;
	}
}

/* H1, добавленные при восстановлении: у темы нет для них стиля,
   поэтому задаём его сами — в духе остальных заголовков сайта */
h1.vosstanovlen {
	font-size: 28px;
	line-height: 1.25;
	font-weight: 700;
	color: #1f1f1f;
	margin: 0 0 18px;
}

/* 9. Kontrast menyu: `.nav-holder nav li a {color:#999}` v style.css temy
      daet 2.85:1 pri norme 4.5. Moe pravilo po `a` bylo slabee (odin selektor
      protiv treh klassov) — pishem tochno pod nego.
      #767676 = 4.54:1, zatemnena TOLKO svetlota, seryj ostalsya serym. */
.nav-holder nav li a,
.nav-holder nav li a:link,
.nav-holder nav li a:visited {
	color: #767676;
}

.nav-holder nav li a:hover,
.nav-holder nav li a:focus,
.nav-holder nav li.current-menu-item > a {
	color: #1f1f1f;
}

/* ================================================================
   11. Контраст — точечно по группам, найденным разбором в браузере.
   Прошлая попытка красить всё подряд (.content-holder p,span,li)
   ИСПОРТИЛА текст на тёмных кнопках (1.15:1) — откатил.
   Теперь только то, что реально не проходит, с нужной специфичностью.
   ================================================================ */

/* Группа 1 (x4+x3): ссылки #999 на белом/светлом = 2.85 и 2.71:1.
   Тема задаёт их через .pr-title span, .post-comments и подобные —
   бьём по конкретным местам, где это встречается. */
.pr-title span,
.pr-title a,
.post-comments,
a.post-comments,
.post-date,
span.post-date,
.entry-meta a,
.projects-list a,
.project-cats a {
	color: #6e6e6e;          /* 5.0:1 на белом, 4.8:1 на #f9f9f9 */
}

/* Группа 2 (x3): белый текст в .hero-wrap — блок задумывался поверх
   фоновой картинки, её в архиве нет, фон стал белым, текст пропал. */
.hero-wrap p,
.hero-wrap h1,
.hero-wrap h2,
.hero-wrap h3,
.hero-wrap span {
	color: #1f1f1f;
}

/* Группа 3 (x2): «scroll down» — чёрный на почти чёрном (1.44:1).
   Блок тёмный по-настоящему, значит текст должен быть светлым. */
.scroll-down,
.scroll-down span,
[class*="scroll"] span {
	color: #e0e0e0;
}

/* Группа 4 (x1): чёрный на фиолетовом #6f3778 = 2.49:1 */
[style*="rgb(111, 55, 120)"],
[style*="#6f3778"] {
	color: #ffffff;
}

/* Группа 5: служебный текст для скринридеров — он визуально скрыт
   по замыслу, контраст ему не нужен, но и мешать не должен. */
.sharing-screen-reader-text,
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
