/* =========================================================
IFS RUSSIA
CODE: IFS Global Access Controller — Styles
VERSION: 1.2.3
STATUS: Testing
UPDATED: 25.09.2026 01:07 МСК

CHANGELOG v1.2.3
- Deployment optimization only: CSS moved from Tilda Site HEAD to Yandex runtime asset.
- Visual rules unchanged from v1.2.2 Testing.
========================================================= */

.ifs-access-message-host {
  width: 100%;
  max-width: 520px;
  box-sizing: border-box;
  margin-top: 16px;
}

.ifs-access-message {
  display: flex;
  align-items: flex-start;
  gap: 12px;

  width: 100%;
  box-sizing: border-box;
  padding: 16px 18px;

  border: 1px solid;
  border-radius: 10px;

  font-family: "IBM Plex Sans", Arial, sans-serif;
  color: #241005;

  opacity: 0;
  transform: translateY(6px);

  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.ifs-access-message.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.ifs-access-message.is-leaving {
  opacity: 0;
  transform: translateY(-4px);
}

.ifs-access-icon {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  margin-top: 1px;
}

.ifs-access-icon svg {
  display: block;
  width: 22px;
  height: 22px;
  stroke: currentColor;
}

.ifs-access-content {
  flex: 1 1 auto;
  min-width: 0;
}

.ifs-access-title {
  margin: 0;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 600;
}

.ifs-access-body {
  margin: 6px 0 0;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 400;
}

.ifs-access-message a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: opacity 150ms ease;
}

.ifs-access-message a:hover {
  opacity: 0.72;
}

.ifs-access-error-code {
  margin-top: 7px;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 400;
  opacity: 0.72;
}


.ifs-access-message--pending,
.ifs-access-message--guest {
  background: #D8E7E8;
  border-color: #4D8A99;
}

.ifs-access-message--pending .ifs-access-icon,
.ifs-access-message--guest .ifs-access-icon {
  color: #4D8A99;
}


.ifs-access-message--moderation {
  background: #FFEAD7;
  border-color: #C8752E;
}

.ifs-access-message--moderation .ifs-access-icon {
  color: #C8752E;
}


.ifs-access-message--error {
  background: #F6E0DE;
  border-color: #962329;
}

.ifs-access-message--error .ifs-access-icon {
  color: #962329;
}



.ifs-access-spinner {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 2px 2px 0 2px;
  box-sizing: border-box;

  border: 2px solid rgba(77, 138, 153, 0.25);
  border-top-color: #4D8A99;
  border-radius: 50%;

  animation: ifs-access-spin 0.8s linear infinite;
}

@keyframes ifs-access-spin {
  to {
    transform: rotate(360deg);
  }
}


.ifs-access-purchase {
  transition:
    opacity 220ms ease,
    transform 220ms ease;
}

.ifs-access-purchase--blocked {
  opacity: 0 !important;
  transform: translateY(4px) !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.ifs-access-purchase--collapsed {
  display: none !important;
}

.ifs-access-purchase--restoring {
  opacity: 0 !important;
  transform: translateY(4px) !important;
}

@media (prefers-reduced-motion: reduce) {
  .ifs-access-message,
  .ifs-access-message a,
  .ifs-access-purchase {
    transition: none !important;
  }

  .ifs-access-spinner {
    animation: none !important;
    border-color: #4D8A99 !important;
  }

  .ifs-access-message,
  .ifs-access-message.is-leaving,
  .ifs-access-purchase--blocked,
  .ifs-access-purchase--restoring {
    transform: none !important;
  }
}
