/* ============================================================
   KORSAR — Кнопки, шмопки и иконки контактов
   ------------------------------------------------------------
   1) .fancy Два варианта, управляемые через CSS-переменные:
        .fancy--solid  -> светлые секции (navy на прозрачном)
        .fancy--glass  -> поверх фото в hero (стекло, белый)
   2) .contact - иконки Phone / Telegram / MAX. Подсказка появляется СНИЗУ.
   ============================================================ */

/* -------------------------------------------------
   1) Кнопка "Забронировать" (адаптированный .fancy)
   ------------------------------------------------- */
.fancy {
  /* тематические токены (переопределяются вариантами) */
  --f-border: var(--c-navy);
  --f-text:   var(--c-navy);
  --f-line:   var(--c-navy);
  --f-key:    var(--c-teal);
  --f-bg:     transparent;
  --f-hover-bg:   var(--c-navy);
  --f-hover-text: var(--c-white);
  --f-hover-line: var(--c-white);

  background-color: var(--f-bg);
  border: 2px solid var(--f-border);
  border-radius: var(--radius);
  box-sizing: border-box;
  color: var(--f-text);
  cursor: pointer;
  display: inline-block;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0;
  outline: none;
  overflow: visible;
  padding: 1.1em 2em;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: color var(--t) var(--ease), background var(--t) var(--ease),
    border-color var(--t) var(--ease);
  user-select: none;
  font-size: 13px;
}

/* анимированная горизонтальная линия перед подписью */
.fancy::before {
  content: " ";
  width: 1.5625rem;
  height: 2px;
  background: var(--f-line);
  top: 50%;
  left: 1.5em;
  position: absolute;
  transform: translateY(-50%);
  transform-origin: center;
  transition: background var(--t) linear, width var(--t) linear;
}

.fancy .text {
  font-size: 1.05em;
  line-height: 1.33333em;
  padding-left: 2em;
  display: block;
  text-align: left;
  transition: all var(--t) var(--ease);
  text-transform: uppercase;
  text-decoration: none;
  color: var(--f-text);
}

/* декоративные угловые "ключи" */
.fancy .top-key {
  height: 2px; width: 1.5625rem;
  top: -2px; left: 0.625rem;
  position: absolute;
  background: var(--f-key);
  transition: width 0.5s var(--ease), left var(--t) var(--ease);
}
.fancy .bottom-key-1 {
  height: 2px; width: 1.5625rem;
  right: 1.875rem; bottom: -2px;
  position: absolute;
  background: var(--f-key);
  transition: width 0.5s var(--ease), right var(--t) var(--ease);
}
.fancy .bottom-key-2 {
  height: 2px; width: 0.625rem;
  right: 0.625rem; bottom: -2px;
  position: absolute;
  background: var(--f-key);
  transition: width 0.5s var(--ease), right var(--t) var(--ease);
}

.fancy:hover {
  color: var(--f-hover-text);
  background: var(--f-hover-bg);
  border-color: var(--f-hover-bg);
}
.fancy:hover::before {
  width: 0.9375rem;
  background: var(--f-hover-line);
}
.fancy:hover .text {
  color: var(--f-hover-text);
  padding-left: 1.5em;
}
.fancy:hover .top-key { left: -2px; width: 0; }
.fancy:hover .bottom-key-1,
.fancy:hover .bottom-key-2 { right: 0; width: 0; }

.fancy:focus-visible {
  outline: 3px solid var(--c-teal);
  outline-offset: 3px;
}

/* --- Вариант: SOLID (светлый фон) --- */
.fancy--solid {
  --f-border: var(--c-navy);
  --f-text:   var(--c-navy);
  --f-line:   var(--c-navy);
  --f-key:    var(--c-teal);
  --f-hover-bg:   var(--c-navy);
  --f-hover-text: var(--c-white);
  --f-hover-line: var(--c-white);
}

/* --- Вариант: GLASS (поверх фото в hero) --- */
.fancy--glass {
  --f-border: rgba(255, 255, 255, 0.9);
  --f-text:   var(--c-white);
  --f-line:   var(--c-white);
  --f-key:    rgba(255, 255, 255, 0.55);
  --f-bg:     rgba(18, 56, 79, 0.18);
  --f-hover-bg:   var(--c-teal);
  --f-hover-text: var(--c-white);
  --f-hover-line: var(--c-white);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

/* -------------------------------------------------
   2) Иконки контактов (адаптированный .wrapper .icon)
      Phone / Telegram / MAX — подсказка СНИЗУ от иконки
   ------------------------------------------------- */
.contact {
  --icon-size: 48px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  list-style: none;
}

.contact .icon {
  position: relative;
  background: var(--c-white);
  border-radius: 50%;
  width: var(--icon-size);
  height: var(--icon-size);
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* ссылка заполняет круг, чтобы иконка была идеально по центру */
.contact .icon a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  color: inherit;
}

/* все три иконки — монохромные чёрные SVG; по умолчанию чёрные
   и инвертируются в белый при наведении, когда круг заливается цветом */
.contact .icon img {
  width: 58%;
  height: 58%;
  object-fit: contain;
  filter: brightness(0);
  transition: filter var(--t) var(--ease);
}
.contact .icon:hover img { filter: brightness(0) invert(1); }

/* подсказка располагается СНИЗУ от иконки (по вашему требованию) */
.contact .tooltip {
  position: absolute;
  bottom: 0;                    /* при наведении сдвигается вниз */
  font-size: 13px;
  font-family: var(--font-body);
  font-weight: 600;
  background: var(--c-white);
  color: var(--c-white);        /* читаема, только когда фон становится фирменным цветом */
  padding: 5px 10px;
  border-radius: 6px;
  white-space: nowrap;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
/* стрелка теперь указывает ВВЕРХ, на иконку */
.contact .tooltip::before {
  position: absolute;
  content: "";
  height: 8px; width: 8px;
  background: inherit;
  top: -3px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}

.contact .icon:hover .tooltip {
  bottom: -46px;                /* опускается ниже иконки */
  opacity: 1;
  pointer-events: auto;
}

/* цвета при наведении для каждого канала */
.contact .phone:hover,
.contact .phone:hover .tooltip { background: var(--c-phone); color: #fff; }
.contact .telegram:hover,
.contact .telegram:hover .tooltip { background: var(--c-telegram); color: #fff; }
.contact .max:hover,
.contact .max:hover .tooltip { background: var(--c-max); color: #fff; }

.contact .icon:focus-visible {
  outline: 3px solid var(--c-teal);
  outline-offset: 3px;
}
