/* IFGX BAS-TV design polish 2026-09 (approved 2026-09-29).
   Loaded only while option ifgx_design_2026 is "on" (or "preview" + preview URL).
   Numbers refer to the approval table. */

:root { --ifgx-navy: #02018B; --ifgx-meta: #5A5F7A; --ifgx-ink: #111; --ifgx-chip: #EEF0FA; }

/* 7. Roboto everywhere (theme headings used Helvetica); icon fonts untouched.
   Low specificity on purpose: Elementor widget typography still wins where set. */
body, body *:not(i):not([class*="fa-"]):not([class*="eicon"]) { font-family: Roboto, "Helvetica Neue", Arial, sans-serif; }

/* 7. No sideways page scroll */
html, body { overflow-x: clip; }

/* 7. Links inside article text: navy, underlined, no italic */
.elementor-widget-theme-post-content a,
.elementor-widget-text-editor a {
  color: var(--ifgx-navy) !important;
  font-style: normal !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

/* 5. Article header */
[data-id="59923c6"],
[data-id="59923c6"] .elementor-heading-title { text-align: left !important; }
[data-id="59923c6"] .elementor-heading-title {
  font-weight: 700 !important;
  font-size: clamp(28px, 1.1rem + 2.2vw, 42px) !important;
  line-height: 1.15 !important;
  color: var(--ifgx-ink) !important;
  text-wrap: balance;
}
[data-id="35594bb"] > .e-con-inner { justify-content: flex-start !important; gap: 2px 14px !important; }
[data-id="35594bb"] { padding-left: 0 !important; }
[data-id="35594bb"] .elementor-widget-post-info .elementor-icon-list-items { justify-content: flex-start !important; }
[data-id="35594bb"] .elementor-widget-post-info,
[data-id="35594bb"] .elementor-widget-post-info .elementor-icon-list-text,
[data-id="35594bb"] .elementor-widget-post-info .elementor-icon-list-text a {
  font-size: 15px !important;
  color: var(--ifgx-meta) !important;
  text-align: left !important;
}
[data-id="35594bb"] .elementor-widget-post-info .elementor-post-info__terms-list a { color: var(--ifgx-navy) !important; text-transform: none !important; }
[data-id="35594bb"] .elementor-widget-post-info .elementor-icon-list-icon { display: none !important; }
.ifgx-byline .elementor-icon-list-text::before { content: "· "; }
.elementor-widget-theme-post-content { width: 100%; align-self: stretch; }
.elementor-widget-theme-post-content p { max-width: 68ch; }
@media (min-width: 1025px) {
  .elementor-widget-theme-post-content,
  .elementor-widget-theme-post-content p { font-size: 18px !important; line-height: 1.65 !important; }
}

/* Homepage lead cards: more breathing room + legible title over photo */
.elementor-2130 .elementor-widget-theme-post-title { padding: 0 16px 14px 16px !important; }
.elementor-2130 .elementor-widget-theme-post-title .elementor-heading-title { text-shadow: 0 1px 12px rgba(0, 0, 0, .45); text-align: left !important; }

/* 4. "Наши проекты" band moves into the menu; empty ad row collapses */
[data-id="ee1fa78"] { display: none !important; }
/* Pending ad containers must be measurable before AdSense can fill them. */
[data-id="4858536"]:not(:has(img, iframe, video, a, ins[data-ad-slot])) { display: none !important; }
html:not(.ifgx-ads-consented) [data-id="4858536"]:not(:has(img, iframe, video, a)) { display: none !important; }
[data-id="4858536"]:has(ins[data-ad-status="unfilled"], ins[data-ad-status="unfill-optimized"]):not(:has(img, video, a, ins[data-ad-status="filled"])) { display: none !important; }

/* 4. Desktop menu keeps one line with the extra "Наши проекты" item */
@media (min-width: 1025px) {
  [data-id="ee1fa78"] { display: flex !important; }
  [data-id="552d5ee0"] .ifgx-mobile-project-item { display: none !important; }
  [data-id="552d5ee0"] .elementor-nav-menu--main > ul { flex-wrap: nowrap !important; gap: 12px; }
  [data-id="552d5ee0"] .elementor-nav-menu--main > ul > li > a { font-size: 22px !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 14px !important; padding-right: 14px !important; white-space: nowrap; }
}
@media (min-width: 1025px) and (max-width: 1320px) {
  [data-id="552d5ee0"] .elementor-nav-menu--main > ul > li > a { font-size: 18px !important; padding-left: 8px !important; padding-right: 8px !important; }
}

/* 3. Mobile header: logo + search as an icon */
[data-id="6534923"] > .e-con-inner {
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 10px !important;
}
[data-id="6534923"] > .e-con-inner > .elementor-element { flex: 0 0 auto !important; width: auto !important; margin: 0 !important; }
[data-id="6534923"] > .e-con-inner > .ifgx-m-logo { margin-right: auto !important; margin-left: 4px !important; }
.ifgx-m-logo a { display: flex; align-items: center; background: #fff; border-radius: 8px; padding: 6px 10px; }
.ifgx-m-logo img { display: block; height: 24px; width: auto; }
[data-id="6534923"] [data-id="b82fb82"] .hfe-search-form__input,
[data-id="6534923"] [data-id="b82fb82"] #clear-with-button { display: none !important; }
[data-id="6534923"] > .e-con-inner.ifgx-searching > .ifgx-m-logo,
[data-id="6534923"] > .e-con-inner.ifgx-searching > [data-id="3e0b2fc"] { display: none !important; }
[data-id="6534923"] > .e-con-inner.ifgx-searching > [data-id="b82fb82"] { flex: 1 1 auto !important; }
[data-id="6534923"] .ifgx-searching [data-id="b82fb82"] .hfe-search-form__container { width: 100% !important; display: flex !important; }
[data-id="6534923"] .ifgx-searching [data-id="b82fb82"] .hfe-search-form__input { display: block !important; flex: 1 1 auto; min-width: 0; }

/* 2. Floating cookie pill goes; the footer carries the link instead */
#cmplz-manage-consent .cmplz-manage-consent { display: none !important; }
.ifgx-cookie-link { cursor: pointer; }

/* 1. Cookie banner: layout only (texts unchanged until IFGX validates new copy) */
#cmplz-cookiebanner-1-optin.cmplz-cookiebanner { box-shadow: 0 12px 40px rgba(2, 1, 50, .28) !important; row-gap: 12px !important; }
#cmplz-cookiebanner-1-optin .cmplz-header { display: flex !important; align-items: center !important; gap: 10px !important; }
#cmplz-cookiebanner-1-optin .cmplz-logo img { height: 20px !important; width: auto !important; }
#cmplz-cookiebanner-1-optin .cmplz-header .cmplz-title { display: block !important; flex: 1 1 auto; min-width: 0; font-size: 16px !important; font-weight: 700 !important; color: var(--ifgx-ink) !important; text-align: left !important; }
#cmplz-cookiebanner-1-optin .cmplz-message,
#cmplz-cookiebanner-1-optin .cmplz-message p { font-size: 14px !important; line-height: 1.5 !important; color: #222 !important; }
#cmplz-cookiebanner-1-optin .cmplz-categories .cmplz-category { padding: 8px 12px !important; margin: 0 0 6px !important; border-radius: 8px !important; background: var(--ifgx-chip) !important; }
#cmplz-cookiebanner-1-optin .cmplz-categories .cmplz-category-header { padding: 0 !important; min-height: 0 !important; }
#cmplz-cookiebanner-1-optin .cmplz-categories .cmplz-title { font-size: 14.5px !important; font-weight: 600 !important; color: var(--ifgx-ink) !important; }
#cmplz-cookiebanner-1-optin .cmplz-categories .cmplz-description { font-size: 13px !important; line-height: 1.45 !important; color: #3d4160 !important; margin-top: 4px !important; }
#cmplz-cookiebanner-1-optin .cmplz-links.cmplz-information { display: flex !important; flex-wrap: wrap !important; justify-content: flex-start !important; gap: 4px 20px !important; }
#cmplz-cookiebanner-1-optin .cmplz-links.cmplz-information a { font-size: 13.5px !important; color: var(--ifgx-navy) !important; text-align: left !important; }
#cmplz-cookiebanner-1-optin .cmplz-buttons { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; align-items: center !important; }
#cmplz-cookiebanner-1-optin .cmplz-btn.cmplz-accept,
#cmplz-cookiebanner-1-optin .cmplz-btn.cmplz-deny {
  background: var(--ifgx-navy) !important;
  color: #fff !important;
  border: 1px solid var(--ifgx-navy) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  min-height: 46px !important;
  height: auto !important;
  padding: 8px 10px !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  border-radius: 8px !important;
  margin: 0 !important;
  width: 100% !important;
}
#cmplz-cookiebanner-1-optin .cmplz-btn.cmplz-accept:focus-visible,
#cmplz-cookiebanner-1-optin .cmplz-btn.cmplz-deny:focus-visible { outline: 3px solid #7C86FF !important; outline-offset: 2px !important; }
#cmplz-cookiebanner-1-optin .cmplz-btn.cmplz-manage-options,
#cmplz-cookiebanner-1-optin .cmplz-btn.cmplz-view-preferences {
  grid-column: 1 / -1 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--ifgx-navy) !important;
  text-decoration: underline !important;
  height: auto !important;
  padding: 4px !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  margin: 0 !important;
  width: auto !important;
  justify-self: center !important;
}
#cmplz-cookiebanner-1-optin .cmplz-btn.cmplz-save-preferences { grid-column: 1 / -1 !important; }
#cmplz-cookiebanner-1-optin .cmplz-documents { justify-content: flex-start !important; gap: 18px !important; }
#cmplz-cookiebanner-1-optin .cmplz-documents a { font-size: 13px !important; color: var(--ifgx-meta) !important; }
body:has(#cmplz-cookiebanner-1-optin.cmplz-show)::before { background-color: rgba(2, 1, 40, .18) !important; }

@media (max-width: 767px) {
  #cmplz-cookiebanner-1-optin.cmplz-cookiebanner {
    top: auto !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
    transform: none !important;
    width: 100% !important; max-width: 100% !important;
    max-height: 78vh !important;
    border-radius: 16px 16px 0 0 !important;
    padding: 16px 16px calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  }
}
@media (min-width: 768px) {
  #cmplz-cookiebanner-1-optin.cmplz-cookiebanner {
    top: auto !important; bottom: 24px !important; left: 24px !important; right: auto !important;
    transform: none !important;
    width: 540px !important; max-width: calc(100vw - 48px) !important;
    max-height: calc(100vh - 48px) !important;
    border-radius: 14px !important;
    padding: 20px 22px 16px !important;
  }
  #cmplz-cookiebanner-1-optin .cmplz-buttons { grid-template-columns: 1fr 1fr auto !important; }
  #cmplz-cookiebanner-1-optin .cmplz-btn.cmplz-manage-options,
  #cmplz-cookiebanner-1-optin .cmplz-btn.cmplz-view-preferences { grid-column: auto !important; }
}
@media (prefers-reduced-motion: reduce) {
  #cmplz-cookiebanner-1-optin.cmplz-cookiebanner { animation: none !important; transition: none !important; }
}
