/* Inner-page banner readability. Homepage media and the navigation are separate. */
.pbanner:not(.ru-catalog-banner-empty){
  display:grid;
  position:relative;
  isolation:isolate;
  background-color:#0b263d;
}
/* Replace older page-specific full-image overlays with one local text backing. */
.pbanner:not(.ru-catalog-banner-empty)::before{content:none!important;}
.pbanner:not(.ru-catalog-banner-empty)>img{
  grid-area:1 / 1;
  align-self:stretch;
  width:100%;
  height:auto;
  min-height:220px;
  object-fit:cover;
}
.pbanner:not(.ru-catalog-banner-empty)>.txt{
  grid-area:1 / 1;
  align-self:center;
  justify-self:center;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  width:fit-content!important;
  max-width:min(1100px,calc(100% - 64px));
  box-sizing:border-box;
  margin:32px 0;
  padding:24px 32px;
  z-index:2;
  color:#fff!important;
  background:rgba(8,33,54,.78);
  border:1px solid rgba(255,255,255,.18);
  text-shadow:none!important;
  overflow-wrap:break-word;
}
.pbanner:not(.ru-catalog-banner-empty)>.txt>.t{
  color:#fff!important;
  line-height:1.25;
  text-shadow:none!important;
}
.pbanner:not(.ru-catalog-banner-empty)>.txt>.c{
  margin-top:16px;
  color:#fff!important;
  font-size:16px;
  line-height:1.65;
  text-shadow:none!important;
}
/* CMS descriptions include historical 70px spans and spacer-only paragraphs. */
.pbanner:not(.ru-catalog-banner-empty)>.txt>.c p{
  margin:10px 0 0!important;
  line-height:inherit!important;
}
.pbanner:not(.ru-catalog-banner-empty)>.txt>.c span,
.pbanner:not(.ru-catalog-banner-empty)>.txt>.c strong,
.pbanner:not(.ru-catalog-banner-empty)>.txt>.c p{
  color:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
}
.pbanner:not(.ru-catalog-banner-empty)>.txt>.c>br,
.pbanner:not(.ru-catalog-banner-empty)>.txt>.c p:empty,
.pbanner:not(.ru-catalog-banner-empty)>.txt>.c p:has(>br:only-child){display:none;}
.pbanner:not(.ru-catalog-banner-empty)>.txt>.c:empty{margin-top:0;}
.pbanner:not(.ru-catalog-banner-empty)>.txt a{color:#fff!important;text-decoration:underline;text-underline-offset:3px;}
.pbanner:not(.ru-catalog-banner-empty)>.txt a:focus-visible{outline:2px solid #fff;outline-offset:4px;}
/* Some detail templates emit an entirely empty inherited banner. */
.pbanner:not(.ru-catalog-banner-empty):has(>img[src=""]):has(>.txt>.t:empty){display:none;}
.pbanner:not(.ru-catalog-banner-empty)>img[src=""]{visibility:hidden;}
@media(max-width:1200px){
  .pbanner:not(.ru-catalog-banner-empty)>.txt{max-width:calc(100% - 40px);margin:24px 0;padding:20px 24px;}
}
@media(max-width:640px){
  .pbanner:not(.ru-catalog-banner-empty)>img{min-height:200px;}
  .pbanner:not(.ru-catalog-banner-empty)>.txt{max-width:calc(100% - 32px);margin:20px 0;padding:18px 20px;}
}
