
@charset "UTF-8";

/* ============================================================
   HERO — главная секция
   Figma mapping:
   .hero           → .hero
   .div            → .hero__intro
   .div2           → .hero__title
   .div3           → .hero__subtitle
   .div4           → .hero__slider-wrap (внешний)
   .frame-46       → строка: стрелка + слайдер + стрелка
   .component-25/26→ .hero__arrow
   .frame-39       → .hero__slider
   .frame-36       → .hero__content
   .frame-34       → .hero__content-top
   .div5           → .hero__card-title
   .frame-31       → .hero__badges
   .frame-28/29/30 → .hero__badge
   .frame-33       → .hero__cta-row
   .frame-11       → .hero__btn--gold
   .frame-32       → .hero__btn--light
   .frame-12       → .hero__gift
   .frame-53       → .hero__gift-info
   ._1-1           → .hero__gift-avatar
   .div7           → .hero__gift-text
   .frame-112      → .hero__gift-btn
   .frame-47       → .hero__dots
   .ellipse-9      → .hero__dot.is-active
   .ellipse-10/11  → .hero__dot
   ============================================================ */

   .hero,
   .hero * {
       box-sizing: border-box;
   }
   
   /* ── Секция ── */
   .hero {
       padding: 140px 0 0;

       display: flex;
       flex-direction: column;
       gap: 0;
       align-items: center;
       justify-content: flex-start;
       position: relative;
       overflow: hidden;
              padding-left: var(--section-padding-x);
       padding-right: var(--section-padding-x);
   }
   
   
   .hero::before {
    content: '';
    position: absolute;
    inset: -1%; /* запас чтобы при scale не было белых краёв */
    background: var(--hero-bg) center / cover no-repeat;
    z-index: 0;
    animation: hero-pulse 8s ease-in-out infinite;
}

/* Всё внутри hero поверх фона */
.hero > * {
    position: relative;
    z-index: 1;
}

@keyframes hero-pulse {
    0%   { transform: scale(1);    }
    50%  { transform: scale(1.08); }
    100% { transform: scale(1);    }
}
   
   
   
   
   /* ──────────────────────────────────────────────────────────
      INTRO: заголовок + подзаголовок (.div)
      ────────────────────────────────────────────────────────── */
   .hero__intro {
      
       padding-top: 80px;
       padding-bottom: 40px;

       display: flex;
       flex-direction: column;
       gap: 22px;
       align-items: center;
       justify-content: flex-start;
       flex-shrink: 0;
       width: 100%;
       max-width: 1500px;
       min-height: 238px;
       position: relative;
   }
   
   /* H1 (.div2) */
   .hero__title {
       background: var(--gradient-svetlyj);
       background-clip: text;
       -webkit-background-clip: text;
       -webkit-text-fill-color: transparent;
       text-align: center;
       font-family: var(--font-bebas);
       font-size: 54px;
       line-height: 56px;
       font-weight: 700;
       position: relative;
       width: 1092px;
       margin: 0;
   }
   
   /* Подзаголовок (.div3) */
   .hero__subtitle {
       background: var(--gradient-svetlyj);
       background-clip: text;
       -webkit-background-clip: text;
       -webkit-text-fill-color: transparent;
       text-align: center;
       font-family: var(--font-myriad);
       font-size: 20px;
       line-height: 26px;
       font-weight: 400;
       position: relative;
       width: 1092px;
       margin: 0;
   }
   
   /* ──────────────────────────────────────────────────────────
      SLIDER WRAP (.div4)
      ────────────────────────────────────────────────────────── */
   .hero__slider-wrap {
       display: flex;
       flex-direction: row;
       gap: 60px;
       align-items: center;
       justify-content: flex-start;
       flex-shrink: 0;
       width: 100%;
       max-width: 1500px;
       padding-bottom: 50px;
 
   }
   
   

   
   
   /* ── Стрелки (.component-25 / .component-26) ── */
   .hero__arrow {
       flex-shrink: 0;
       width: 71px;
       height: 71px;
       
       border: none;
       padding: 0;
       background: transparent;
       cursor: pointer;
       border-radius: 50%;
      

   }


   .hero__arrow--prev {
    z-index: 2;
    position: absolute;
    left: -10%;
 
}
.hero__arrow--next {
    z-index: 2;
    position: absolute;
    right: -10%;
 
}
   .hero__arrow-bg {
       position: absolute;
       inset: 0;
       border-radius: 50%;
       border: 2px solid #FFDB73;
      

   }
   
   .hero__arrow:hover  {
    background: var(--gradient-zheltyj);

   }

   .hero__arrow svg {
    position: absolute;
    width: 53.52%;
    height: 53.52%;
    left: 23.94%;
    top: 22.54%;
    fill: #FFDB73;
}

