/*
Theme Name: TITAN
Description: тема для сайта титан
Version: 1.0.0
Author: Custom Theme
Text Domain: titan
*/

/* Minimal reset for Elementor compatibility */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
}

/* Basic content styling */
.site-main {
  min-height: 100vh;
}

/* Utility classes */
.screen-reader-text {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.header_contact_item {
  color: rgba(255, 255, 255, 1);
  font-family: Manrope;
  font-size: 12px;
  font-weight: 300;
  line-height: 16px;
  text-align: left;
}
.header_contact_item > div {
  display: flex;
  gap: 8px;
  align-items: center;
}
.header_contact_item > div > span {
  font-weight: 500;
}
.header_contact_item > div > a {
  color: rgba(255, 255, 255, 1);
  &.header_email {
    text-decoration: underline;
  }
  &.header_email {
    text-decoration: underline;
  }
  &:hover {
    color: rgba(255, 255, 255, 1);
  }
}
.step_text > p {
  padding: 0;
  margin: 0;
}
.whysus_text > p {
  padding: 0;
  margin: 0;
}
.lizing_text > p {
  padding: 0;
  margin: 0;
}
.lizing_list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  color: rgba(18, 18, 18, 1);
  font-family: Manrope;
  font-size: 26px;
  font-weight: 400;
  line-height: 130%;
  list-style: none;
  margin: 0;
  padding: 0;
}

.lizing_list li {
  position: relative;
  padding-left: 28px;
}
.lizing_list li:before {
  content: "";
  position: absolute;
  background: rgba(200, 86, 45, 1);
  width: 18px;
  height: 18px;
  border-radius: 4px;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  display: block;
}
.cert_item {
  cursor: pointer;
}

.cert_item .line {
  fill: rgba(236, 94, 42, 1);
  transition: transform 0.4s ease, opacity 0.3s ease;
  transform-origin: center;
}
.cert_item:hover .icon > .line {
  fill: rgba(255, 255, 255, 1);
}

.cert_item:hover .icon > .vertical {
  transform: rotate(45deg) translate(6px, -6px);
}

.cert_item:hover .icon > .h-left {
  transform: translate(14px, -14px);
}

.cert_item:hover .icon > .h-right {
  transform: translate(22px, -7px) rotate(90deg);
}

.main_news_item {
}
.category-news-item:hover
  .elementor-widget-theme-post-featured-image.elementor-widget-image
  img {
  filter: sepia(1) saturate(3.5) hue-rotate(325deg) brightness(0.9);
}
.category-news-item
  .elementor-widget-theme-post-featured-image.elementor-widget-image:before {
  content: url(/wp-content/uploads/2026/01/news_more_item.svg);
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  transition: all 0.3s ease;
  opacity: 0;
}
.category-news-item:hover
  .elementor-widget-theme-post-featured-image.elementor-widget-image:before {
  opacity: 1;
}
.button_news
  > .elementor-button
  > span.elementor-button-content-wrapper
  > .elementor-button-icon
  > svg {
  width: 29px;
}
.contact_icon > .elementor-icon-wrapper > .elementor-icon {
  display: block;
}

/**
 * Floating Labels for Elementor Forms
 * TITAN Theme
 */

/* Основные стили для floating labels */
.titan-floating-labels .elementor-form .elementor-field-group {
  position: relative;
  margin-bottom: 20px;
}

/* Стили для всех типов input полей */
.titan-floating-labels .elementor-form .elementor-field-group .elementor-field {
  width: 100%;
  padding: 18px 12px 6px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
  background: white;
  transition: all 0.3s ease;
  outline: none;
  font-family: inherit;
}

/* Специальные стили для textarea */
.titan-floating-labels
  .elementor-form
  .elementor-field-group
  textarea.elementor-field {
  min-height: 100px;
  padding-top: 22px;
  resize: vertical;
  line-height: 1.4;
}

/* Стили для label - floating label */
.titan-floating-labels
  .elementor-form
  .elementor-field-group
  .elementor-field-label {
  position: absolute;
  left: 12px;
  top: 18px;
  font-size: 16px;
  color: #666;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  background: white;
  padding: 0 4px;
  z-index: 2;
  transform-origin: left top;
  line-height: 1;
}

/* Floating состояние label - когда поле активно или заполнено */
.titan-floating-labels
  .elementor-form
  .elementor-field-group
  .elementor-field:focus
  + .elementor-field-label,
.titan-floating-labels
  .elementor-form
  .elementor-field-group
  .elementor-field.has-value
  + .elementor-field-label,
