/* SAB Acoustique — заплатка вёрстки
   ------------------------------------------------------------------
   Сайт восстановлен из архива. Скрипты WordPress/Elementor и шрифт
   Simple-Line-Icons в архив не попали, поэтому:

   1. Иконки elementor-icon-box-icon отрисовываются пустыми серыми
      кружками — шрифта нет. Прячем их: подписи под ними остаются.
   2. Блок «Nos références» Elementor выкладывал скриптом. Без него
      карточки идут вразнобой (высоты от 258 до 496 px), сетка рваная.
      Выравниваем средствами CSS-грида.
   ------------------------------------------------------------------ */

/* 1. пустые кружки от несохранившихся иконок */
.elementor-icon-box-icon,
.elementor-icon-box-wrapper .elementor-icon {
	display: none !important;
}

/* 2. сетка ссылок: ровные ряды вместо рваной кладки */
.elementor-posts-container,
.elementor-posts,
.elementor-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
	gap: 22px !important;
	align-items: stretch !important;
}

.elementor-posts-container > *,
.elementor-posts > *,
.elementor-grid > * {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	transform: none !important;
	float: none !important;
	left: auto !important;
	top: auto !important;
}

/* карточка тянется на всю высоту ячейки */
.elementor-post,
.elementor-grid-item {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	background: #fff;
}

.elementor-post__card,
.elementor-post__text {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
}

/* картинка одной высоты во всех карточках */
.elementor-post__thumbnail {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.elementor-post__thumbnail img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

/* дата и «читать далее» прижаты к низу */
.elementor-post__meta-data {
	margin-top: auto !important;
	padding-top: 10px;
}

/* 3. подвал: меню в несколько колонок, а не узкой лентой */
.footer-widget .menu,
#footer-widgets .menu {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 0 24px;
}

/* Высоты внутри ряда всё равно плясали: между гридом и карточкой
   есть промежуточная обёртка, до которой height:100% не доходил.
   Растягиваем всю цепочку. */
.elementor-posts-container > *,
.elementor-grid > * {
	display: flex !important;
	height: 100% !important;
}

.elementor-posts-container > * > *,
.elementor-grid > * > * {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	height: 100% !important;
}

/* заголовок не прижимает мету — она уходит вниз сама */
.elementor-post__title,
.elementor-post__excerpt { flex: 0 0 auto; }
.elementor-post__read-more { margin-top: auto; }

/* Kartochka imela align-self:flex-start ot Elementor - prizhimalas
   k verhu jachejki i ne tjanulas. Perebivaem javno. */
.elementor-post.elementor-grid-item,
.elementor-grid > .elementor-post,
.elementor-posts-container > .elementor-post {
	align-self: stretch !important;
}

/* Posle vyravnivanija kartochki bez foto rastjagivalis do vysoty
   soseda s foto - vnutri zijala pustota. Prizhimaem soderzhimoe
   k verhu, a datu k nizu: ryad rovnyj, no bez dyr v seredine. */
.elementor-post__text {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
}

.elementor-post__title { margin-bottom: 10px !important; }

.elementor-post__read-more {
	margin-top: 14px !important;
	margin-bottom: auto !important;
}

.elementor-post__meta-data {
	margin-top: auto !important;
	padding-top: 12px;
}

/* ---------- podval ----------
   Konteiner menju byl 540px pri shirine podvala 1265 - menju zhalos
   v levuju tret uzkoj lentoj. Rastjagivaem i stavim v odnu stroku. */

#footer .menu-menu-pied-de-page-container,
.site-footer .menu-menu-pied-de-page-container {
	width: 100% !important;
	max-width: none !important;
}

#footer .menu,
.site-footer .menu {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px 34px !important;
	grid-template-columns: none !important;
	justify-content: flex-start;
	margin: 0;
	padding: 0;
	list-style: none;
}

#footer .menu li,
.site-footer .menu li {
	float: none !important;
	width: auto !important;
	border: 0 !important;
	margin: 0 !important;
}

