/* AK Production — Site-wide Premium Glass Buttons v2.1
   Identity: Crimson #a11f2b / deep #7f1721 / Ivory #ece7df.
   Loaded from BaseLayout for all three languages. No button behavior is changed.
   Important: gallery slides are not styled as CTA buttons; arrows keep their layout. */
:root {
  --ak-button-crimson: #a11f2b;
  --ak-button-deep: #7f1721;
  --ak-button-ivory: #ece7df;
}

/* CTA controls on all sections: header, hero, work/contact, old and new services,
   YouTube brief, dedicated service panels. Deliberately excludes navigation and project thumbnails. */
:is(
  a.button, button.button,
  a.header-cta, button.header-cta,
  .contact .contact-links a.button,
  .akc-services .akc-cta,
  .akc-services .akc-panel-primary,
  .akc-services .akc-more,
  .akc-services .akc-brief-contact,
  .ak-services a.ak-service-cta,
  .ak-services button.ak-service-cta,
  .ak-services a.ak-service-button,
  .ak-services button.ak-service-button,
  .ak-services .ak-services-cta,
  .ak-services .ak-service-more,
  a.btn--primary, button.btn--primary,
  a.btn--ghost, button.btn--ghost,
  a.btn-primary, button.btn-primary,
  a.btn-secondary, button.btn-secondary
) {
  position: relative !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  isolation: isolate;
  box-sizing: border-box;
  vertical-align: middle;
  min-height: 43px;
  padding: 11px 21px;
  gap: 0;
  overflow: hidden;
  border-radius: 15px !important;
  border: 1px solid rgba(236,231,223,.28) !important;
  background: linear-gradient(180deg,rgba(255,255,255,.11) 0%,rgba(255,255,255,.025) 70%),rgba(23,24,28,.64) !important;
  -webkit-backdrop-filter: blur(15px) saturate(140%) !important;
  backdrop-filter: blur(15px) saturate(140%) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.24),inset 0 -7px 16px rgba(0,0,0,.10) !important;
  color: var(--ak-button-ivory) !important;
  font-family: 'Bebas Neue Pro','Arial Narrow',sans-serif !important;
  font-weight: 400 !important;
  font-size: 20px;
  line-height: 1.04 !important;
  letter-spacing: .018em !important;
  text-align: center;
  text-decoration: none !important;
  text-shadow: none !important;
  filter: none !important;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform .28s ease, border-color .28s ease,
    box-shadow .28s ease, background .28s ease, color .28s ease !important;
}

/* Primary crimson glass: exactly the brand color, no neon pink. */
:is(
  a.header-cta,button.header-cta,
  .button.button-accent,
  .akc-services .akc-cta,
  .akc-services .akc-panel-primary,
  .ak-services .ak-services-cta,
  a.btn--primary,button.btn--primary,
  a.btn-primary,button.btn-primary
) {
  background: linear-gradient(180deg,rgba(255,255,255,.13) 0%,transparent 45%,rgba(0,0,0,.13) 100%),
    linear-gradient(135deg,var(--ak-button-crimson),var(--ak-button-deep)) !important;
  border-color: rgba(236,231,223,.32) !important;
  box-shadow: 0 9px 26px rgba(60,5,12,.33),0 0 17px rgba(161,31,43,.14),
    inset 0 1px 0 rgba(255,255,255,.28),inset 0 -8px 13px rgba(40,0,8,.15) !important;
}

/* Secondary smoked-glass controls, including all "Подробнее" and fallback links. */
:is(
  .button.button-outline,
  .akc-services .akc-more,
  .akc-services .akc-brief-contact,
  .ak-services .ak-service-more,
  .ak-services a.ak-service-button,
  .ak-services button.ak-service-button,
  a.btn--ghost,button.btn--ghost,
  a.btn-secondary,button.btn-secondary
) {
  background: linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.025)),
    rgba(23,24,28,.57) !important;
  border-color: rgba(236,231,223,.25) !important;
}