.titan-floating-labels
  .elementor-form
  .elementor-field-group
  .elementor-field:not(:placeholder-shown)
  + .elementor-field-label {
  top: -8px;
  left: 8px;
  font-size: 12px;
  color: rgba(236, 94, 42, 1);
  font-weight: 500;
  transform: scale(1);
}

/* Стили для focus состояния поля */
.titan-floating-labels
  .elementor-form
  .elementor-field-group
  .elementor-field:focus {
  border-color: rgba(236, 94, 42, 1);
  box-shadow: 0 0 0 2px rgba(236, 94, 42, 0.1);
}

/* Стили для ошибок валидации */
.titan-floating-labels
  .elementor-form
  .elementor-field-group
  .elementor-field:invalid:not(:focus):not(:placeholder-shown) {
  border-color: #e74c3c;
}

.titan-floating-labels
  .elementor-form
  .elementor-field-group
  .elementor-field:invalid:not(:focus):not(:placeholder-shown)
  + .elementor-field-label {
  color: #e74c3c;
}

/* Стили для обязательных полей */
.titan-floating-labels
  .elementor-form
  .elementor-field-group.elementor-field-required
  .elementor-field-label::after {
  content: " *";
  color: #e74c3c;
}

/* Убираем стандартные placeholder'ы */
.titan-floating-labels
  .elementor-form
  .elementor-field-group
  .elementor-field::placeholder {
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* Показываем placeholder только при фокусе (опционально) */
.titan-floating-labels
  .elementor-form
  .elementor-field-group
  .elementor-field:focus::placeholder {
  opacity: 0.4;
  transition-delay: 0.1s;
}

/* Специальные стили для select полей */
.titan-floating-labels
  .elementor-form
  .elementor-field-group
  select.elementor-field {
  padding: 18px 12px 6px 12px;
  cursor: pointer;
}

.titan-floating-labels
  .elementor-form
  .elementor-field-group
  select.elementor-field:not([value=""])
  + .elementor-field-label,
.titan-floating-labels
  .elementor-form
  .elementor-field-group
  select.elementor-field:focus
  + .elementor-field-label {
  top: -8px;
  left: 8px;
  font-size: 12px;
  color: rgba(236, 94, 42, 1);
  font-weight: 500;
}

/* Стили для чекбоксов и радиокнопок - оставляем как есть */
.titan-floating-labels
  .elementor-form
  .elementor-field-group.elementor-field-type-checkbox,
.titan-floating-labels
  .elementor-form
  .elementor-field-group.elementor-field-type-radio {
  position: static;
}

.titan-floating-labels
  .elementor-form
  .elementor-field-group.elementor-field-type-checkbox
  .elementor-field-label,
.titan-floating-labels
  .elementor-form
  .elementor-field-group.elementor-field-type-radio
  .elementor-field-label {
  position: static;
  background: none;
  padding: 0;
  pointer-events: auto;
  font-size: inherit;
  color: inherit;
  transform: none;
}

/* Адаптивные стили */
@media (max-width: 768px) {
  .titan-floating-labels
    .elementor-form
    .elementor-field-group
    .elementor-field {
    padding: 16px 10px 4px 10px;
    font-size: 14px;
  }

  .titan-floating-labels
    .elementor-form
    .elementor-field-group
    textarea.elementor-field {
    padding-top: 20px;
  }

  .titan-floating-labels
    .elementor-form
    .elementor-field-group
    .elementor-field-label {
    left: 10px;
    top: 16px;
    font-size: 14px;
  }

  .titan-floating-labels
    .elementor-form
    .elementor-field-group
    .elementor-field:focus
    + .elementor-field-label,
  .titan-floating-labels
    .elementor-form
    .elementor-field-group
    .elementor-field.has-value
    + .elementor-field-label,
  .titan-floating-labels
    .elementor-form
    .elementor-field-group
    .elementor-field:not(:placeholder-shown)
    + .elementor-field-label {
    top: -8px;
    left: 6px;
    font-size: 11px;
  }
}

/* Дополнительные стили для лучшей интеграции с темой */
.titan-floating-labels .elementor-form .elementor-field-group .elementor-field {
  font-family: "Manrope", sans-serif;
}

.titan-floating-labels
  .elementor-form
  .elementor-field-group
  .elementor-field-label {
  font-family: "Manrope", sans-serif;
}

/* Стили для темной темы (если понадобится) */
/* @media (prefers-color-scheme: dark) {
  .titan-floating-labels
    .elementor-form
    .elementor-field-group
    .elementor-field {
    background: #2a2a2a;
    border-color: #555;
    color: white;
  }

  .titan-floating-labels
    .elementor-form
    .elementor-field-group
    .elementor-field-label {
    background: #2a2a2a;
    color: #ccc;
  }
} */