#footer .menu a,
.site-footer .menu a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 2px 0;
	border-bottom: 1px solid transparent;
	transition: border-color .18s ease;
}

#footer .menu a:hover,
#footer .menu a:focus-visible {
	border-bottom-color: currentColor;
}

/* vnutrennie otstupy podvala */
#footer .container,
#footer > .clr { padding-block: 26px 22px; }


/* ---------- kartochki bez fotografii ----------
   Tri objekta idut bez snimka. Posle vyravnivanija rjadov oni
   tjanulis do vysoty soseda s foto, i vnutri zijala pustota.
   Stavim polosu-zaglushku na mesto snimka - rjad rovnyj, dyry net.
   Veshaem na .elementor-post__card: eto edinstvennyj rebjonok
   kartochki, ::before na samoj .elementor-post ne otobrazhalsja. */


/* Zaglushka vmesto otsutstvujuschego snimka.
   Cherez ::before ne rabotalo - Elementor stavit content:none
   !important na .elementor-post__card. Vstavili nastojaschij div. */
.zaglushka-foto {
	width: 100%;
	aspect-ratio: 4 / 3;
	flex: 0 0 auto;
	order: -1;
	background:
		repeating-linear-gradient(135deg,
			rgba(255,255,255,.07) 0 12px,
			rgba(255,255,255,0) 12px 24px),
		linear-gradient(160deg, #4a7fb5, #2f5d8f);
}


/* ---------- ikonochnye shrifty ----------
   Tema tjanet dva ikonochnyh shrifta: simple-line-icons i FontAwesome.
   Ot pervogo v arhive net ni odnogo fajla, ot vtorogo tolko .eot -
   drevnij format dlja IE, sovremennyj brauzer ego ne chitaet.
   Vosstanovit nechego.

   Bez shrifta element ostajotsja v razmetke pustym i risuetsja
   krokozjabroj (kvadratik s kodom) libo pustym mestom, kotoroe
   vsjo ravno zanimaet shirinu. Ubiraem ih sovsem. */
i.fa, span.fa,
i[class^="icon-"], i[class*=" icon-"], span[class^="icon-"], span[class*=" icon-"],
.site-search-toggle, .toggle-sidr-close,
.header-searchform-wrap .icon-close {
	display: none !important;
}

/* Krome gamburgera mobilnogo menju - bez nego menju ne otkryt.
   Risuem ego tremja poloskami na CSS, shrift ne nuzhen. */
.mobile-menu i.fa-bars { display: inline-block !important; }
.mobile-menu i.fa-bars::before {
	content: ;
	display: block;
	width: 22px;
	height: 2px;
	background: currentColor;
	box-shadow: 0 6px 0 currentColor, 0 12px 0 currentColor;
	margin: 5px 0 11px;
}

/* ---------- pustoj kruzhok v shapke ----------
   Rjadom s knopkoj Demandez un devis visel znachok svjazi.
   Kontakty ubrany, znachok ostalsja pustym zeljonym kruzhkom.
   Prjachem vsju objortku - ne .elementor-icon-box-icon, a imenno
   .elementor-icon-wrapper: eto drugoj vidzhet Elementor. */
.elementor-icon-wrapper { display: none !important; }

/* VNIMANIE: selektor ikonok objazatelno s tegom (i / span).
   Bez tega [class*=" icon-"] lovit ljuboj klass, gde vstrechaetsja
   "icon-" - v tom chisle elementor-widget-icon-box. Takoj selektor
   spr'atal v shapke ves blok s adresom. */


/* ---------- блок Echodor: размер текста ----------
   В CSS Elementor заданы 22px для трёх текстовых блоков главной
   (2013c09, 13c6c67, 6c56b75), а для блока Echodor (504b6f8)
   правила нет - он падал на 14px и проваливался рядом с соседями.
   Так было и на живом сайте; уравниваем по просьбе владельца.
   Правим в своём слое, файл темы не трогаем. */
.elementor-15 .elementor-element.elementor-element-504b6f8 {
	font-size: 22px;
}
