/* UKreklamy 1.3: interaction polish. Preserves the approved service card appearance. */
/* Reserve the viewport scrollbar slot even when the body is locked by a native dialog.
   This avoids a late horizontal reflow when the browser restores scrolling. */
@supports (scrollbar-gutter: stable) {
  /* Mobile devices usually use overlay scrollbars and need no reserved white strip. */
  @media (min-width: 701px) {
    html { scrollbar-gutter: stable; }
  }
}

/* Disclosure: same colors, sizing and design; add motion to the existing elements. */
.ukr-subservices,
.ukr-subservices.is-expanded {
  transition: height .42s cubic-bezier(.22, 1, .36, 1),
              opacity .3s ease,
              visibility 0s linear .42s;
}
.ukr-subservices.is-expanded {
  transition: height .42s cubic-bezier(.22, 1, .36, 1),
              opacity .3s ease,
              visibility 0s;
}
.ukr-subservices .ukr-subservice-btn {
  opacity: 0;
  transform: translate3d(0, -7px, 0);
  transition: opacity .24s ease,
              transform .38s cubic-bezier(.22, 1, .36, 1),
              background-color .2s ease,
              color .2s ease;
}
.ukr-subservices.is-expanded .ukr-subservice-btn {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.ukr-subservices.is-expanded li:nth-child(2) .ukr-subservice-btn { transition-delay: 35ms; }
.ukr-subservices.is-expanded li:nth-child(3) .ukr-subservice-btn { transition-delay: 70ms; }
.ukr-subservices.is-expanded li:nth-child(4) .ukr-subservice-btn { transition-delay: 105ms; }
.ukr-subservices.is-expanded li:nth-child(n+5) .ukr-subservice-btn { transition-delay: 130ms; }
/* Rotate the existing chevron, never redesign its button or circular background. */
.ukr-category .servicefoot .ukr-category-chevron,
.ukr-category-trigger[aria-expanded="true"] .ukr-category-chevron {
  transform: none;
}
.ukr-category-chevron svg {
  transform-origin: 50% 50%;
  transform: rotate(0deg);
  transition: transform .42s cubic-bezier(.2, 1.4, .35, 1);
}
.ukr-category-trigger[aria-expanded="true"] .ukr-category-chevron svg {
  transform: rotate(180deg);
}

/* An intentional entrance, as well as a genuine exit transition. */
.ukr-service-dialog[open] {
  opacity: 0;
  transform: translate3d(0, 22px, 0) scale(.973);
  transition: opacity .26s ease-in, transform .28s cubic-bezier(.4, 0, .75, .25);
  will-change: transform, opacity;
}
.ukr-service-dialog[open].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  transition: opacity .35s ease-out, transform .38s cubic-bezier(.16, 1, .3, 1);
}
.ukr-service-dialog::backdrop {
  transition: background-color .3s ease, backdrop-filter .3s ease;
}

/* Align the price and CTA with the lower edge of the gallery including thumbnails. */
.ukr-detail-layout { align-items: stretch; }
.ukr-detail-main {
  min-height: 0;
  padding-top: 9px;
  display: flex;
  flex-direction: column;
}
.ukr-detail-title { margin-bottom: 20px; }
.ukr-detail-intro { font-size: 15.5px; line-height: 1.55; margin-bottom: 15px; }
.ukr-detail-description { font-size: 14.5px; line-height: 1.72; }
.ukr-detail-description p { margin: 0 0 13px; }
.ukr-detail-description ul,
.ukr-detail-description ol { padding-left: 22px; margin: 0 0 14px; }
.ukr-detail-price {
  margin: auto 0 0;
  padding: 19px 0 16px;
  border-top: 1px solid #ebe8e7;
}
.ukr-detail-price > strong { line-height: 1.25; font-size: 23px; }
.ukr-service-inquiry { flex-shrink: 0; }

@media (max-width: 700px) {
  /* On phones the gallery precedes the text: there is no parallel baseline to align. */
  .ukr-detail-layout { align-items: start; }
  .ukr-detail-main { min-height: 0; padding: 0; width: 100%; }
  .ukr-detail-price { margin-top: 20px; }
  .ukr-detail-title { margin-bottom: 14px; }
}
@media (max-width: 420px) {
  .ukr-detail-main { padding: 0 8px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .ukr-subservices,
  .ukr-subservices.is-expanded,
  .ukr-subservices .ukr-subservice-btn,
  .ukr-category-chevron svg,
  .ukr-service-dialog[open],
  .ukr-service-dialog[open].is-visible,
  .ukr-service-dialog::backdrop { transition: none !important; }
  .ukr-subservices .ukr-subservice-btn { transform: none; opacity: 1; }
  .ukr-service-dialog[open] { transform: none; opacity: 1; will-change: auto; }
}
