/*
 * Traductor Jurado Ruso layout refactor layer.
 * Loaded asynchronously after legacy theme CSS; critical reservations live in tjr-critical.css.
 */
:root {
  --tjr-blue: #1876b0;
  --tjr-blue-dark: #0f527c;
  --tjr-orange: #ff9700;
  --tjr-text: #343434;
  --tjr-muted: #6c757d;
  --tjr-border: #e8edf1;
  --tjr-surface: #fff;
  --tjr-surface-soft: #f7f9fb;
  --tjr-header-height: 80px;
  --tjr-topbar-height: 45px;
  --tjr-header-stack: 125px;
  --tjr-hero-height: clamp(620px, calc(100svh - var(--tjr-header-stack)), 860px);
  --tjr-hero-max-height: 860px;
  --tjr-section-y: 80px;
  --tjr-container-x: 15px;
}

/* v5.3: keep desktop header and static hero geometry stable while async legacy CSS arrives. */
@media (min-width: 1025px) {
  body.site-page #header.site-header {
    height: var(--tjr-header-stack) !important;
    min-height: var(--tjr-header-stack) !important;
    line-height: var(--tjr-header-height) !important;
  }

  body.site-page #header.header-always-fixed .header-inner,
  body.site-page #header.header-always-fixed #header-wrap {
    position: fixed !important;
    top: var(--tjr-topbar-height) !important;
    height: var(--tjr-header-height) !important;
    min-height: var(--tjr-header-height) !important;
  }

  body.site-page #header[data-fullwidth="true"] .header-inner .container,
  body.site-page #header[data-fullwidth="true"] #header-wrap .container,
  body.site-page #header .site-header__container {
    display: block !important;
    position: relative !important;
    max-width: 100% !important;
    height: var(--tjr-header-height) !important;
    min-height: var(--tjr-header-height) !important;
    padding: 0 30px !important;
  }

  body.site-page #logo.site-header__brand {
    display: flex !important;
    align-items: center !important;
    float: left !important;
    width: 280px !important;
    min-width: 280px !important;
    height: var(--tjr-header-height) !important;
    min-height: var(--tjr-header-height) !important;
  }

  body.site-page #logo.site-header__brand .site-header__brand-link {
    display: inline-flex !important;
    align-items: center !important;
    height: var(--tjr-header-height) !important;
    min-height: var(--tjr-header-height) !important;
  }

  body.site-page #logo.site-header__brand img.site-header__brand-img {
    display: block !important;
    width: 280px !important;
    max-width: 280px !important;
    height: auto !important;
    aspect-ratio: 450 / 87 !important;
  }

  body.site-page #header .header-extras.site-header__actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    float: right !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: 186px !important;
    min-width: 186px !important;
    max-width: 186px !important;
    height: var(--tjr-header-height) !important;
    min-height: var(--tjr-header-height) !important;
    max-height: var(--tjr-header-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: var(--tjr-header-height) !important;
  }

  body.site-page #header .header-extras.site-header__actions > ul {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    float: none !important;
    position: static !important;
    width: 186px !important;
    min-width: 186px !important;
    max-width: 186px !important;
    height: var(--tjr-header-height) !important;
    min-height: var(--tjr-header-height) !important;
    max-height: var(--tjr-header-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: var(--tjr-header-height) !important;
    list-style: none !important;
  }

  body.site-page #header .header-extras.site-header__actions > ul > li {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    flex: 0 0 auto !important;
    width: 28px !important;
    min-width: 28px !important;
    height: var(--tjr-header-height) !important;
    min-height: var(--tjr-header-height) !important;
    margin: 0 !important;
    line-height: var(--tjr-header-height) !important;
  }

  body.site-page #header .header-extras.site-header__actions > ul > li.telegram-mobile {
    width: 32px !important;
    min-width: 32px !important;
  }

  body.site-page #header .header-extras.site-header__actions > ul > li:last-child {
    width: 58px !important;
    min-width: 58px !important;
  }

  body.site-page #header .language-switcher,
  body.site-page #header .p-dropdown.language-switcher {
    display: block !important;
    position: relative !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    height: var(--tjr-header-height) !important;
    min-height: var(--tjr-header-height) !important;
    line-height: var(--tjr-header-height) !important;
    overflow: visible !important;
  }

  body.site-page #header .language-switcher__current {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 58px !important;
    height: var(--tjr-header-height) !important;
    min-height: var(--tjr-header-height) !important;
    padding: 0 !important;
  }

  body.site-page #header .language-switcher__current span {
    display: inline-block !important;
    position: relative !important;
    top: 0 !important;
    right: auto !important;
    min-width: 16px !important;
    margin-left: 5px !important;
    font-size: 13px !important;
    line-height: 1 !important;
  }

  body.site-page #mainMenu.site-nav {
    display: block !important;
    float: right !important;
    position: static !important;
    width: auto !important;
    height: var(--tjr-header-height) !important;
    min-height: var(--tjr-header-height) !important;
    margin: 0 !important;
    line-height: var(--tjr-header-height) !important;
  }

  body.site-page #mainMenu.site-nav > .container {
    display: block !important;
    width: auto !important;
    height: var(--tjr-header-height) !important;
    min-height: var(--tjr-header-height) !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.site-page #mainMenu.site-nav nav,
  body.site-page #mainMenu.site-nav nav > ul.site-nav__list {
    height: 0 !important;
    min-height: 0 !important;
    line-height: var(--tjr-header-height) !important;
    overflow: visible !important;
  }

  body.site-page #mainMenu.site-nav nav {
    float: right !important;
  }

  body.site-page #mainMenu.site-nav nav > ul.site-nav__list {
    display: block !important;
    float: right !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body.site-page #mainMenu.site-nav nav > ul > li {
    display: list-item !important;
    float: left !important;
    position: static !important;
    height: var(--tjr-header-height) !important;
    min-height: var(--tjr-header-height) !important;
    margin: 0 !important;
  }

  body.site-page #mainMenu.site-nav nav > ul > li > .site-nav__link,
  body.site-page #mainMenu.site-nav nav > ul > li > a,
  body.site-page #mainMenu.site-nav nav > ul > li > span {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 60px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  body.site-page #mainMenu.site-nav nav > ul > li > .dropdown-menu,
  body.site-page #mainMenu.site-nav nav > ul > li > .site-nav__sublist {
    position: fixed !important;
    top: 125px !important;
    right: 30px !important;
    left: auto !important;
    width: min(1140px, calc(100vw - 60px)) !important;
    max-width: calc(100vw - 60px) !important;
    z-index: 1000 !important;
  }
}

