/* =============================================
   SMARTBUILD — Hero Section
   ============================================= */

.hero {
  position: relative;
  width: 100%;
  padding: 10px 10px 150px;
  background-color: var(--color-alabaster);
}

/* Main image block */
.hero__image-block {
  position: relative;
  width: 100%;
  height: 922px;
  border-radius: var(--radius-xl);
  overflow: hidden;
  z-index: 2;
  margin-bottom: -140px;
}

.hero__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Radial vignette on the background image */
.hero__vignette {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
  opacity: 0.3;
}

/* Darkening overlays */
.hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.hero__overlay::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 17.67%),
              linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0) 28.57%);
  mix-blend-mode: overlay;
}

.hero__overlay::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(42.7deg, rgba(0,0,0,0.5) 4.58%, rgba(0,0,0,0) 29.88%),
              linear-gradient(-4.92deg, rgba(0,0,0,0.5) 2.08%, rgba(0,0,0,0) 26.47%);
  mix-blend-mode: multiply;
}

/* Bottom content area — 922px image, content starts at 623px → 299px from bottom = ~50px bottom */
.hero__content {
  position: absolute;
  bottom: 50px;
  left: 50px;
  right: 50px;
  display: flex;
  align-items: flex-end;
  gap: 20px;
}

/* Left block: tags + title */
.hero__info {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
}

.hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-content: flex-start;
}

.hero__title {
  min-width: 100%;
  font-size: var(--h2-size);
  font-weight: var(--h2-weight);
  line-height: var(--h2-line-height);
  letter-spacing: var(--h2-letter-spacing);
  color: var(--color-white);
}

/* Center block: description text */
.hero__description {
  flex: 1;
  padding: 0 60px;
  display: flex;
  align-items: center;
}

.hero__description p {
  font-size: var(--body-size);
  font-weight: var(--body-weight);
  line-height: var(--body-line-height);
  letter-spacing: var(--body-letter-spacing);
  color: var(--color-alabaster);
}

/* Right block: CTA buttons */
.hero__cta {
  flex: 1;
  display: flex;
  gap: 20px;
}

.hero__cta .btn {
  flex: 1;
}

/* Season switcher (right side) */
.hero__season {
  position: absolute;
  right: 70px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 20px;
  z-index: 5;
}

/* Tooltip — appears on load, hides after 3s or on button click */
.hero__tooltip {
  position: relative;
  width: 229px;
  background: var(--color-white);
  border-radius: var(--radius-sm);
  padding: 20px;
  opacity: 0;
  transform: translateY(8px) scale(0.97);
  transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  pointer-events: none;
}

.hero__tooltip--visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.hero__tooltip-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.54px;
  color: var(--color-dark);
  margin-bottom: 10px;
}

.hero__tooltip-text {
  font-size: var(--small-size);
  font-weight: var(--small-weight);
  line-height: var(--small-line-height);
  color: var(--color-dark);
}

.hero__tooltip-arrow {
  position: absolute;
  bottom: -12px;
  right: 20px;
  width: 23px;
  height: 13px;
}

/* Season toggle pill */
.hero__season-toggle {
  display: flex;
  align-items: center;
  width: 110px;
  padding: 6px;
  background: var(--color-glass);
  border-radius: 100px;
  overflow: hidden;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.hero__season-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  border: 1px solid var(--color-white);
  background: transparent;
  cursor: pointer;
  transition: background-color var(--transition-fast);
}

/* Left button (summer): rounded left side only */
.hero__season-btn--summer {
  border-radius: 100px 0 0 100px;
}

/* Right button (winter): rounded right side only */
.hero__season-btn--winter {
  border-radius: 0 100px 100px 0;
  margin-left: -1px;
}

/* Active state: white background */
.hero__season-btn--active {
  background: var(--color-white);
  border-color: var(--color-white);
}

.hero__season-btn img {
  width: 24px;
  height: 24px;
}

/* Hero background images for season toggle */
.hero__bg {
  transition: opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.hero__bg--winter {
  opacity: 0;
}

.hero__image-block--winter .hero__bg--summer {
  opacity: 0;
}

.hero__image-block--winter .hero__bg--winter {
  opacity: 1;
}

/* Banks bar below hero — overlaps bottom of image */
.hero__banks {
  position: relative;
  margin-bottom: -140px;
  z-index: 1;
  background: var(--color-white);
  border-radius: var(--radius-lg);
  padding: 180px 60px 40px;
  display: flex;
  align-items: center;
  gap: 40px;
}

.hero__banks-info {
  flex: 1;
}

.hero__banks-title {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.hero__banks-title-text {
  font-size: var(--h4-size);
  font-weight: var(--h4-weight);
  line-height: var(--h4-line-height);
  letter-spacing: var(--h4-letter-spacing);
  color: var(--color-dark);
}

.hero__banks-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  background-color: var(--color-yellow);
  font-size: var(--h4-size);
  font-weight: var(--h4-weight);
  line-height: var(--h4-line-height);
  letter-spacing: var(--h4-letter-spacing);
  color: var(--color-dark);
}

.hero__banks-subtitle {
  font-size: var(--h4-size);
  font-weight: var(--h4-weight);
  line-height: var(--h4-line-height);
  letter-spacing: var(--h4-letter-spacing);
  color: var(--color-dark);
}

.hero__banks-list {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.hero__bank {
  display: flex;
  align-items: center;
  gap: 20px;
}

.hero__bank-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.hero__bank-icon--alfa { background-color: var(--color-alfa); }
.hero__bank-icon--alfa img { transform: scaleY(-1); }
.hero__bank-icon--domrf { background-color: var(--color-domrf); }
.hero__bank-icon--vtb { background-color: var(--color-vtb); }
.hero__bank-icon--domclick { background-color: var(--color-domclick); }

.hero__bank-icon img {
  width: 28px;
  height: 28px;
}

.hero__bank-name {
  font-size: var(--h5-size);
  font-weight: var(--h5-weight);
  line-height: var(--h5-line-height);
  letter-spacing: var(--h5-letter-spacing);
  color: var(--color-graphite);
}
