@charset "UTF-8";
/**
  Нормализация блочной модели
 */
*,
::before,
::after {
  box-sizing: border-box;
}

a {
  color: currentColor;
  text-decoration: none;
}

/**
  Убираем внутренние отступы слева тегам списков,
  у которых есть атрибут class
 */
:where(ul, ol):where([class]) {
  padding-left: 0;
}

/**
  Убираем внешние отступы body и двум другим тегам,
  у которых есть атрибут class
 */
body,
:where(blockquote, figure):where([class]) {
  margin: 0;
}

/**
  Убираем внешние отступы вертикали нужным тегам,
  у которых есть атрибут class
 */
:where(h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl) {
  margin-block: 0;
}

:where(dd[class]) {
  margin-left: 0;
}

:where(fieldset[class]) {
  margin-left: 0;
  padding: 0;
  border: none;
}

/**
  Убираем стандартный маркер маркированному списку,
  у которого есть атрибут class
 */
:where(ul[class]) {
  list-style: none;
}

:where(address[class]) {
  font-style: normal;
}

/**
  Обнуляем вертикальные внешние отступы параграфа,
  объявляем локальную переменную для внешнего отступа вниз,
  чтобы избежать взаимодействие с более сложным селектором
 */
p {
  --paragraphMarginBottom: 24px;
  margin-block: 0;
}

/**
  Внешний отступ вниз для параграфа без атрибута class,
  который расположен не последним среди своих соседних элементов
 */
p:where(:not([class]):not(:last-child)) {
  margin-bottom: var(--paragraphMarginBottom);
}

/**
  Упрощаем работу с изображениями
 */
img {
  display: block;
  max-width: 100%;
}

/**
  Наследуем свойства шрифт для полей ввода
 */
input,
textarea,
select,
button {
  font: inherit;
  padding: 0;
  color: currentColor;
  border: none;
}

input:focus {
  outline: none;
}

html {
  /**
    Пригодится в большинстве ситуаций
    (когда, например, нужно будет "прижать" футер к низу сайта)
   */
  height: 100%;
}

/**
  Плавный скролл
 */
html,
:has(:target) {
  scroll-behavior: smooth;
}

body {
  /**
    Пригодится в большинстве ситуаций
    (когда, например, нужно будет "прижать" футер к низу сайта)
   */
  min-height: 100%;
  /**
    Унифицированный интерлиньяж
   */
  line-height: 1.5;
}

/**
  Приводим к единому цвету svg-элементы
 */
svg *[fill] {
  fill: currentColor;
}

svg *[stroke] {
  stroke: currentColor;
}

/**
  Чиним баг задержки смены цвета при взаимодействии с svg-элементами
 */
svg * {
  transition-property: fill, stroke;
}

/**
  Удаляем все анимации и переходы для людей,
  которые предпочитают их не использовать
 */
@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
:root {
  --background-color: #AFDEF3A8;
  --background-color-alt: #250E53;
  --background-color-el: #38A9CD;
  --background-color-el-alt: #ffffff;
  --buttons-hover-color:#F1CE3E;
  --background-color-el-2: #CBECF3;
}

@font-face {
  font-family: "BalkaraFreeCondensed";
  src: url("../../fonts/BalkaraFreeCondensed.ttf");
  font-weight: 400;
}
/*Базовые стили для страницы*/
.share-your-progress {
  font-size: 2vw;
  background-color: #38A9CD;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: fit-content;
  padding: 2vw;
  border-radius: 2vw;
  text-align: center;
  gap: 1vw;
}
@media (max-width: 900px) {
  .share-your-progress {
    font-size: 6vw;
    gap: 5vw;
    border-radius: 6vw;
    padding: 5vw;
  }
}

.steps-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.steps-container > img {
  width: 20vw;
}
@media (max-width: 900px) {
  .steps-container > img {
    width: 38vw;
  }
}
.steps-container .step-count {
  font-size: 5vw;
  display: flex;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  background-color: white;
  color: #594B2B;
  width: 9vw;
  height: 9vw;
  border: 0.75vw solid #594B2B;
  box-shadow: 1vw 0.5vw 0.15vw 0 rgba(34, 60, 80, 0.2) inset;
}
@media (max-width: 900px) {
  .steps-container .step-count {
    font-size: 8vw;
    width: 17vw;
    height: 18vw;
    border: 1.75vw solid #594B2B;
    box-shadow: 2vw 1vw 0.15vw 0 rgba(34, 60, 80, 0.2) inset;
  }
}

/* Стили для модального окна шаринга */
.share-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  color: white;
}

.share-modal-content {
  background: var(--background-color-el);
  padding: 1vw;
  border-radius: 1vw;
  width: fit-content;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  gap: 1vw;
}
@media (max-width: 900px) {
  .share-modal-content {
    padding: 8vw;
    border-radius: 6vw;
    gap: 4vw;
  }
}

.share-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 900px) {
  .share-modal-header {
    gap: 5vw;
    align-items: flex-start;
  }
}

.share-modal-header h3 {
  margin: 0;
  font-size: 1.1vw;
  font-weight: 600;
}
@media (max-width: 900px) {
  .share-modal-header h3 {
    font-size: 5vw;
  }
}

.close-modal {
  background: none;
  border: none;
  font-size: 2vw;
  cursor: pointer;
  line-height: 1;
  padding: 0;
  width: 1vw;
  height: 1vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 900px) {
  .close-modal {
    font-size: 8vw;
  }
}

.share-preview {
  background: var(--background-color);
  border-radius: 1vw;
  padding: 1vw;
  text-align: center;
  color: black;
}
@media (max-width: 900px) {
  .share-preview {
    border-radius: 3vw;
  }
}

.preview-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 900px) {
  .preview-content {
    border-radius: 6vw;
  }
}

.preview-text {
  font-size: 1vw;
  font-weight: 500;
}
@media (max-width: 900px) {
  .preview-text {
    font-size: 5vw;
  }
}

.preview-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1vw;
}
@media (max-width: 900px) {
  .preview-steps {
    font-size: 5vw;
  }
}

.share-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5vw;
}
@media (max-width: 900px) {
  .share-buttons {
    grid-template-columns: 1fr;
    gap: 3vw;
  }
}

.share-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25vw;
  padding: 1vw;
  border: none;
  border-radius: 1vw;
  cursor: pointer;
  font-size: 1vw;
  font-weight: 500;
  transition: all 0.2s ease;
}
@media (max-width: 900px) {
  .share-btn {
    flex-direction: row;
    justify-content: flex-start;
    padding: 1vw;
    font-size: 6vw;
    border-radius: 3vw;
    gap: 3vw;
  }
}

.share-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.share-icon {
  padding: 1vw;
}

/* Цвета для кнопок соцсетей */
.share-btn.whatsapp {
  background: #25d366;
}

.share-btn.vk {
  background: #0077ff;
}

.share-btn.telegram {
  background: #168de2;
}

.share-btn.ok {
  background: #ee8208;
}

.share-btn.copy-link {
  background: #666;
}

.share-notification {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: #4CAF50;
  color: white;
  padding: 12px 24px;
  border-radius: 8px;
  z-index: 10001;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  font-weight: 500;
}

/*# sourceMappingURL=share_your_progress_1.css.map */