body.site-page .hero-slider.inspiro-slider,
body.site-page .hero-slider.inspiro-slider.slider-fullscreen,
body.site-page .hero-slider.inspiro-slider.flickity-enabled {
  height: var(--tjr-hero-height) !important;
  min-height: var(--tjr-hero-height) !important;
  max-height: var(--tjr-hero-max-height) !important;
}

body.site-page .hero-slider.inspiro-slider > .hero-slider__slide,
body.site-page .hero-slider.inspiro-slider .hero-slider__slide,
body.site-page .hero-slider.inspiro-slider .slide,
body.site-page .hero-slider.inspiro-slider .flickity-viewport,
body.site-page .hero-slider.inspiro-slider .flickity-slider,
body.site-page .hero-slider.inspiro-slider .polo-carousel-item {
  height: var(--tjr-hero-height) !important;
  min-height: var(--tjr-hero-height) !important;
  max-height: var(--tjr-hero-max-height) !important;
}

body.site-page .hero-slider.inspiro-slider .slide > .container {
  box-sizing: border-box !important;
  height: var(--tjr-hero-height) !important;
  min-height: var(--tjr-hero-height) !important;
  padding-top: 120px !important;
  padding-bottom: 100px !important;
  align-self: center !important;
}

body.site-page .hero-slider--static-shell:not(.flickity-enabled) > .hero-slider__slide:first-child {
  height: var(--tjr-hero-height) !important;
  min-height: var(--tjr-hero-height) !important;
  max-height: var(--tjr-hero-max-height) !important;
}

body.site-page .hero-slider .btn.btn-lg {
  height: 58px !important;
  margin-bottom: 6px !important;
  padding: 0 40px !important;
  font-size: 16px !important;
  line-height: 56px !important;
  letter-spacing: 2px !important;
}

/* v5.3: readable mobile menu surface above the hero. */
@media (max-width: 767px) {
  body.site-page.mainMenu-open #header.site-header,
  body.site-page.mainMenu-open #header .site-header__inner {
    background: #fff !important;
  }

  body.site-page.mainMenu-open #header #mainMenu.site-nav {
    z-index: 210 !important;
    max-height: calc(100svh - 60px) !important;
    overflow-y: auto !important;
    background: #fff !important;
    border-top: 1px solid rgba(24, 118, 176, .14) !important;
    box-shadow: 0 18px 28px rgba(16, 33, 45, .16) !important;
  }

  body.site-page #mainMenu.site-nav nav > ul.site-nav__list,
  body.site-page #mainMenu.site-nav nav > ul {
    background: #fff !important;
  }

  body.site-page #mainMenu.site-nav nav > ul > li > .site-nav__link,
  body.site-page #mainMenu.site-nav nav > ul > li > a,
  body.site-page #mainMenu.site-nav nav > ul > li > span {
    box-sizing: border-box !important;
    width: 100% !important;
    padding-left: 10px !important;
    padding-right: 14px !important;
    color: #343434 !important;
    background: #fff !important;
    text-shadow: none !important;
    border-bottom: 1px solid rgba(24, 118, 176, .1) !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.site-page #mainMenu.site-nav nav > ul > li.current > .site-nav__link,
  body.site-page #mainMenu.site-nav nav > ul > li:hover > .site-nav__link,
  body.site-page #mainMenu.site-nav nav > ul > li:focus-within > .site-nav__link {
    color: var(--tjr-blue) !important;
  }

  body.site-page #mainMenu.site-nav .dropdown-menu,
  body.site-page #mainMenu.site-nav .site-nav__sublist {
    background: #fff !important;
  }

  body.site-page #mainMenu.site-nav .dropdown-menu a,
  body.site-page #mainMenu.site-nav .site-nav__sublist a {
    box-sizing: border-box !important;
    width: 100% !important;
    padding-left: 10px !important;
    padding-right: 14px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.site-page.mainMenu-open #header .header-extras.site-header__actions {
    z-index: 270 !important;
  }

  body.site-page #header .language-switcher__list,
  body.site-page #header .p-dropdown-content.language-switcher__list {
    z-index: 260 !important;
    background: #fff !important;
    border: 1px solid rgba(24, 118, 176, .14) !important;
    box-shadow: 0 14px 26px rgba(16, 33, 45, .18) !important;
  }
}

html {
  scroll-padding-top: var(--tjr-header-stack);
}

body.site-page {
  min-width: 320px;
  color: var(--tjr-text);
  font-family: "Poppins", "Poppins-fallback", Arial, sans-serif;
  letter-spacing: 0;
  text-rendering: optimizeLegibility;
}

body.site-page img,
body.site-page picture,
body.site-page video,
body.site-page svg {
  max-width: 100%;
}

body.site-page img {
  height: auto;
}

.site-main {
  display: block;
  overflow: clip;
}

.content-section {
  position: relative;
  width: 100%;
  padding-block: var(--tjr-section-y);
  overflow: hidden;
}

.content-section.background-grey,
.content-section.background-gray {
  background: var(--tjr-surface-soft);
}

.content-section__header {
  margin-bottom: 34px;
}

.content-section__body {
  min-width: 0;
}

.media-frame {
  display: block;
  position: relative;
  overflow: hidden;
  background: #edf3f7;
}

.media-frame > img,
.media-frame > picture,
.media-frame > picture > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.btn,
.button,
button,
input,
select,
textarea {
  letter-spacing: 0;
}

/* Header shell */
.site-topbar,
.topbar.site-topbar {
  min-height: var(--tjr-topbar-height);
  contain: layout;
}

.site-topbar__inner,
.topbar .site-topbar__inner {
  min-height: var(--tjr-topbar-height);
}

.site-topbar__container,
.topbar .site-topbar__container {
  overflow: hidden;
}

.site-topbar a,
.topbar.site-topbar a {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-topbar i,
.topbar.site-topbar i {
  display: inline-block;
  width: 16px;
  min-width: 16px;
  text-align: center;
}

.site-header,
#header.site-header {
  min-height: var(--tjr-header-stack);
  contain: none;
  overflow: visible;
}

.site-header__inner,
#header .site-header__inner {
  min-height: var(--tjr-header-height);
  overflow: visible;
}

.site-header__container,
#header .site-header__container {
  min-height: var(--tjr-header-height);
  overflow: visible;
}

.site-header__brand,
#logo.site-header__brand {
  display: flex;
  align-items: center;
  float: left;
  min-height: var(--tjr-header-height);
}

.site-header__brand-link {
  display: inline-flex;
  align-items: center;
  min-height: 58px;
}

