/* Keep the source icon dimensions while the SVG reuses its complete PNG.
   Height-sized icons and the width-sized hero retain their original axes. */
.legacy-public .main .legacy-corporate-logo {
  display: inline-block;
  max-width: 100%;
  aspect-ratio: 722 / 831;
}
.legacy-public .main .legacy-corporate-logo:is(.about__icon, .adjust__icon, .price-list__icon) { width: auto; }
.legacy-public .main .legacy-corporate-logo.hero__icon {
  height: auto;
  align-self: flex-start;
  flex-shrink: 0;
}

/* The inner shell is loaded after the direct `site_corporate.php` bundle and
 * makes every h2 a 32px display heading.  The source instead uses its
 * Code-Pro-Black-LC face and a compact 18px label for every numbered hat:
 * adaptive, rules, adjustment, gifts, key services and pricing. */
.legacy-public:has(.main) .main .hat__title {
  color: #000;
  font-family: 'Code-Pro-Black-LC', sans-serif;
  font-size: 18px;
  font-weight: 900;
  margin: 0;
}

/* Keep the adjoining adaptive callout in the same source face and restore
 * the source reset that the generic inner h2 rule otherwise replaces. */
.legacy-public:has(.main) .main .adaptive__descr {
  color: #000;
  font-family: 'Code-Pro-Black-LC', sans-serif;
  font-size: 35px;
  font-weight: 900;
  margin-bottom: 0;
}

/* The base inner-page h2/h3 reset is loaded after part of the source bundle.
 * Restore the literal `site_corporate.php` title box and the zero h3 margin
 * used by the three game descriptions. */
.legacy-public:has(.main) .main .hero__title {
  font-family: 'Code-Pro-Black-LC', sans-serif;
  font-size: 35px;
  line-height: 36px;
  margin-bottom: 20px;
}

.legacy-public:has(.main) .main .hero__subtitle {
  margin-bottom: 0;
}

@media (max-width: 1000px) {
  .legacy-public:has(.main) .main .hat__title { font-size: 24px; max-width: unset; }
}

@media (max-width: 500px) {
  .legacy-public:has(.main) .main .adaptive__descr { font-size: 28px; }
}

/* `site_corporate.php` includes a narrower source mobile rule for
 * `.about__title` (20px/28px, weight 500). Do not override it here. */
@media(max-width:1000px){.legacy-public:has(.main) .main .about__title{font-family:'Code-Pro-Black-LC',sans-serif;font-size:20px;font-weight:500;line-height:28px;margin-bottom:10px}}

@media (max-width: 500px) {
  .legacy-public:has(.main) .main .hero__title { font-size: 28px; }
}

/* site_corporate.php also loads home_games.css: its standalone mark after
   the hero sits on the same red rule as the original landing. */
.legacy-public:has(.main) .main > .homegames-promo__logo {
  position: relative;
  z-index: 1;
}

.legacy-public:has(.main) .main > .homegames-promo__logo::before {
  position: absolute;
  z-index: 0;
  top: 6px;
  left: 0;
  width: 100%;
  height: 4px;
  background: #e20913;
  content: '';
}

.legacy-public:has(.main) .main > .homegames-promo__logo span {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 0 30px;
  background: #3a384f;
}

/* Keep the corporate Dzen embed at the same responsive 16:9 size as the
 * homepage videos. The source bundle's fixed iframe min-height made it
 * square or portrait as its column narrowed. */
.legacy-public:has(.main) .main .video__container-iframe {
  display: block;
  width: 100%;
}

.legacy-public:has(.main) .main .video__container-iframe iframe {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
  margin: 0;
  box-sizing: border-box;
}

/* The source infographics section adds 100px bottom padding and its row adds
 * another 50px margin below the corporate gallery. End this section at its
 * actual content so the following rules block does not inherit that gap. */
.legacy-public:has(.main) .main .infographics {
  padding-bottom: 0;
}

.legacy-public:has(.main) .main .infographics-row {
  margin-bottom: 0;
}

