/* One large offer and two compact offers per swipeable panel. */
.noviv-promotions { --promotions-gap: 20px; min-width: 0; }
body .noviv-v5.noviv-v10 .noviv-promotions .v5-section-head > .noviv-promotions__all {
  display: inline-flex !important; flex-shrink: 0; align-items: center; gap: 8px; white-space: nowrap;
}
.noviv-promotions svg { display:block; width:20px; height:20px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.noviv-promotions__track {
  display: flex; align-items: stretch; gap: var(--promotions-gap); min-width: 0;
  overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
  scrollbar-width: none; padding: 4px 0 14px; margin: -4px 0 -14px;
  border-radius: 22px; -webkit-overflow-scrolling: touch;
}
.noviv-promotions__track::-webkit-scrollbar { display: none; }
.noviv-promotions__panel {
  display: grid; flex: 0 0 100%; min-width: 0; gap: var(--promotions-gap);
  grid-template-columns: minmax(0,2fr) minmax(0,1fr);
  grid-template-rows: repeat(2,minmax(310px,auto)); scroll-snap-align: start; scroll-snap-stop: always;
}
.noviv-promotion {
  position: relative; isolation: isolate; display: flex; flex-direction: column;
  min-width: 0; min-height: 310px; overflow: hidden; border: 1px solid rgba(32,51,66,.1);
  border-radius: 24px; background: #203342; color: #fff;
}
.noviv-promotions__panel > .noviv-promotion:first-child { grid-column: 1; grid-row: 1 / span 2; }
.noviv-promotions__panel > .noviv-promotion:not(:first-child) { grid-column: 2; }
.noviv-promotion__media { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.noviv-promotion__media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(32,51,66,.97) 0%,rgba(32,51,66,.86) 32%,rgba(32,51,66,.32) 73%,rgba(32,51,66,.07) 100%); }
.noviv-promotion__media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.noviv-promotion__badge {
  position: absolute; top: 20px; right: 20px; z-index: 2; display: inline-flex; align-items: center;
  min-height: 28px; padding: 4px 11px; border-radius: 30px; background: var(--noviv-brand);
  color: #fff !important; font-size: 11px; line-height: 1.4; font-weight: 700; letter-spacing: .06em;
}
.noviv-promotion__body {
  position:relative; display:flex; flex:1; flex-direction:column; align-items:stretch;
  gap:10px; min-width:0; padding:25px 24px;
}
body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__title,
body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__title a {
  max-width: 76%; margin:0; color:#fff !important; font-size:23px; line-height:1.2;
  font-weight:400 !important; text-decoration:none;
}
body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__title a { display:block; max-width:none; }
body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__title a:hover { text-decoration:underline; }
body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__description {
  max-width:76%; margin:0; color:rgba(255,255,255,.9) !important; font-size:13px; line-height:1.5;
}
.noviv-promotion__bottom { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:auto; padding-top:8px; }
.noviv-promotion__price { display:grid; gap:3px; }
.noviv-promotion__price strong { color:#fff; font-size:29px; font-weight:500; line-height:1.15; white-space:nowrap; }
.noviv-promotion__price small { max-width:180px; color:rgba(255,255,255,.85); font-size:12px; line-height:1.35; }
body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__link {
  display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px;
  padding:8px 14px; border:1px solid rgba(255,255,255,.8); border-radius:12px;
  background:rgba(255,255,255,.72); backdrop-filter:blur(3px); color:#203342 !important;
  font-size:14px; font-weight:400 !important; line-height:1.4; text-decoration:none;
  transition:background-color .18s ease;
}
body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__link:hover { background:rgba(255,255,255,.92); }
.noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__body { padding:78px 36px 36px; gap:18px; }
.noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__badge { top:28px; left:36px; right:auto; }
body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__title { max-width:58%; font-size:clamp(34px,3vw,46px); line-height:1.1; }
body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__title a { font-size:inherit; line-height:inherit; }
body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__description { max-width:53%; font-size:16px; line-height:1.55; }
.noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__bottom { justify-content:flex-start; gap:20px 24px; }
.noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__price strong { font-size:42px; }
.noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__price small { max-width:230px; font-size:14px; }
.noviv-promotions__controls { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:22px; }
.noviv-promotions__status { min-width:76px; margin-right:10px; color:#52636e; font-size:14px; font-variant-numeric:tabular-nums; text-align:right; }
.noviv-promotions__arrow { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; padding:0; border:1px solid rgba(32,51,66,.18); border-radius:50%; background:rgba(255,255,255,.72); color:#203342; cursor:pointer; transition:background-color .18s ease; }
.noviv-promotions__arrow:not(:disabled):hover { background:rgba(255,255,255,.92); }
.noviv-promotions__arrow:disabled { border-color:#dce8ed; color:#a8b5bd; cursor:default; }
.noviv-promotions :focus-visible { outline:2px solid #203342; outline-offset:3px; }
.noviv-promotion :focus-visible { outline-color:#fff; }
.noviv-promotions__track:focus-visible { outline-offset:5px; }
@media (max-width: 1000px) {
  .noviv-promotions__panel { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:minmax(420px,auto) minmax(300px,auto); }
  .noviv-promotions__panel > .noviv-promotion:first-child { grid-column:1 / -1; grid-row:1; }
  .noviv-promotions__panel > .noviv-promotion:not(:first-child) { grid-column:auto; grid-row:2; }
  .noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__body { padding-top:76px; }
  body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__title { max-width:65%; }
  body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__description { max-width:55%; }
}
@media (max-width: 767px) {
  .noviv-promotions__panel { grid-template-rows:minmax(400px,auto) minmax(320px,auto); }
  .noviv-promotion__body { padding:24px 20px; }
  body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__title { max-width:100%; font-size:21px; padding-right:30px; }
  body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__title a { font-size:inherit; }
  body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__description { max-width:100%; }
  .noviv-promotion__badge { top:16px; right:16px; min-height:24px; padding:3px 8px; font-size:9px; }
}
@media (max-width: 640px) {
  .noviv-promotions__panel { grid-template-columns:1fr; grid-template-rows:none; grid-auto-rows:minmax(310px,auto); }
  .noviv-promotions__panel > .noviv-promotion:first-child,
  .noviv-promotions__panel > .noviv-promotion:not(:first-child) { grid-column:1; grid-row:auto; }
  .noviv-promotion { min-height:310px; border-radius:20px; }
  .noviv-promotion__body,
  .noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__body { padding:62px 22px 24px; gap:13px; }
  .noviv-promotion__badge,
  .noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__badge { top:20px; left:22px; right:auto; font-size:10px; min-height:26px; }
  body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__title,
  body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__title { max-width:100%; padding-right:0; font-size:28px; line-height:1.15; }
  body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__description,
  body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__description { max-width:100%; font-size:14px; line-height:1.5; }
  .noviv-promotion__media::after { background:linear-gradient(90deg,rgba(32,51,66,.95),rgba(32,51,66,.67) 70%,rgba(32,51,66,.4)); }
  .noviv-promotion__bottom,
  .noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__bottom { gap:14px; justify-content:space-between; }
  .noviv-promotion__price strong,
  .noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__price strong { font-size:32px; }
  .noviv-promotion__price small,
  .noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__price small { font-size:12px; max-width:180px; }
  .noviv-promotions__controls { margin-top:18px; }
}
@media (max-width: 640px) { .noviv-promotions { --promotions-gap:8px; } }
@media (prefers-reduced-motion: reduce) {
  .noviv-promotions *, .noviv-promotions *::before, .noviv-promotions *::after { scroll-behavior:auto !important; transition:none !important; }
}

/* Keep the leading offer visibly larger in the single-column view. */
@media (max-width: 640px) {
  .noviv-promotions__panel > .noviv-promotion:first-child { min-height: 430px; }
}

/* NOVIV brighter promotion photographs. */
/* Original bright photos with translucent underlays behind the copy. */
.noviv-promotion { background: #edf8fc; color: #203342; }
.noviv-promotion__media::after { background: none !important; }
body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__title,
body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__title a,
.noviv-promotion__price strong { color: #203342 !important; }
body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__description,
.noviv-promotion__price small { color: #203342 !important; }
body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__description { max-width: 60%; }
body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__title,
body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__description,
.noviv-promotion__price {
  position: relative;
  isolation: isolate;
  text-shadow: none;
}
body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__title::before,
body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__description::before,
.noviv-promotion__price::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -8px -10px;
  border-radius: 14px;
  background: rgba(255,255,255,.55);
  filter: blur(6px);
  pointer-events: none;
}
body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__link {
  border-color: rgba(32,51,66,.18);
}
.noviv-promotion :focus-visible { outline-color: #203342; }
@media (max-width: 640px) {
  body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__description,
  body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__description { max-width: 82%; }
  .noviv-promotions__panel > .noviv-promotion:first-child .noviv-promotion__media img { object-position: 70% center; }
}
/* End NOVIV brighter promotion photographs. */

/* Compact offer badges have their own row above the heading. */
.noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__body { padding-top: 62px; }
.noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__badge { top: 20px; left: 24px; right: auto; }

/* Long Russian offer names wrap within the mobile card. */
@media (max-width: 640px) {
  body .noviv-v5.noviv-v10 .noviv-promotions .noviv-promotion__title a { overflow-wrap: anywhere; hyphens: auto; }
}

/* NOVIV compact promotion cards: ocean gradient, white copy and transparent artwork. */
.noviv-promotions__panel > .noviv-promotion:not(:first-child) {
  min-height: 370px;
  background:
    radial-gradient(circle at 105% 100%,rgba(255,255,255,.055) 0%,rgba(255,255,255,.055) 42%,transparent 42.3%),
    radial-gradient(ellipse at 100% 65%,rgba(0,179,255,.16),transparent 65%),
    linear-gradient(120deg,#205B79 0%,#176A90 100%);
  color: #fff;
}
.noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__media img {
  position: absolute;
  inset: auto 0 0 auto;
  width: 42%;
  max-width: 42%;
  height: 82%;
  object-fit: contain;
  object-position: right center;
}
.noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__body {
  gap: 8px;
  padding: 54px 22px 22px;
}
.noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__badge {
  top: 18px;
  left: 22px;
  right: auto;
}
body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__title,
body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__description,
.noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__bottom {
  max-width: 58%;
  padding-right: 0;
}
body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__title,
body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__title a {
  color: #fff !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  overflow-wrap: anywhere;
  hyphens: auto;
}
body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__description {
  color: rgba(255,255,255,.94) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}
.noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__bottom {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 12px;
}
.noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__price strong {
  color: #fff !important;
  font-size: 24px !important;
  line-height: 1.15 !important;
}
.noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__price small {
  max-width: none;
  color: rgba(255,255,255,.94) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__title::before,
body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__description::before,
.noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__price::before {
  content: none;
}
body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__link {
  width: 168px;
  max-width: 100%;
  height: 40px;
  min-height: 40px;
  padding: 8px 16px;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 12px;
  background: transparent;
  color: #fff !important;
  box-shadow: none;
  backdrop-filter: none;
  font-size: 16px !important;
  line-height: 1.2 !important;
}
body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__link:hover {
  background: rgba(255,255,255,.1);
}
.noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__link svg { display: none; }
.noviv-promotions__panel > .noviv-promotion:not(:first-child) :focus-visible { outline-color: #fff; }
@media (max-width: 1180px) {
  body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__title,
  body .noviv-v5.noviv-v10 .noviv-promotions__panel > .noviv-promotion:not(:first-child) .noviv-promotion__title a {
    font-size: 18px !important;
    letter-spacing: -.03em;
  }
}
/* End NOVIV compact gradient promotion cards. */