.site-header__brand-img {
  display: block;
  width: 280px;
  height: auto;
  aspect-ratio: 450 / 87;
}

.site-header__actions,
.header-extras.site-header__actions {
  float: right;
  min-width: 142px;
  min-height: var(--tjr-header-height);
}

.site-header__actions ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: var(--tjr-header-height);
}

.site-header__actions > ul > li,
.header-extras.site-header__actions > ul > li {
  display: flex;
  align-items: center;
  min-height: var(--tjr-header-height);
  line-height: var(--tjr-header-height);
}

.site-header__actions img,
.language-switcher__flag,
.language-switcher__list img {
  display: inline-block;
  width: 16px;
  height: 11px;
  object-fit: cover;
  vertical-align: baseline;
}

.language-switcher,
.p-dropdown.language-switcher {
  min-width: 58px;
}

.language-switcher__current {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 40px;
}

.header-extras > ul > li .p-dropdown a > span,
.language-switcher__current span {
  position: relative;
  top: 0;
  right: auto;
  display: inline-block;
  min-width: 16px;
  margin-left: 5px;
  font-size: 13px;
  line-height: 1;
}

.site-header__menu-trigger,
#mainMenu-trigger.site-header__menu-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  min-width: 34px;
}

.site-header__actions a,
.header-extras.site-header__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  min-height: 40px;
}

.site-header__actions .whatsapp-mobile i,
.site-header__actions .telegram-mobile i {
  display: inline-block;
  width: 20px;
  min-width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
}

.header-extras.site-header__actions .whatsapp-mobile,
.header-extras.site-header__actions .telegram-mobile {
  display: flex !important;
}

#mainMenu.site-nav .whatsapp-menu,
#mainMenu.site-nav .telegram-menu {
  display: none !important;
}

.site-nav,
#mainMenu.site-nav {
  min-height: var(--tjr-header-height);
}

.site-nav__list,
#mainMenu nav > ul.site-nav__list {
  min-height: var(--tjr-header-height);
}

.site-nav__link,
#mainMenu nav > ul > li > .site-nav__link {
  white-space: nowrap;
}

/* Home hero / slider */
.hero-slider.inspiro-slider {
  height: var(--tjr-hero-height);
  min-height: var(--tjr-hero-height);
  max-height: var(--tjr-hero-max-height);
  background: #101820;
}

.hero-slider--static-shell {
  position: relative;
  contain: layout paint;
}

.hero-slider--stable-first:not(.flickity-enabled) {
  display: block;
}

.hero-slider--stable-first:not(.flickity-enabled) > .hero-slider__slide:not(:first-child) {
  display: none !important;
}

.hero-slider--stable-first.hero-slider--runtime-ready:not(.flickity-enabled) > .hero-slider__slide:not(:first-child) {
  position: absolute;
  inset: 0;
  display: flex !important;
  visibility: hidden;
  pointer-events: none;
}

.hero-slider--stable-first:not(.flickity-enabled) > .hero-slider__slide:first-child {
  position: absolute;
  inset: 0;
  display: flex !important;
  width: 100%;
  height: 100%;
}

.hero-slider--static-shell:not(.flickity-enabled) > .hero-slider__slide:first-child .slide-captions > *,
.hero-slider--static-shell:not(.flickity-enabled) > .hero-slider__slide:first-child .hero-slider__content > * {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
}

.hero-slider.inspiro-slider.flickity-enabled,
.hero-slider.inspiro-slider .slide,
.hero-slider.inspiro-slider .flickity-viewport,
.hero-slider.inspiro-slider .flickity-slider,
.hero-slider.inspiro-slider .polo-carousel-item {
  min-height: var(--tjr-hero-height);
  max-height: var(--tjr-hero-max-height);
}

.hero-slider.inspiro-slider .flickity-viewport,
.hero-slider.inspiro-slider .flickity-slider,
.hero-slider.inspiro-slider .polo-carousel-item,
.hero-slider.inspiro-slider .slide {
  height: 100%;
}

.hero-slider.inspiro-slider .polo-carousel-item,
.hero-slider.inspiro-slider .slide {
  width: 100%;
}

.hero-slider.inspiro-slider .slide > .container {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: inherit;
  box-sizing: border-box;
}

.hero-slider.inspiro-slider .flickity-page-dots {
  position: absolute;
  right: 0;
  bottom: 24px;
  left: 0;
  z-index: 3;
  min-height: 22px;
}

.hero-slider--runtime-deferred .flickity-page-dots,
.hero-slider--static-shell:not(.flickity-enabled) .flickity-page-dots {
  display: none !important;
}

.hero-slider__slide {
  isolation: isolate;
}

.hero-slider__media,
.slide-lcp-media.hero-slider__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}

.hero-slider__image,
.slide-lcp-image.hero-slider__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.hero-slider__content,
.hero-slider .slide-captions {
  position: relative;
  z-index: 2;
  max-width: 980px;
}

.hero-slider__title {
  text-wrap: balance;
}

/* Inner page hero */
.page-hero,
#page-title.page-hero {
  position: relative;
  display: grid;
  align-items: center;
  height: 443px;
  min-height: 443px;
  padding: 0 !important;
  padding-block: 0 !important;
  overflow: hidden;
  background-color: #132b3d;
  background-position: center;
  background-size: cover;
  contain: layout paint;
}

.page-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #132b3d;
}

.page-hero__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.page-hero__overlay,
.page-hero > .bg-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.page-hero__container,
.page-hero > .container {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  min-height: 443px;
  padding-block: 0;
}

.page-hero__title,
.page-hero h1 {
  margin-bottom: 18px;
  color: #fff;
  text-wrap: balance;
}

.page-hero__content,
#page-title.page-hero .page-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 180px;
  padding: 0 !important;
  text-align: center;
}

.page-hero__attach {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 760px;
  margin-inline: auto;
}

.page-hero__attach .btn {
  flex: 0 0 auto;
}

.page-hero__attach span {
  flex: 1 1 260px;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
}

.page-hero__breadcrumbs {
  min-height: 24px;
}

.page-hero__breadcrumbs .breadcrumb {
  margin-bottom: 0;
}

/* Priority CLS block: centered info section */
.info-section.content-section {
  display: flex;
  align-items: center;
  min-height: 418px;
  contain: layout paint;
}

.info-section__container {
  width: 100%;
}

.info-section,
.info-section__container,
.info-section__row,
.info-section__inner,
.info-section__heading,
.info-section__text {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.info-section__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-inline: -15px;
}