/* Reflected top edge + one white sweep, hover only; no repeating flashes. */
:is(
  a.button,button.button,a.header-cta,button.header-cta,
  .akc-services .akc-cta,.akc-services .akc-panel-primary,
  .akc-services .akc-more,.akc-services .akc-brief-contact,
  .ak-services .ak-services-cta,.ak-services .ak-service-cta,
  .ak-services .ak-service-button,.ak-services .ak-service-more,
  a.btn--primary,button.btn--primary,a.btn--ghost,button.btn--ghost,
  a.btn-primary,button.btn-primary,a.btn-secondary,button.btn-secondary
)::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  inset: 1px 1px auto !important;
  width: auto !important;
  height: 43% !important;
  border: 0 !important;
  border-radius: 13px 13px 50% 50% !important;
  background: linear-gradient(180deg,rgba(255,255,255,.16),transparent) !important;
  opacity: .5 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  transform: none !important;
  box-shadow: none !important;
  filter: none !important;
}
:is(
  a.button,button.button,a.header-cta,button.header-cta,
  .akc-services .akc-cta,.akc-services .akc-panel-primary,
  .akc-services .akc-more,.akc-services .akc-brief-contact,
  .ak-services .ak-services-cta,.ak-services .ak-service-cta,
  .ak-services .ak-service-button,.ak-services .ak-service-more,
  a.btn--primary,button.btn--primary,a.btn--ghost,button.btn--ghost,
  a.btn-primary,button.btn-primary,a.btn-secondary,button.btn-secondary
)::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  inset: -50% auto -50% -75% !important;
  width: 40% !important;
  height: auto !important;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.18) 50%,transparent) !important;
  opacity: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  pointer-events: none !important;
  transform: skewX(-19deg) translateX(0) !important;
  transition: transform .84s cubic-bezier(.22,.61,.36,1),opacity .22s ease !important;
  z-index: 1 !important;
  box-shadow: none !important;
}

/* Size categories — preserve existing flex widths and responsive flow. */
.header .header-cta { min-height: 44px; padding: 10px 19px; border-radius: 13px !important; font-size: 17px !important; }
.hero .hero-buttons > .button { min-height: 54px; padding: 13px 24px; border-radius: 16px !important; font-size: 21px !important; }
.contact .contact-links .button { min-height: 50px; padding: 13px 22px; font-size: 20px !important; }
.akc-services .akc-cta { min-height: 49px; padding: 13px 23px; font-size: 21px !important; }
.akc-services .akc-panel-primary { min-height: 46px; padding: 12px 21px; border-radius: 13px !important; font-size: clamp(18px,1.7vw,22px) !important; }
.akc-services .akc-more { min-height: 42px; padding: 11px 18px; border-radius: 12px !important; font-size: 19px !important; }
.akc-services .akc-brief-contact { margin-top: 10px; min-height: 38px; padding: 8px 16px; border-radius: 11px !important; font-size: 17px !important; }

/* The carousel arrows and close buttons are controls, not full-sized CTA pills.
   Give them the same glass material while preserving their sizes and behavior. */
:is(.akc-services .akc-y-carousel-arrow,
  .akc-services .akc-panel-close,
  .akc-services [data-akc-y-dismiss],
  .video-close) {
  color: var(--ak-button-ivory) !important;
  background: linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.015)),rgba(23,24,28,.67) !important;
  border: 1px solid rgba(236,231,223,.29) !important;
  -webkit-backdrop-filter: blur(12px) saturate(135%);
  backdrop-filter: blur(12px) saturate(135%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.23),0 7px 18px rgba(0,0,0,.20) !important;
  transition: border-color .24s ease,box-shadow .24s ease,background .24s ease !important;
}
:is(.akc-services .akc-y-carousel-arrow,.akc-services [data-akc-y-dismiss],.video-close) { border-radius: 50% !important; }
.akc-services .akc-panel-close { border-radius: 12px !important; }