/* Local source-equivalent AOS for the direct site_corporate.php port. */
html.legacy-corporate-motion-ready .legacy-public:has(.main) .legacy-corporate-aos-node {
  opacity: 0;
  transition: opacity .4s ease, transform .4s ease;
  transition-delay: 0s;
}
html.legacy-corporate-motion-ready .legacy-public:has(.main) .legacy-corporate-aos-node[data-aos="fade-right"] { transform: translate3d(-100px, 0, 0); }
html.legacy-corporate-motion-ready .legacy-public:has(.main) .legacy-corporate-aos-node[data-aos="fade-down-right"] { transform: translate3d(-100px, -100px, 0); }
html.legacy-corporate-motion-ready .legacy-public:has(.main) .legacy-corporate-aos-node[data-aos="fade-down-left"] { transform: translate3d(100px, -100px, 0); }
html.legacy-corporate-motion-ready .legacy-public:has(.main) .legacy-corporate-aos-node[data-aos="fade-up-right"] { transform: translate3d(-100px, 100px, 0); }
html.legacy-corporate-motion-ready .legacy-public:has(.main) .legacy-corporate-aos-node[data-aos="fade-up-left"] { transform: translate3d(100px, 100px, 0); }
html.legacy-corporate-motion-ready .legacy-public:has(.main) .legacy-corporate-aos-node[data-aos="zoom-in"] { transform: scale(.6); }
html.legacy-corporate-motion-ready .legacy-public:has(.main) .legacy-corporate-aos-node.legacy-corporate-aos-animate { opacity: 1; transform: none; transition-delay: var(--legacy-corporate-aos-delay, 0ms); }
@media (prefers-reduced-motion: reduce) {
  html.legacy-corporate-motion-ready .legacy-public:has(.main) .legacy-corporate-aos-node,
  .legacy-public:has(.main) .legacy-corporate-aos-node { opacity: 1; transform: none; transition: none; }
}

/* site_partners.js turns the source list into a 3-row / 4-column slick
   track.  Preserve that geometry without importing jQuery or slick. */
.legacy-public .partner-gallery { position: relative; display: block; }
.legacy-public .partner-gallery__viewport {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(3, 230px);
  grid-auto-columns: 25%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
}
.legacy-public .partner-gallery__viewport::-webkit-scrollbar { display: none; }
.legacy-public .partner-gallery__viewport .clients-item-container { scroll-snap-align: start; }
.legacy-public .partner-gallery .slick-arrow { z-index: 1; border: 0; }
.legacy-public .partner-gallery .slick-arrow:disabled { opacity: .35; cursor: default; }

/* The source Slick stylesheet positions dynamically generated controls. */
.legacy-public .corporate-slider { position: relative; }
.legacy-public .corporate-slider .slick-arrow {
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  cursor: pointer;
}
.legacy-public .corporate-slider-slide[hidden],
.legacy-public .corporate-thumbs__item[hidden] { display: none; }
.legacy-public .corporate-thumbs { display: flex; gap: 0; }
.legacy-public .corporate-thumbs__item { flex: 1 1 33.333%; }
.legacy-public .corporate-thumbs__item.slick-current { outline: 2px solid #f9b115; outline-offset: -2px; }
.legacy-public .corporate-thumbs__item:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }

/* The corporate gallery uses the same small, keyboard- and touch-operable
 * gallery controller as the standalone game page.  Its source markup used a
 * 430px infographics item inside a reserved 500px corporate slider, leaving
 * an unstyled 70px hole before thumbnails.  Match the live media to the
 * reserved corporate size, then keep the intentional four-pixel thumbnail
 * gutter from the game component. */