.info-section__inner {
  width: 100%;
  flex: 0 0 58.333333%;
  max-width: 58.333333%;
  padding-inline: 15px;
  text-align: center;
}

.info-section__heading {
  width: 100%;
  min-height: 258px;
  margin-bottom: 0;
}

.info-section__title {
  position: relative;
  margin: 0 0 60px;
  color: var(--tjr-text);
  font-size: 38px;
  font-weight: 700;
  line-height: 46px;
  letter-spacing: 0;
}

.info-section__title:before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -30px;
  width: 100px;
  height: 2px;
  margin-left: -50px;
  background: var(--tjr-blue);
}

.info-section__heading.text-left .info-section__title:before {
  left: 0;
  margin-left: 0;
}

.info-section__heading.text-right .info-section__title:before {
  right: 0;
  left: auto;
  margin-left: 0;
}

.info-section__text {
  display: block;
  min-height: 60px;
  margin-bottom: 40px;
  color: var(--tjr-muted);
  font-size: 20px;
  line-height: 30px;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

.info-section__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
}

/* Priority CLS block: advantages / feature split */
.feature-split,
.box-fancy.feature-split {
  padding-block: 0;
  overflow: hidden;
  contain: layout paint;
}

.feature-split__row {
  align-items: stretch;
  min-height: 460px;
}

.feature-split__media-col,
.feature-split__content-col {
  display: flex;
  min-height: 460px;
}

.feature-split__media {
  width: 100%;
  min-height: 460px;
  aspect-ratio: 38 / 23;
}

.feature-split__media .grid-item-wrap,
.feature-split__media .grid-image {
  width: 100%;
  height: 100%;
}

.feature-split__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.feature-split__video-link {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  background: rgba(0, 0, 0, .15);
  text-decoration: none;
}

.feature-split__video-link i {
  display: grid;
  place-items: center;
  width: 74px;
  height: 74px;
  border-radius: 50%;
  background: rgba(24, 118, 176, .92);
  font-size: 30px;
}

.feature-split__content-col {
  align-items: center;
  padding: clamp(32px, 5vw, 70px);
}

.feature-split__content {
  width: 100%;
  max-width: 620px;
}

.feature-split__list {
  margin-top: 26px;
}

.feature-split__list ul {
  margin-bottom: 0;
}

.feature-split__action {
  margin-top: 10px;
}

/* Reviews */
.review-strip,
.s-reviews.review-strip {
  padding-block: var(--tjr-section-y);
  contain: layout paint;
}

.review-strip__body,
.s-reviews .review-strip__body {
  display: grid;
  grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
  gap: 28px;
  align-items: stretch;
}

.review-strip__summary,
.s-reviews .review-strip__summary {
  min-height: 244px;
}

.review-strip__avatar,
.review-card__avatar {
  flex: 0 0 auto;
  overflow: hidden;
  background: #edf3f7;
  border-radius: 50%;
}

.review-strip__avatar {
  width: 64px;
  height: 64px;
}

.review-card__avatar {
  width: 40px;
  height: 40px;
}

.review-strip__avatar img,
.review-card__avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.review-strip__carousel.carousel {
  min-height: 244px;
}

.review-strip__carousel.carousel--runtime-deferred,
.article-strip__carousel.carousel--runtime-deferred {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px, 1fr);
  gap: 20px;
  overflow: hidden;
}

.review-strip__carousel.carousel > .slide,
.review-card {
  min-height: 244px;
}

.review-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.review-card__top {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
}

.review-card__rating,
.review-strip__rating {
  min-height: 20px;
  color: #f7b500;
  line-height: 20px;
}

.review-card__text {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
}

/* Articles and blog */
.article-strip,
.s-articles.article-strip {
  padding-block: var(--tjr-section-y);
  contain: layout paint;
}

.article-strip__carousel.carousel {
  min-height: 420px;
}

.article-strip__item,
.blog-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  color: inherit;
  background: #fff;
  text-decoration: none;
}

.article-strip__media,
.blog-card__media,
.article__media {
  display: block;
  overflow: hidden;
  margin: 0 0 18px;
  background: #edf3f7;
  aspect-ratio: 88 / 43;
  min-height: clamp(190px, 28vw, 374px);
}

.blog-card__media a {
  display: block;
  width: 100%;
  height: 100%;
}

.article-strip__media img,
.blog-card__media img,
.article__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-strip__content,
.blog-card__body {
  flex: 1 1 auto;
}

.blog-layout,
.article-layout {
  margin-top: 6rem !important;
  padding-block: 56px 100px;
}

#pdopage.blog-layout {
  min-height: 1180px;
  padding-top: 56px !important;
  padding-bottom: 100px !important;
  contain: layout paint;
}

.blog-layout__row,
.article-layout__row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-inline: -15px;
}

.blog-layout__main,
.blog-layout__aside,
.article-layout__main,
.article-layout__aside {
  width: 100%;
  min-width: 0;
  padding-inline: 15px;
}

.blog-layout__main,
.article-layout__main {
  flex: 0 0 75%;
  max-width: 75%;
}

#pdopage .blog-layout__main {
  min-height: 860px;
}

.blog-layout__aside,
.article-layout__aside {
  flex: 0 0 25%;
  max-width: 25%;
}

.blog-list {
  display: grid;
  gap: 34px;
  min-height: 860px;
}

.blog-card {
  min-width: 0;
  min-height: 520px;
}

#pdopage .articles .blog-card,
.blog-list.articles .blog-card {
  padding: 30px;
  margin-bottom: 50px;
  box-shadow: rgba(100, 100, 111, .2) 0 7px 29px 0;
}

.blog-card__header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.blog-card__body {
  min-width: 0;
}

.blog-card__title {
  min-height: 92px;
  margin-bottom: 0;
  font-size: 38px;
  line-height: 46px;
  text-wrap: balance;
}

.blog-card__title,
.blog-card__title a {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.blog-card__title a {
  overflow-wrap: normal;
  hyphens: none;
}

.blog-card__meta {
  display: inline-block;
  min-height: 24px;
  line-height: 24px;
}

.blog-card__image,
.blog-card__media .blog-card__image {
  margin: 0 !important;
}

.blog-card__excerpt {
  margin-top: 16px;
  min-height: 52px;
}

.blog-sidebar,
#sidebar.blog-sidebar {
  min-width: 0;
}

.blog-sidebar .widget {
  contain: layout paint;
}

.article,
.post.article {
  color: var(--tjr-text);
}

.article__title {
  text-wrap: balance;
}

.article__meta {
  display: inline-block;
  min-height: 24px;
}