@media (hover:hover) and (pointer:fine) {
  :is(a.button,button.button,a.header-cta,button.header-cta,
    .akc-services .akc-cta,.akc-services .akc-panel-primary,
    .akc-services .akc-more,.akc-services .akc-brief-contact,
    .ak-services .ak-services-cta,.ak-services .ak-service-cta,
    .ak-services .ak-service-button,.ak-services .ak-service-more,
    a.btn--primary,button.btn--primary,a.btn--ghost,button.btn--ghost,
    a.btn-primary,button.btn-primary,a.btn-secondary,button.btn-secondary):hover {
    transform: translateY(-2px) !important;
    border-color: rgba(255,255,255,.46) !important;
    box-shadow: 0 13px 29px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.34) !important;
  }
  :is(a.header-cta,button.header-cta,.button.button-accent,
    .akc-services .akc-cta,.akc-services .akc-panel-primary,
    .ak-services .ak-services-cta,a.btn--primary,button.btn--primary,
    a.btn-primary,button.btn-primary):hover {
    background: linear-gradient(180deg,rgba(255,255,255,.17),transparent 53%,rgba(0,0,0,.10)),
      linear-gradient(135deg,var(--ak-button-crimson),var(--ak-button-deep)) !important;
    box-shadow: 0 13px 31px rgba(59,2,9,.40),0 0 23px rgba(161,31,43,.20),
      inset 0 1px 0 rgba(255,255,255,.34) !important;
  }
  :is(a.button,button.button,a.header-cta,button.header-cta,
    .akc-services .akc-cta,.akc-services .akc-panel-primary,
    .akc-services .akc-more,.akc-services .akc-brief-contact,
    .ak-services .ak-services-cta,.ak-services .ak-service-cta,
    .ak-services .ak-service-button,.ak-services .ak-service-more,
    a.btn--primary,button.btn--primary,a.btn--ghost,button.btn--ghost,
    a.btn-primary,button.btn-primary,a.btn-secondary,button.btn-secondary):hover::after {
    transform: skewX(-19deg) translateX(735%) !important;
    opacity: 1 !important;
  }
  :is(.akc-services .akc-y-carousel-arrow,.akc-services .akc-panel-close,
    .akc-services [data-akc-y-dismiss],.video-close):hover {
    border-color: rgba(236,231,223,.56) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.32),0 8px 22px rgba(0,0,0,.24),
      0 0 14px rgba(161,31,43,.17) !important;
  }
}
:is(a.button,button.button,a.header-cta,button.header-cta,
  .akc-services .akc-cta,.akc-services .akc-panel-primary,
  .akc-services .akc-more,.akc-services .akc-brief-contact,
  .ak-services .ak-services-cta,.ak-services .ak-service-cta,
  .ak-services .ak-service-button,.ak-services .ak-service-more,
  a.btn--primary,button.btn--primary,a.btn--ghost,button.btn--ghost,
  a.btn-primary,button.btn-primary,a.btn-secondary,button.btn-secondary):active {
  transform: translateY(0) scale(.985) !important;
}
:is(a.button,button.button,a.header-cta,button.header-cta,
  .akc-services .akc-cta,.akc-services .akc-panel-primary,
  .akc-services .akc-more,.akc-services .akc-brief-contact,
  .ak-services .ak-services-cta,.ak-services .ak-service-cta,
  .ak-services .ak-service-button,.ak-services .ak-service-more,
  a.btn--primary,button.btn--primary,a.btn--ghost,button.btn--ghost,
  a.btn-primary,button.btn-primary,a.btn-secondary,button.btn-secondary,
  .akc-services .akc-y-carousel-arrow,.akc-services .akc-panel-close,
  .akc-services [data-akc-y-dismiss],.video-close):focus-visible {
  outline: 2px solid var(--ak-button-ivory) !important;
  outline-offset: 3px !important;
}
@media (max-width: 650px) {
  .header .header-cta { min-height: 40px; padding: 9px 14px; font-size: 15px !important; border-radius: 12px !important; }
  .hero .hero-buttons > .button { min-width: 0; min-height: 47px; padding: 11px 9px; border-radius: 13px !important; font-size: clamp(13px,3.65vw,16px) !important; }
  .contact .contact-links .button { min-height: 46px; font-size: 17px !important; border-radius: 13px !important; }
  .akc-services .akc-cta { min-height: 46px; font-size: 20px !important; border-radius: 13px !important; }
  .akc-services .akc-panel-primary { min-height: 44px; padding: 11px 15px; font-size: clamp(16px,4vw,19px) !important; border-radius: 12px !important; }
  .akc-services .akc-more { min-height: 39px; padding: 9px 15px; font-size: 17px !important; }
}
@media (prefers-reduced-motion:reduce) {
  :is(a.button,button.button,a.header-cta,button.header-cta,
    .akc-services .akc-cta,.akc-services .akc-panel-primary,
    .akc-services .akc-more,.akc-services .akc-brief-contact,
    .ak-services .ak-services-cta,.ak-services .ak-service-cta,
    .ak-services .ak-service-button,.ak-services .ak-service-more,
    a.btn--primary,button.btn--primary,a.btn--ghost,button.btn--ghost,
    a.btn-primary,button.btn-primary,a.btn-secondary,button.btn-secondary),
  :is(a.button,button.button,a.header-cta,button.header-cta,
    .akc-services .akc-cta,.akc-services .akc-panel-primary,
    .akc-services .akc-more,.akc-services .akc-brief-contact,
    .ak-services .ak-services-cta,.ak-services .ak-service-cta,
    .ak-services .ak-service-button,.ak-services .ak-service-more,
    a.btn--primary,button.btn--primary,a.btn--ghost,button.btn--ghost,
    a.btn-primary,button.btn-primary,a.btn-secondary,button.btn-secondary)::after {
    transition: none !important;
  }
}