.hero__arrow:hover svg {
    fill: var(--color-black);
}
   
 
   
   /* ── Слайдер (.frame-39) ── */
   .hero__slider {
       
       flex-shrink: 0;
       width: 100%;
       height: 467px;
       position: relative;
       box-shadow: var(--ten-box-shadow, 0px 4px 136px 0px rgba(12,12,12,.31));
       overflow: hidden;
       
       background-size: cover;
       background-position: center;
       background-repeat: no-repeat;
       transition: opacity .6s ease;
   }
   
   /* ── Контент внутри слайдера (.frame-36) ── */
   .hero__content {
       display: flex;
       flex-direction: column;
       gap: 22px;
       align-items: flex-start;
       justify-content: flex-start;
       width: 774px;
       position: absolute;
       left: 70px;
       top: 50%;
       translate: 0 -50%;
   }


   .hero__slider {
    position: relative;
    isolation: isolate;
}

.hero__slider::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(266.3deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.5) 100%);
    pointer-events: none;
    z-index: 0;
}

/* Контент слайдера поверх оверлея */
.hero__content,
.hero__gift {
    position: relative;
    z-index: 1;
}
   
   /* ── Заголовок карточки (.div5) ── */
   .hero__card-title {
       text-align: left;
       font-family: var(--font-bebas);
       font-size: 50px;
       line-height: 54px;
       font-weight: 700;
       position: relative;
       width: 775px;
       margin: 0;
   }
   
   .hero__card-title .gold {
       background: var(--gradient-zheltyj);
       background-clip: text;
       -webkit-background-clip: text;
       -webkit-text-fill-color: transparent;
   }
   
   .hero__card-title .light {
       color: #fff;
       -webkit-text-fill-color: #fff;
   }
   
   /* ── Бейджи (.frame-31 / .frame-28/29/30) ── */
   .hero__badges {
       display: flex;
       flex-direction: row;
       gap: 9px;
       align-items: flex-start;
       justify-content: flex-start;
       flex-shrink: 0;
       position: relative;
       flex-wrap: wrap;
   }
   
   .hero__badge {
       background: rgba(0,0,0,.33);
       border-radius: 6px;
       border: 1px solid rgba(255,255,255,.06);
       padding: 14px 20px 14px 14px;
       display: flex;
       flex-direction: row;
       gap: 5px;
       align-items: center;
       justify-content: flex-start;
       flex-shrink: 0;
       position: relative;
       backdrop-filter: blur(8.5px);
   }
   
   .hero__badge-icon {
       flex-shrink: 0;
       width: 24px;
       height: 24px;
       color: rgba(232,232,232,.7);
   }
   
   .hero__badge span {
       background: var(--gradient-svetlyj);
       background-clip: text;
       -webkit-background-clip: text;
       -webkit-text-fill-color: transparent;
       font-family: var(--font-myriad);
       font-size: 17px;
      
       font-weight: 400;
       white-space: nowrap;
    
   }
   
   /* ── CTA кнопки (.frame-33) ── */
   .hero__cta-row {
       display: flex;
       flex-direction: row;
       gap: 18px;
       align-items: center;
       justify-content: flex-start;
       flex-shrink: 0;
       position: relative;
   }
   
   /* Золотая кнопка (.frame-11) */
   .hero__btn {
       border-radius: 5px;
       padding: 20px 28px;
       display: inline-flex;
       align-items: center;
       justify-content: center;
       gap: 10px;
       flex-shrink: 0;
       border: none;
       cursor: pointer;
       font-family: var(--font-bebas);
       font-size: 20px;
       line-height: 20px;
       font-weight: 700;
       color: var(--color-black);
       -webkit-text-fill-color: var(--color-black);
       position: relative;
       overflow: hidden;
       transition: transform .15s;
   }
   
   .hero__btn--gold {
   
    background: var(--gradient-zheltyj);
   }
   
 
   
   .hero__btn--gold:hover {
   
    background: linear-gradient(180deg, #C7A21B 0%, #FFDB73 100%);
   }
   
 
   
   /* Светлая кнопка (.frame-32) */
   .hero__btn--light {
       background: var(--gradient-svetlyj);
   }

   .hero__btn--light:hover {
    background: linear-gradient(180deg, #C7A21B 0%, #FFDB73 100%);
}
   
   /* ── Карточка подарка (.frame-12) ── */
   .hero__gift {
       background: rgba(0,0,0,.33);
       border-radius: 17px;
       border: 1px solid rgba(255,255,255,.06);
       padding: 21px 23px;
       display: flex;
       flex-direction: row;
       gap: 24px;
       align-items: center;
       justify-content: center;
       position: absolute;
       right: 30px;
       bottom: 30px;
       backdrop-filter: blur(8.5px);
   }
   
   /* Строка: аватар + текст (.frame-53) */
   .hero__gift-info {
       display: flex;
       flex-direction: row;
       gap: 13px;
       align-items: center;
       justify-content: flex-start;
       flex-shrink: 0;
       position: relative;
   }
   
   /* Аватар (._1-1) */
   .hero__gift-avatar {
       flex-shrink: 0;
       width: 61px;
       height: 61px;
       object-fit: cover;
       border-radius: 4px;
       box-shadow: var(--ten-box-shadow, 0px 4px 136px 0px rgba(12,12,12,.31));
       aspect-ratio: 1;
   }
   
   /* Текст (.div7) */
   .hero__gift-text {
       text-align: left;
       font-family: var(--font-bebas);
       font-size: 26px;
       line-height: 29px;
       font-weight: 700;
       position: relative;
   }
   
   .hero__gift-text .light {
       background: var(--gradient-svetlyj);
       background-clip: text;
       -webkit-background-clip: text;
       -webkit-text-fill-color: transparent;
   }
   
   .hero__gift-text .gold {
       background: var(--gradient-zheltyj);
       background-clip: text;
       -webkit-background-clip: text;
       -webkit-text-fill-color: transparent;
   }
   
   /* Кнопка подарка (.frame-112) */
   .hero__gift-btn {
       background: var(--gradient-zheltyj);
       border-radius: 5px;
       padding: 18px;
       display: inline-flex;
       align-items: center;
       justify-content: center;
       gap: 10px;
       flex-shrink: 0;
       width: 233px;
       border: none;
       cursor: pointer;
       font-family: var(--font-bebas);
       font-size: 20px;
       line-height: 20px;
       font-weight: 700;
       color: var(--color-black);
       -webkit-text-fill-color: var(--color-black);
       position: relative;
       overflow: hidden;
       transition: transform .15s;
   }
   

   
   .hero__gift-btn:hover {
    background: linear-gradient(180deg, #C7A21B 0%, #FFDB73 100%);
   }
   
 
   
   /* ──────────────────────────────────────────────────────────
      DOTS (.frame-47)
      ────────────────────────────────────────────────────────── */
   .hero__dots {
       display: flex;
       flex-direction: row;
       gap: 15px;
       align-items: center;
       justify-content: flex-start;
       flex-shrink: 0;
       position: relative;
       margin-bottom: 50px;
       min-height: calc(20px + 16px); 
   }
   
   /* Неактивная точка (.ellipse-10/11) */
   .hero__dot {
       flex-shrink: 0;
         
       min-width: 10px;
       min-height: 10px;
       width: 10px;
       height: 10px;
       border-radius: 50%;
       border: none;
       padding: 0;
       cursor: pointer;
       position: relative;
       background: var(--gradient-svetlyj);
       transition: width .3s, height .3s, background .3s;
   }
   
   /* Активная точка (.ellipse-9) */
   .hero__dot.is-active {
       width: 16px;
       height: 16px;
       background: var(--gradient-zheltyj);
   }
   
   /* ──────────────────────────────────────────────────────────
      АДАПТИВ
      ────────────────────────────────────────────────────────── */
   @media (max-width: 1599px) {
       .hero__intro {
           width: 100%;
    
       }

       .hero__slider {
           width: 100%;
           max-width: 1500px;
       }
   
       .hero__title,
       .hero__subtitle {
           width: 100%;
           max-width: 1092px;
       }
 
   
       .hero__slider-wrap {
           gap: clamp(16px, 3vw, 60px);
       }

       .hero__arrow--prev {

        left: -5%;
    
    }

   .hero__arrow--next {
    right: -5%;

    }

   }
   

   @media (max-width: 1320px) {


    .hero__card-title {
        width: 776px;
    }
    .hero__badges {
        flex-direction: column-reverse;
    }
    .hero__gift {
        flex-direction: column;
    }

}



   @media (max-width: 1024px) {
  
       .hero{
        padding-top: 95px;
      
       }
   
       .hero__card-title {
           font-size: clamp(28px, 3.5vw, 50px);
           line-height: 1.1;
           width: 100%;
       }
   
       .hero__content {
           width: clamp(300px, 55%, 774px);
           left: 40px;
       }
   
       .hero__badge span {
           font-size: 14px;
           line-height: 1.4;
       }
   
       .hero__gift {
           right: 20px;
           bottom: 20px;
           gap: 16px;
       }
   
       .hero__gift-btn {
           width: auto;
           padding: 14px 16px;
       }
   }
   

@media (max-width: 999px) {
    .hero__cta-row {
      
        flex-direction: column;
       
        align-items: flex-start;
        justify-content: flex-start;
       
    }

}



   @media (max-width: 860px) {
       .hero {
           padding-top: 50px;
       }
   
       .hero__title {
           font-size: clamp(32px, 4vw, 54px);
           line-height: 1.1;
         
        }
       
   
       .hero__subtitle {
           font-size: clamp(18px, 2vw, 20px);
           line-height: 1.4;
       }
   
       .hero__badges {
         flex-direction: row; 
        max-width: 450px;
    }



       /* Стрелки скрываем — на мобиле только точки */
       .hero__arrow {
           display: none;
       }
   
       .hero__slider {
           height: auto;
           min-height: 400px;
       }
   
       .hero__content {
           position: relative;
           left: auto;
           top: auto;
           translate: none;
           width: 100%;
           padding: 40px 15px 30px;
       }
   
       .hero__gift {
           position: relative;
           right: auto;
           bottom: auto;
           margin: 0 24px 24px;
           flex-direction: column;
           align-items: flex-start;
           max-width: 420px;
       }
   
       .hero__gift-btn {
           width: 100%;
       }

       .hero__cta-row {
        flex-direction: row;
       }

       .hero__card-title{
        max-width: 485px;
       }
   
       /* Слайдер — контент стекается вертикально */
       .hero__slider {
           display: flex;
           flex-direction: column;
           justify-content: flex-start;
       }
   }
   
   @media (max-width: 560px) {
       .hero {
           padding-top: 80px;
       }
   
       .hero__intro {
           padding: 30px 0px;
           min-height: auto;
       }
   
       .hero__title {
           font-size: clamp(32px, 6vw, 40px);
       }
   
       .hero__subtitle {
           font-size: 18px;
       }
   
       .hero__badges {
           gap: 6px;
       }
   
       .hero__badge span {
           font-size: 13px;
           line-height: 1.3;
       }
   
       .hero__cta-row {
           flex-direction: column;
           align-items: stretch;
           width: 100%;
       }
   
       .hero__btn {
           width: 100%;
           justify-content: center;
           padding: 16px 20px;
       }
   
       .hero__gift-info {
           flex-direction: column;
           align-items: flex-start;
       }
   
       .hero__dots {
           padding: 14px 0 0;
       }
   }



   @media (max-width: 480px) {

    .hero__intro{ border:none;}

    .hero__intro {padding-top: 40px; }

    .hero__card-title { text-align: center; }
    .hero__badges {display: none;}
    .hero__cta-row {
        flex-direction: row;
        gap: 10px;
    }

    .hero__btn {
        max-width: 49%;
        justify-content: center;
        padding: 15px 0px;
        font-size: 18px;
    }

    .hero__gift-btn {
        font-size: 18px;
        padding: 15px;
    }


    .hero__gift {
        align-self: center;
        max-width: 256px;
    }

    .hero__gift-info {
        
        align-items: center;
    }

    .hero__gift-text {
        text-align: center;
        font-size: 22px;
 
    }

    .hero__gift-avatar {
        width: 52px;
        height: 52px;

    }

    .hero__slider-wrap {
        padding-bottom: 50px;
    }

    .hero::before {
        animation: hero-pulse 4s ease-in-out infinite;
    }


    
   }