.article__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.article__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* Forms, modals, cookies, floating contact */
.contact-form-section {
  padding-block: var(--tjr-section-y);
  contain: layout paint;
}

.contact-form-section__form {
  margin-top: 30px;
}

.contact-form-section__privacy {
  margin-top: 32px;
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  overflow-y: auto;
  background: rgba(16, 24, 32, .62);
}

.modal.active {
  display: block;
}

.modal__wrap {
  min-height: 100%;
  display: flex;
  align-items: center;
  padding-block: 48px;
}

.floating-contact,
#floating-button.floating-contact {
  width: 55px;
  height: 55px;
  contain: layout paint;
  transform: translateZ(0);
}

.floating-contact__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 55px;
  height: 55px;
  border: 0;
  border-radius: 50%;
  background: var(--tjr-orange);
  font-size: 33px;
  line-height: 1;
}

#floating-button.floating-contact i {
  display: block;
  width: 33px;
  height: 33px;
  color: #fff;
  line-height: 33px;
  text-align: center;
}

.floating-contact__links,
#social-links.floating-contact__links {
  min-width: 180px;
  min-height: 70px;
  gap: 10px;
  contain: layout paint;
}

body.site-page #cc-window.cc-window {
  transform: translateZ(0);
  box-sizing: border-box;
  max-width: min(600px, calc(100vw - 32px)) !important;
  contain: layout;
  overflow-x: clip;
}

#cc-window.cc-window .cc-compliance,
body.site-page #cc-window.cc-window .cc-compliance {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
}

#cc-window.cc-window .cc-compliance .cc-btn,
body.site-page #cc-window.cc-window .cc-compliance .cc-btn {
  flex: 1 1 180px;
  min-width: 0;
  margin: 0 !important;
  box-sizing: border-box;
  white-space: normal;
}

.cc-revoke,
body.site-page .cc-revoke,
.cc-revoke2,
body.site-page .cc-revoke2 {
  max-width: calc(100vw - 32px);
  box-sizing: border-box;
  border: 1px solid rgba(24, 118, 176, .24) !important;
  border-radius: 6px 6px 0 0 !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
  color: var(--tjr-blue) !important;
  line-height: 1.35;
  white-space: normal;
}

/* Footer */
.site-footer,
#footer.site-footer {
  contain: layout paint;
}

.site-footer__logo,
.logo-footer.site-footer__logo {
  display: block;
  width: 280px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 450 / 87;
}

.site-footer__trust-badge {
  display: block;
  width: 100px;
  height: 100px;
}

.site-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

/* Secondary component hooks */
.faq-section,
.offices-section,
.prices-section,
.steps-section,
.text-section,
.info-section,
.license-section,
.industry-section,
.regulations-news-section,
.important-nuances-section,
.garanties-section,
.feedback-cta {
  contain: layout paint;
}

.prices-section {
  min-height: 560px;
}

.office-card__map {
  overflow: hidden;
  min-height: 260px;
  background: #edf3f7;
}

.office-card__map iframe {
  display: block;
  width: 100%;
  min-height: 260px;
}

.price-list,
.prices.price-list {
  display: grid;
  gap: 14px;
}

.price-list__item,
.price-item.price-list__item {
  min-height: 120px;
}

.steps-grid,
.steps.steps-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.steps-grid__item,
.step.steps-grid__item {
  min-height: 210px;
}

@media (max-width: 1024px) {
  :root {
    --tjr-section-y: 64px;
  }

  .site-header__brand-img {
    width: 220px;
  }

  .site-header__actions,
  .header-extras.site-header__actions {
    min-width: 124px;
  }

  .review-strip__body,
  .s-reviews .review-strip__body {
    grid-template-columns: 1fr;
  }

  .steps-grid,
  .steps.steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .blog-layout__main,
  .blog-layout__aside,
  .article-layout__main,
  .article-layout__aside {
    flex-basis: 100%;
    max-width: 100%;
  }

  .blog-layout__aside,
  .article-layout__aside {
    margin-top: 40px;
  }

  .blog-layout__main {
    padding-inline: 0;
  }
}