.legacy-public .corporate-slider-wrapper[data-game-gallery] { position: relative; touch-action: pan-y; }
.legacy-public .corporate-slider-wrapper[data-game-gallery] [data-game-gallery-item][hidden],
.legacy-public .corporate-slider-wrapper[data-game-gallery] [data-game-gallery-thumb][hidden] { display: none !important; }
.legacy-public .corporate-slider-wrapper[data-game-gallery] .corporate-slider-slide,
.legacy-public .corporate-slider-wrapper[data-game-gallery] .corporate-slider-slide > a { display: block; height: 100%; }
.legacy-public .corporate-slider-wrapper[data-game-gallery] .corporate-slider__item { height: 100%; }
.legacy-public .corporate-slider-wrapper[data-game-gallery] .corporate-slider__item img { display: block; width: 100%; height: 100%; object-fit: cover; }
.legacy-public .corporate-slider-wrapper[data-game-gallery] .corporate-thumbs { gap: 4px; margin-top: 4px; }
.legacy-public .corporate-slider-wrapper[data-game-gallery] .corporate-thumbs__item { display: block; overflow: hidden; padding: 0; border: 0; background: transparent; cursor: pointer; }
.legacy-public .corporate-slider-wrapper[data-game-gallery] .corporate-thumbs__item img { display: block; width: 100%; height: 100%; object-fit: cover; }
.legacy-public .corporate-slider-wrapper[data-game-gallery] .corporate-thumbs__item[aria-current='true'] { outline: 2px solid #f9b115; outline-offset: -2px; }
.legacy-public .corporate-slider-wrapper[data-game-gallery] .legacy-game-gallery-controls { position: absolute; z-index: 2; top: calc(50% - 92px); right: -40px; left: -40px; display: flex; justify-content: space-between; pointer-events: none; transform: translateY(-50%); }
.legacy-public .corporate-slider-wrapper[data-game-gallery] .legacy-game-gallery-controls button { border: 0; color: #fcea1c; background: transparent; font-size: 54px; line-height: 1; pointer-events: auto; cursor: pointer; }
.legacy-public .corporate-slider-wrapper[data-game-gallery] .legacy-game-gallery-controls button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.legacy-public:has(.main) .main .infographics-row > .infographics-column:first-child { position: relative; z-index: 6; }
.legacy-public .legacy-corporate-gallery-empty { display: grid; min-height: 300px; padding: 30px; place-items: center; color: #fff; background: rgb(255 255 255 / 8%); text-align: center; }
.legacy-corporate-gallery-dialog { position: fixed; top: 50%; right: 16px; left: 16px; transform: translateY(-50%); width: auto; max-width: 1080px; max-height: calc(100vh - 32px); margin: 0 auto; padding: 0; border: 0; box-sizing: border-box; background: transparent; color: #fff; }
.legacy-corporate-gallery-dialog::backdrop { background: rgb(0 0 0 / 82%); }
.legacy-corporate-gallery-dialog .legacy-game-gallery-dialog__box { position: relative; display: grid; max-height: inherit; place-items: center; padding: 42px 52px 28px; background: #201f30; box-shadow: 0 24px 70px rgb(0 0 0 / 55%); }
.legacy-corporate-gallery-dialog h2 { width: 100%; margin: 0 0 15px; color: #fff; font-size: 20px; font-weight: 400; text-align: left; }
.legacy-corporate-gallery-dialog img { display: block; max-width: 100%; max-height: calc(100vh - 230px); object-fit: contain; }
.legacy-corporate-gallery-dialog__controls { display: flex; width: 100%; box-sizing: border-box; justify-content: space-between; gap: 12px; margin-top: 16px; }
.legacy-corporate-gallery-dialog__controls button { display: grid; width: 44px; height: 44px; flex: 0 0 44px; padding: 0; border: 1px solid rgb(255 255 255 / 65%); border-radius: 50%; place-items: center; color: #fff; background: transparent; font-size: 30px; line-height: 1; cursor: pointer; }
.legacy-corporate-gallery-dialog__controls button:hover,.legacy-corporate-gallery-dialog__controls button:focus-visible { border-color: #fcea1c; color: #302509; background: #fcea1c; outline: 0; }
.legacy-corporate-gallery-dialog .legacy-game-gallery-dialog__close { position: absolute; top: 8px; right: 10px; display: grid; width: 34px; height: 34px; padding: 0; border: 1px solid rgb(255 255 255 / 65%); border-radius: 50%; place-items: center; color: #fff; background: transparent; font-size: 27px; line-height: 1; cursor: pointer; }
.legacy-corporate-gallery-dialog .legacy-game-gallery-dialog__close:hover,.legacy-corporate-gallery-dialog .legacy-game-gallery-dialog__close:focus-visible { border-color: #fcea1c; color: #302509; background: #fcea1c; outline: 0; }

/* The source only animated its yellow `.btn2` links, leaving the first
 * presentation CTA static.  Treat the two presentation links and every
 * order action as one interaction family without animating the unavailable
 * text fallback. */
.legacy-public .headline__pdf:not(.is-unavailable),
.legacy-public .contacts-buttons__btn,
.legacy-public .clients-actions__btn:not(.is-unavailable) { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.legacy-public .headline__pdf:not(.is-unavailable):hover,
.legacy-public .headline__pdf:not(.is-unavailable):focus-visible,
.legacy-public .contacts-buttons__btn:hover,
.legacy-public .contacts-buttons__btn:focus-visible,
.legacy-public .clients-actions__btn:not(.is-unavailable):hover,
.legacy-public .clients-actions__btn:not(.is-unavailable):focus-visible { transform: translateY(-2px) scale(1.025); box-shadow: 0 10px 20px rgb(19 18 34 / 22%); filter: brightness(1.04); outline: 0; }
.legacy-public .headline__pdf:not(.is-unavailable):focus-visible,
.legacy-public .contacts-buttons__btn:focus-visible,
.legacy-public .clients-actions__btn:not(.is-unavailable):focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.legacy-public .headline__pdf:not(.is-unavailable):active,
.legacy-public .contacts-buttons__btn:active,
.legacy-public .clients-actions__btn:not(.is-unavailable):active { transform: translateY(0) scale(.98); box-shadow: none; }
.legacy-public .headline__pdf.is-unavailable,.legacy-public .clients-actions__btn.is-unavailable { display: inline-flex; align-items: center; min-height: 40px; opacity: .8; cursor: not-allowed; }
.legacy-public .clients .clients-actions__tip { top: 50%; transform: translateY(-50%) !important; }
.legacy-public .clients .clients-actions__btn[data-order] { box-sizing: border-box; min-height: 44px; }
@media (prefers-reduced-motion: reduce) { .legacy-public .headline__pdf:not(.is-unavailable),.legacy-public .contacts-buttons__btn,.legacy-public .clients-actions__btn:not(.is-unavailable) { transition: none; }.legacy-public .headline__pdf:not(.is-unavailable):hover,.legacy-public .headline__pdf:not(.is-unavailable):focus-visible,.legacy-public .contacts-buttons__btn:hover,.legacy-public .contacts-buttons__btn:focus-visible,.legacy-public .clients-actions__btn:not(.is-unavailable):hover,.legacy-public .clients-actions__btn:not(.is-unavailable):focus-visible { transform: none; filter: none; } }
@media (max-width: 1260px) { .legacy-public .corporate-slider-wrapper[data-game-gallery] .legacy-game-gallery-controls { right: 0; left: 0; } }
@media (max-width: 1260px) { .legacy-public .corporate-slider-wrapper[data-game-gallery] .legacy-game-gallery-controls button { min-width: 44px; min-height: 44px; } }
@media (max-width: 700px) { .legacy-public .corporate-slider-wrapper[data-game-gallery] .legacy-game-gallery-controls { top: calc(50% - 64px); }.legacy-public .corporate-slider-wrapper[data-game-gallery] .legacy-game-gallery-controls button { font-size: 44px; }.legacy-public .legacy-corporate-gallery-empty { min-height: 220px; }.legacy-corporate-gallery-dialog .legacy-game-gallery-dialog__box { padding: 40px 16px 16px; }.legacy-corporate-gallery-dialog h2 { font-size: 16px; }.legacy-corporate-gallery-dialog img { max-height: calc(100vh - 112px); } }

@media (max-width: 768px) {
  .legacy-public .partner-gallery__viewport { grid-auto-columns: 33.333%; }
}

@media (max-width: 480px) {
  .legacy-public .partner-gallery__viewport { grid-auto-columns: 50%; grid-template-rows: repeat(3, 170px); }
}

@media (max-width: 700px) {
  .legacy-corporate-gallery-dialog img { max-height: calc(100vh - 190px); }
}

/* Give the playable video the larger share of the media row. Nested source
 * wrappers and 50px padding previously reduced it to a small preview. */
.legacy-public:has(.main) .main .corporate-media__video .video__wrapper {
  min-height: 0;
  padding: 20px 0;
}

@media (min-width: 1101px) {
  .legacy-public:has(.main) .main .infographics-row { margin-right: 0; margin-left: 0; }
  .legacy-public:has(.main) .main .corporate-media__photo { flex: 0 0 45%; max-width: 45%; padding: 0 25px 0 0; }
  .legacy-public:has(.main) .main .corporate-media__video { flex: 0 0 55%; max-width: 55%; padding: 0; }
}

@media (max-width: 1100px) {
  .legacy-public:has(.main) .main .infographics-row { display: block; margin-right: 0; margin-left: 0; }
  .legacy-public:has(.main) .main .corporate-media__photo,
  .legacy-public:has(.main) .main .corporate-media__video { max-width: 100%; padding: 0; }
}

/* The middle row owns the space between the title and the price notes. Its
 * content stays centered as either neighboring text grows. */
.legacy-public:has(.main) .main .price__left {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 20px;
}
.legacy-public:has(.main) .main .price__center {
  align-items: center;
  justify-content: center;
  gap: 0;
}

/* Restore the source order-button scale, including the keyboard equivalent.
 * Keep this more specific than the later shared public-cta interaction. */
html .legacy-public:has(.main) .btn2[data-order] {
  transition: transform .3s ease, opacity .4s ease;
}
html .legacy-public:has(.main) .btn2[data-order]:focus-visible {
  transform: scale(1.1);
  transition-delay: 0s;
  filter: none;
  outline: 3px solid #2f2e42;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #fff;
}
@media (hover: hover) and (pointer: fine) {
  html .legacy-public:has(.main) .btn2[data-order]:hover:not(:focus-visible) {
    transform: scale(1.1);
    transition-delay: 0s;
    filter: none;
    box-shadow: none;
  }
}
@media (hover: none) {
  html .legacy-public:has(.main) .btn2[data-order]:hover:not(:focus-visible) {
    transform: none;
    filter: none;
    box-shadow: none;
  }
}
html .legacy-public:has(.main) .btn2[data-order]:active { transform: none; }
@media (prefers-reduced-motion: reduce) {
  html .legacy-public:has(.main) .btn2[data-order] { transition: none; }
  html .legacy-public:has(.main) .btn2[data-order]:hover:not(:focus-visible),
  html .legacy-public:has(.main) .btn2[data-order]:focus-visible,
  html .legacy-public:has(.main) .btn2[data-order]:active { transform: none; }
}

/* Both hand-drawn arrow assets use a 222.1 x 143.7 viewBox. Fit the complete
 * curve instead of clipping its intrinsic size into the 58px pseudo box. */
.legacy-public:has(.main) .headline__subdescr {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  width: 160px;
  margin: 0;
  color: #2f2e42;
  white-space: normal;
  transform: none !important;
}
.legacy-public:has(.main) .headline__subdescr::before,
.legacy-public:has(.main) .clients-actions__tip::before {
  width: 58px;
  height: auto;
  aspect-ratio: 222.1 / 143.7;
  background-position: center;
  background-size: contain;
  pointer-events: none;
}
.legacy-public:has(.main) .headline__subdescr::before {
  top: 100%;
  left: -20px;
}
.legacy-public:has(.main) .clients-actions__tip {
  top: 50%;
  left: 100%;
  white-space: normal;
  width: 160px;
  transform: translateY(-50%) !important;
}
.legacy-public:has(.main) .clients-actions__tip::before {
  top: 50%;
  left: -58px;
  transform: translateY(-100%);
}
@media (min-width: 951px) {
  /* The lower caption grows in its own row. Its curve ends just above the
   * presentation button, including when the caption wraps onto more lines. */
  .legacy-public:has(.main) .clients-actions-body:has(> .clients-actions__tip) {
    display: grid;
    grid-template-columns: auto auto;
    row-gap: calc(58px * 143.7 / 222.1 + 6px);
  }
  .legacy-public:has(.main) .clients-actions-body > .clients-actions__btn { grid-row: 2; }
  .legacy-public:has(.main) .clients-actions-body > .clients-actions__btn:first-child { grid-column: 1; }
  .legacy-public:has(.main) .clients-actions-body > .clients-actions__btn:nth-child(2) { grid-column: 2; }
  .legacy-public:has(.main) .clients-actions__tip {
    position: relative;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    top: auto;
    left: auto;
    margin-right: 15px;
    transform: none !important;
  }
  .legacy-public:has(.main) .clients-actions__tip::before {
    top: 100%;
    left: -20px;
    transform: none;
  }
  /* The caption owns its row, so wrapping grows the white section. Reserve
   * the actual curve height below it and end the dark tip before the button. */
  .legacy-public:has(.main) .headline { padding-top: 16px; }
  .legacy-public:has(.main) .headline__container { align-items: flex-end; }
  .legacy-public:has(.main) .headline__right {
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 20px;
    row-gap: calc(58px * 143.7 / 222.1 + 6px);
  }
  .legacy-public:has(.main) .headline__order { grid-column: 1; grid-row: 2; }
  .legacy-public:has(.main) .headline__pdf { grid-column: 2; grid-row: 2; }
  .legacy-public:has(.main) .headline__subdescr {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: end;
  }
}
@media (max-width: 950px) {
  .legacy-public:has(.main) .headline__subdescr,
  .legacy-public:has(.main) .clients-actions__tip { display: none; }
}