@media (max-width: 767px) {
  :root {
    --tjr-header-height: 60px;
    --tjr-header-stack: 105px;
    --tjr-hero-height: clamp(560px, 72svh, 680px);
    --tjr-hero-max-height: 680px;
    --tjr-section-y: 48px;
  }

  .site-header__brand,
  #logo.site-header__brand,
  .site-header__actions,
  .header-extras.site-header__actions,
  .site-nav,
  #mainMenu.site-nav {
    min-height: var(--tjr-header-height);
  }

  .site-header__brand-img {
    width: 170px;
  }

  .site-header__actions,
  .header-extras.site-header__actions {
    min-width: 108px;
    margin-right: 0;
  }

  .header-extras > ul > li .p-dropdown a > span,
  .language-switcher__current span {
    display: none;
  }

  .header-extras > ul > li .p-dropdown a > img,
  .language-switcher__flag {
    position: relative;
    top: -3px;
  }

  .language-switcher,
  .p-dropdown.language-switcher {
    min-width: 24px;
  }

  .mainMenu-open #header #mainMenu.site-nav,
  .mainMenu-open #header #mainMenu {
    width: 100% !important;
    max-width: 100vw;
    margin-left: 0 !important;
    overflow-x: hidden;
  }

  #mainMenu.site-nav > .container {
    padding-right: 0;
    padding-left: 0;
  }

  #mainMenu.site-nav nav > ul {
    padding-right: 0;
    padding-left: 0;
  }

  #mainMenu.site-nav nav > ul > li > .site-nav__link,
  #mainMenu.site-nav nav > ul > li > a,
  #mainMenu.site-nav nav > ul > li > span {
    padding: 12px 24px;
  }

  #mainMenu.site-nav nav > ul > li .dropdown-menu {
    padding-right: 24px;
    padding-left: 24px;
  }

  .hero-slider.inspiro-slider,
  .hero-slider.inspiro-slider.flickity-enabled,
  .hero-slider.inspiro-slider .slide,
  .hero-slider.inspiro-slider .flickity-viewport,
  .hero-slider.inspiro-slider .flickity-slider,
  .hero-slider.inspiro-slider .polo-carousel-item {
    min-height: var(--tjr-hero-height);
    max-height: var(--tjr-hero-max-height);
  }

  .hero-slider.inspiro-slider .slide > .container {
    padding-top: 64px;
    padding-bottom: 52px;
  }

  .info-section.content-section {
    min-height: 336px;
  }

  .info-section__inner {
    flex-basis: 100%;
    max-width: 100%;
    padding-inline: 0;
  }

  .info-section__container {
    padding-inline: 24px;
  }

  .info-section__row {
    margin-inline: 0;
  }

  .info-section__heading {
    min-height: 224px;
  }

  .info-section__title {
    font-size: 32px;
    line-height: 40px;
  }

  .info-section__text {
    font-size: 18px;
    line-height: 28px;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .page-hero,
  #page-title.page-hero {
    height: 360px;
    min-height: 360px;
  }

  .page-hero__container,
  .page-hero > .container {
    min-height: 360px;
    padding-block: 0;
  }

  .page-hero__content,
  #page-title.page-hero .page-title {
    min-height: 238px;
  }

  .page-hero__title,
  .page-hero h1,
  #page-title.data-bg-parallax .page-title > h1,
  #page-title.data-bg-parallax .page-title > .h1 {
    margin-bottom: 0 !important;
    font-size: 20px !important;
    line-height: 1.25;
  }

  .page-hero__breadcrumbs,
  #page-title .breadcrumb {
    display: none !important;
  }

  .page-hero__attach {
    justify-content: center;
    text-align: center;
    padding-inline: 16px;
  }

  .page-hero__attach span {
    flex-basis: 100%;
    max-width: 340px;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal;
  }

  .feature-split__row,
  .feature-split__media-col,
  .feature-split__content-col,
  .feature-split__media {
    min-height: 0;
  }

  .feature-split__media {
    aspect-ratio: 4 / 3;
  }

  .feature-split__content-col {
    padding: 34px 22px 42px;
  }

  .review-strip__carousel.carousel--runtime-deferred,
  .article-strip__carousel.carousel--runtime-deferred {
    grid-auto-columns: minmax(280px, 100%);
  }

  .article-strip__carousel.carousel {
    min-height: 390px;
  }

  .blog-card {
    min-height: 620px;
  }

  #pdopage.blog-layout {
    min-height: 1460px;
    padding-top: 40px !important;
  }

  #pdopage .blog-layout__main,
  .blog-list {
    min-height: 1120px;
  }

  #pdopage .articles .blog-card,
  .blog-list.articles .blog-card {
    padding: 22px;
    margin-bottom: 34px;
  }

  .blog-card__media,
  .article-strip__media,
  .article__media {
    min-height: 190px;
  }

  .blog-card__title {
    min-height: 0;
    font-size: 24px;
    line-height: 32px;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal;
    hyphens: none;
  }

  .blog-card__title a {
    display: block;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal;
    hyphens: none;
  }

  #cc-window.cc-window,
  body.site-page #cc-window.cc-window,
  #cc-window.cc-floating,
  body.site-page #cc-window.cc-floating {
    right: 16px !important;
    left: 16px !important;
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    padding: 20px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px;
  }

  #cc-window.cc-window .cc-compliance,
  body.site-page #cc-window.cc-window .cc-compliance {
    flex-direction: column !important;
    align-self: stretch !important;
    gap: 8px;
    width: 100% !important;
    max-width: 100% !important;
  }

  #cc-window.cc-window .cc-compliance .cc-btn,
  #cc-window.cc-window .cc-compliance .cc-btn.cc-accept-all,
  #cc-window.cc-window a.cc-btn.cc-save.opengescookies.cc-btn-no-href,
  body.site-page #cc-window.cc-window .cc-compliance .cc-btn,
  body.site-page #cc-window.cc-window .cc-compliance .cc-btn.cc-accept-all,
  body.site-page #cc-window.cc-window a.cc-btn.cc-save.opengescookies.cc-btn-no-href {
    width: 100% !important;
    flex: 0 0 auto !important;
    padding: 10px 14px !important;
    text-align: center;
  }

  .cc-revoke,
  body.site-page .cc-revoke,
  .cc-revoke2,
  body.site-page .cc-revoke2 {
    right: 16px !important;
    left: auto !important;
    max-width: calc(100vw - 32px);
    padding: 9px 12px !important;
    font-size: 13px !important;
  }

  #floating-button.floating-contact {
    right: 18px;
    bottom: 46px;
  }

  .steps-grid,
  .steps.steps-grid {
    grid-template-columns: 1fr;
  }
}

/* v4.2: restore the legacy mobile header geometry after the v4.1 stabilizer. */
@media (max-width: 767px) {
  #header .header-inner > .container,
  #header #header-wrap > .container,
  .site-header__container {
    display: block !important;
    position: relative !important;
    height: 60px !important;
    min-height: 60px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  #logo.site-header__brand {
    float: left !important;
    display: block !important;
    position: relative !important;
    z-index: 1;
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    height: 60px !important;
    min-height: 60px !important;
    line-height: 60px !important;
    flex: none !important;
  }

  #logo.site-header__brand .site-header__brand-link {
    display: inline-flex !important;
    align-items: center !important;
    width: 200px !important;
    height: 60px !important;
    min-height: 60px !important;
  }

  #logo.site-header__brand .site-header__brand-img,
  #logo img.site-header__brand-img {
    display: block !important;
    width: 200px !important;
    max-width: 200px !important;
    height: auto !important;
    aspect-ratio: 450 / 87;
  }

  #mainMenu-trigger.site-header__menu-trigger {
    float: right !important;
    position: relative !important;
    z-index: 12 !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 60px !important;
    line-height: 60px !important;
  }

  body:not(.mainMenu-open) #mainMenu.site-nav {
    display: none !important;
  }

  .mainMenu-open #header #mainMenu.site-nav {
    display: block !important;
    position: absolute !important;
    top: 60px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    clear: both !important;
  }

  .header-extras.site-header__actions {
    float: right !important;
    position: relative !important;
    z-index: 10 !important;
    width: 168px !important;
    min-width: 168px !important;
    max-width: 168px !important;
    height: 60px !important;
    min-height: 60px !important;
    margin-right: 16px !important;
  }

  .header-extras.site-header__actions > ul {
    width: 100% !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }

  .header-extras.site-header__actions > ul > li {
    height: 60px !important;
    min-height: 60px !important;
    line-height: 60px !important;
    margin-left: 8px !important;
    float: none !important;
  }

  #page-title.page-hero > .container {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

@media (max-width: 375px) {
  #logo.site-header__brand,
  #logo.site-header__brand .site-header__brand-link {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
  }

  #logo.site-header__brand .site-header__brand-img,
  #logo img.site-header__brand-img {
    width: 150px !important;
    max-width: 150px !important;
  }

  .header-extras.site-header__actions {
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    margin-right: 12px !important;
  }
}

/* v4.3: reserve late legacy blog and pricing geometry. */
#page-title.page-hero .page-title,
.page-hero__content {
  min-height: 216px !important;
}

#pdopage .articles .blog-card,
.blog-list.articles .blog-card {
  padding: 30px !important;
  margin-bottom: 50px !important;
}

@media (min-width: 992px) {
  #block3.background-grey {
    padding: 80px 0 !important;
    min-height: 482px !important;
    contain: layout paint;
  }

  #block3.background-grey .row {
    display: flex !important;
    flex-wrap: wrap !important;
    min-height: 322px !important;
  }

  #block3.background-grey .col-lg-4 {
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  #block3.background-grey .resalt-img-center {
    min-height: 322px !important;
  }

  #block3.background-grey .resalt-img-center img {
    display: block !important;
    width: 120px !important;
    height: 120px !important;
    object-fit: contain !important;
    margin: 0 auto 25px !important;
  }

  #block3.background-grey .resalt-img-center .h4 {
    min-height: 40px !important;
    margin-bottom: 10px !important;
  }

  #block3.background-grey .resalt-img-center p {
    min-height: 104px !important;
    margin-bottom: 0 !important;
  }

  .prices-section.content-section#block9 {
    min-height: 1062px !important;
  }
}

@media (max-width: 991px) {
  #pdopage .articles .blog-card,
  .blog-list.articles .blog-card {
    padding: 22px !important;
    margin-bottom: 34px !important;
    min-height: 620px !important;
  }

  .blog-card__header.entry-header {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .blog-card__title.entry-title.h2,
  .blog-card__title {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
  }

  .blog-card__meta.fecha-post {
    display: block !important;
    margin-bottom: 8px !important;
  }
}

@media (max-width: 767px) {
  #page-title.page-hero .page-title,
  .page-hero__content {
    min-height: 238px !important;
  }

  .blog-card__media {
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
  }

  .blog-card__media img,
  .blog-card__media img.wp-post-image.blog-card__image {
    height: 100% !important;
    object-fit: cover !important;
  }
}

/* v4.4: keep the mobile language switcher from expanding before late CSS settles. */
@media (max-width: 767px) {
  .header-extras.site-header__actions {
    overflow: visible !important;
  }

  .header-extras.site-header__actions > ul {
    overflow: visible !important;
  }

  .header-extras.site-header__actions > ul > li {
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  .header-extras.site-header__actions > ul > li.telegram-mobile {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
  }

  .header-extras.site-header__actions > ul > li:last-child {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    flex-basis: 40px !important;
  }

  .language-switcher,
  .p-dropdown.language-switcher {
    display: block !important;
    position: relative !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 60px !important;
    min-height: 60px !important;
    line-height: 60px !important;
    overflow: visible !important;
  }

  .language-switcher__current {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 60px !important;
    min-height: 60px !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  .language-switcher__current span,
  .header-extras > ul > li .p-dropdown a > span {
    display: none !important;
  }

  .language-switcher__flag,
  .header-extras > ul > li .p-dropdown a > img {
    display: block !important;
    position: static !important;
    width: 16px !important;
    height: 11px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    margin: 0 !important;
    object-fit: cover !important;
  }

  .p-dropdown-content.language-switcher__list,
  .language-switcher__list {
    display: none !important;
    position: absolute !important;
    top: 60px !important;
    right: 0 !important;
    left: auto !important;
    width: 160px !important;
    min-width: 160px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    overflow: visible !important;
    z-index: 220 !important;
  }

  .language-switcher:hover > .language-switcher__list,
  .language-switcher:hover > .p-dropdown-content,
  .language-switcher:focus-within > .language-switcher__list,
  .language-switcher:focus-within > .p-dropdown-content {
    display: block !important;
  }
}

/* v4.5: cookie banner must be a fixed overlay before deferred cookie CSS/JS settles. */
#cc-window.cc-window,
#cc-window.cc-floating,
.cc-window.cc-floating {
  position: fixed !important;
  z-index: 999999 !important;
  top: auto !important;
  right: auto !important;
  bottom: 16px !important;
  left: 50% !important;
  display: flex;
  flex-direction: column;
  box-sizing: border-box !important;
  width: min(600px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100svh - 32px) !important;
  margin: 0 !important;
  overflow: auto !important;
  transform: translateX(-50%) translateZ(0) !important;
  contain: layout paint !important;
}

.cc-window.cc-invisible {
  display: none !important;
}

#cc-window.cc-window .cc-compliance {
  display: flex !important;
  flex-wrap: wrap;
  width: 100%;
  gap: 10px;
}

@media (max-width: 767px) {
  #cc-window.cc-window,
  #cc-window.cc-floating,
  .cc-window.cc-floating {
    top: auto !important;
    right: 16px !important;
    bottom: 16px !important;
    left: 16px !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100svh - 32px) !important;
    padding: 20px !important;
    transform: translateZ(0) !important;
  }

  #cc-window.cc-window .cc-compliance {
    flex-direction: column !important;
    align-self: stretch !important;
    gap: 8px;
    width: 100% !important;
  }

  #cc-window.cc-window .cc-compliance .cc-btn,
  #cc-window.cc-window .cc-compliance .cc-btn.cc-accept-all,
  #cc-window.cc-window a.cc-btn.cc-save.opengescookies.cc-btn-no-href {
    width: 100% !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    text-align: center !important;
    white-space: normal !important;
  }
}

/* v4.6: legacy img height:auto must not collapse reserved inner hero media. */
#page-title.page-hero > .page-hero__media,
#page-title.page-hero picture.page-hero__media {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  overflow: hidden !important;
}

#page-title.page-hero .page-hero__image,
#page-title.page-hero picture.page-hero__media > img.page-hero__image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

@media (max-width: 375px) {
  .site-header__brand-img {
    width: 150px;
  }
}

/* v4.1: preserve final geometry when async legacy CSS applies later. */
.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }

  .flex-lg-column {
    flex-direction: column !important;
  }
}

#page-title.page-hero .page-title,
.page-hero__content {
  min-height: 212px !important;
}

.info-section.content-section {
  min-height: 454px !important;
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

.info-section__container {
  max-width: 1140px !important;
  margin-inline: auto !important;
  padding-inline: 15px !important;
}

.info-section__inner {
  flex: 0 0 58.333333% !important;
  max-width: 58.333333% !important;
  padding-inline: 15px !important;
}

.info-section__heading {
  min-height: 294px !important;
}

.blog-card__media {
  height: 374px !important;
  min-height: 374px !important;
  max-height: 374px !important;
  aspect-ratio: auto !important;
}

.blog-card__media a,
.blog-card__media img {
  width: 100% !important;
  height: 100% !important;
}

.blog-card__media img,
.blog-card__media img.wp-post-image.blog-card__image {
  object-fit: cover !important;
  max-height: none !important;
  margin: 0 !important;
}

.blog-card__title.entry-title.h2,
.blog-card__title {
  font-size: 38px !important;
  line-height: 46px !important;
  min-height: 138px !important;
}

.blog-layout__row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  margin-inline: -15px !important;
}

.blog-layout__main.col-lg-9 {
  flex: 0 0 75% !important;
  max-width: 75% !important;
  padding-inline: 15px !important;
}

.blog-layout__aside.col-lg-3 {
  flex: 0 0 25% !important;
  max-width: 25% !important;
  padding-inline: 15px !important;
}

@media (max-width: 991px) {
  .blog-layout__main.col-lg-9,
  .blog-layout__aside.col-lg-3 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  .blog-card__title.entry-title.h2,
  .blog-card__title {
    font-size: 28px !important;
    line-height: 36px !important;
    min-height: 0 !important;
  }
}

@media (max-width: 767px) {
  #header .header-inner > .container,
  #header #header-wrap > .container,
  .site-header__container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 60px !important;
    min-height: 60px !important;
  }

  .header-extras.site-header__actions {
    top: 0 !important;
    width: 168px !important;
    min-width: 168px !important;
    height: 60px !important;
    min-height: 60px !important;
    margin-right: 34px !important;
  }

  .header-extras.site-header__actions > ul {
    width: 100% !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }

  .header-extras.site-header__actions > ul > li {
    height: 60px !important;
    min-height: 60px !important;
    line-height: 60px !important;
    margin-left: 8px !important;
    float: none !important;
  }

  #page-title.page-hero .page-title,
  .page-hero__content {
    min-height: 238px !important;
  }

  .info-section.content-section {
    min-height: 336px !important;
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .info-section__container {
    max-width: none !important;
    padding-inline: 24px !important;
  }

  .info-section__row {
    margin-inline: 0 !important;
  }

  .info-section__inner {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-inline: 0 !important;
  }

  .info-section__heading {
    min-height: 224px !important;
  }

  .feature-split__row {
    display: flex !important;
    flex-direction: column-reverse !important;
    min-height: 0 !important;
  }

  .feature-split__media-col,
  .feature-split__content-col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
  }

  .feature-split__media {
    aspect-ratio: 4 / 3 !important;
    min-height: 0 !important;
  }

  .blog-layout__main.col-lg-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-inline: 15px !important;
  }

  .blog-card__media {
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
  }

  .blog-card__media img,
  .blog-card__media img.wp-post-image.blog-card__image {
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .blog-card__title.entry-title.h2,
  .blog-card__title {
    font-size: 24px !important;
    line-height: 32px !important;
    min-height: 0 !important;
  }
}

/* ===== FIX 2026-06-09 (audit MOAB): устранение конфликтов рефакторинга ===== */

/* #1 Дубль иконок WhatsApp/Telegram в хедере (desktop).
   Самоконфликт: общее правило li{display:list-item!important} перебивало скрытие.
   Поднимаем специфичность и оставляем один набор (header-extras). */
body.site-page #header #mainMenu.site-nav nav > ul > li.whatsapp-menu,
body.site-page #header #mainMenu.site-nav nav > ul > li.telegram-menu,
#header #mainMenu.site-nav nav > ul > li.whatsapp-menu,
#header #mainMenu.site-nav nav > ul > li.telegram-menu,
#header #mainMenu nav > ul > li.whatsapp-menu,
#header #mainMenu nav > ul > li.telegram-menu {
  display: none !important;
}
/* Брендовые цвета оставшихся иконок (header-extras) на всех ширинах */
#header .header-extras .whatsapp-mobile a i { color: #21bd5c !important; }
#header .header-extras .telegram-mobile a i { color: #34a9e4 !important; }

/* #2 Видео-блок на главной: оверлей и play-кнопка по всей картинке (была полоса).
   Причина: .grid-description была absolute с высотой ~40px вне картинки.
   Решение: картинка заполняет media-frame (cover), описание/оверлей — inset:0. */
.home-video .grid-item-wrap,
.home-video .grid-image {
  position: relative !important;
  display: block !important;
  height: 100% !important;
}
.home-video .grid-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.home-video .grid-description {
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  width: auto !important; height: auto !important;
  margin: 0 !important; padding: 0 !important;
  opacity: 1 !important; visibility: visible !important; transform: none !important;
}
.home-video .feature-split__video-link {
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  display: grid !important; place-items: center !important;
  background: rgba(0, 0, 0, .18) !important;
}
.grid-item.home-video .grid-description a.feature-split__video-link i {
  width: 80px !important; height: 80px !important; line-height: 80px !important;
  border-radius: 50% !important; background: #FF9700 !important; color: #fff !important;
  font-size: 32px !important; display: grid !important; place-items: center !important;
  position: static !important; top: auto !important; margin: 0 !important;
}
.grid-item.home-video .grid-description a.feature-split__video-link:hover i {
  background: #e68800 !important;
}
/* ===== /FIX 2026-06-09 ===== */

/* ===== FIX 2026-06-09 #4 (audit): адаптивность медиа-картинок ===== */
/* Проблема: на desktop .row{align-items:stretch} тянул медиа-колонку на высоту
   текста, и object-fit:cover зумил картинку до 4.2x. Решение: медиа держит
   собственную пропорцию (aspect-ratio совпадает с натуральной 760x460 = 38/23),
   колонка не растягивается. */
@media (min-width: 992px) {
  .feature-split__media-col {
    align-self: flex-start !important;
  }
}
.feature-split__media {
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 38 / 23 !important;
}
.feature-split__media .grid-item-wrap,
.feature-split__media .grid-image {
  height: 100% !important;
}
.feature-split__image,
.feature-split__media .grid-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
/* ===== /FIX #4 ===== */

/* ===== FIX 2026-06-10 (независимая ревизия) ===== */
/* Наложение строк hero-h1 на планшете (769–1099px) — дубль фикса из tjr-critical.css
   (паттерн как у фикса иконок: страховка на случай пересборки critical).
   Анти-CLS блок живёт ТОЛЬКО в tjr-critical.css — его сюда не дублировать. */
@media (min-width: 769px) and (max-width: 1099px) {
  #page-title .page-title > h1.text-medium,
  #page-title .page-title > .h1.text-medium {
    line-height: 1.2 !important;
  }
}
