/* ===== promo-adults-es.css — Spanish Adults Modal (v1.2.0) ===== */

/* Контейнер модалки */
.promo-adults-es-modal{
  position:fixed; inset:0; z-index:1050;
  display:none; align-items:center; justify-content:center;
  height:100svh; overflow:hidden; background:transparent;
}
.promo-adults-es-modal.is-open{ display:flex !important; }

/* Бэкдроп */
.promo-adults-es-backdrop{
  position:absolute; inset:0;
  background:rgba(0,0,0,.55); backdrop-filter:blur(2px);
}

/* Диалог + прокрутка */
.promo-adults-es-dialog{
  position:relative; z-index:1060;
  display:flex; flex-direction:column; min-height:0;
  width:92%; max-width:1100px; max-height:min(90vh, calc(100svh - 24px));
  background:#fff; border-radius:18px; box-shadow:0 10px 40px rgba(0,0,0,.25);
  outline:0; padding:0; overflow:hidden;
}
.promo-adults-es-scroll{
  flex:1 1 auto; min-height:0; overflow-y:auto;
  -webkit-overflow-scrolling:touch; overscroll-behavior:contain; touch-action:pan-y;
}

/* Header — как в английской модалке */
.promo-adults-es-header{
  position:sticky; top:0; z-index:2; background:#fff;
  border-top-left-radius:18px; border-top-right-radius:18px;
  gap:8px; align-items:center;
}
.promo-adults-es-header h2{
  margin:0; font-weight:800; line-height:1.2; font-size:1.12rem;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; text-overflow:ellipsis; word-break:break-word;
  max-width:calc(100% - 40px);           /* место под крестик */
}
.promo-adults-es-header .btn-close{ flex:0 0 32px; height:32px; margin-left:8px; }

/* Плашки — строго слева */
.limited-offer-wrapper,
.badge-container{ text-align:left !important; }

.limited-offer-gradient,
.online-course-badge{
  display:inline-block; margin:0;
}

/* Красная плашка (цвет + тень + адаптивная ширина) */
.limited-offer-gradient{
  padding:.35rem .8rem; border-radius:9999px; font-weight:800;
  background:linear-gradient(90deg,#ff8a8a,#ff5a62);
  color:#fff; box-shadow:0 10px 28px rgba(255,90,98,.28);
  white-space:nowrap;
}
.pulse-fast{ animation:pulse-fast 1.6s infinite; }
@keyframes pulse-fast{ 0%,100%{transform:scale(1)} 50%{transform:scale(1.03)} }

/* Зелёная плашка (fallback без bootstrap-классов) */
.online-course-badge{
  padding:.3rem .8rem; border-radius:9999px; font-weight:800;
  background:#198754; color:#fff; box-shadow:0 8px 22px rgba(0,0,0,.12);
}
.pulse-green{ animation:pulse-green 2.2s ease-in-out infinite; }
@keyframes pulse-green{
  0%,100%{ box-shadow:0 0 0 0 rgba(25,135,84,.35); }
  50%{    box-shadow:0 0 0 10px rgba(25,135,84,0); }
}

/* Мелкие утилиты */
.price-full-pill{ background:#ff5a62; color:#fff; padding:.35rem .8rem; border-radius:9999px; font-weight:800; display:inline-block; }
.hero-features-list{ margin:0; padding-left:0; list-style:none; }
.hero-features-list li{ margin-bottom:.35rem; }

/* CTA (ровная высота) */
.promo-adults-es-dialog .cta-row{ gap:12px; flex-wrap:wrap; }
.promo-adults-es-dialog .cta-row .btn{
  min-height:48px; padding:12px 24px; font-size:1rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.promo-es-primary{ flex:1 1 auto; }
.promo-es-more{ flex:0 0 auto; white-space:nowrap; }

/* Видео панель */
#teacher-video-adults-es-promo{ display:flex; flex-direction:column; align-items:center; }
#teacher-video-adults-es-promo .teacher-caption{ margin-top:20px; line-height:1.4; font-weight:700; text-align:center; }

/* ===== Мобилки ===== */
@media (max-width:767.98px){
  .promo-adults-es-modal{ align-items:flex-start; padding:8px 0; }
  .promo-adults-es-dialog{ max-height:calc(100svh - 16px); margin:8px auto; }
  .promo-adults-es-header h2{ font-size:1rem; }
  .promo-adults-es-dialog .p-5{ padding:1.25rem !important; }
  .promo-adults-es-dialog .p-4{ padding:1rem !important; }

  .limited-offer-gradient{ font-size:.78rem; padding:.3rem .6rem; white-space:normal; max-width:100%; }
  .online-course-badge{ font-size:.85rem; padding:.32rem .62rem; }

  .price-full-pill{ font-size:.95rem; padding:.32rem .7rem; }
}

/* Узкие телефоны (≤399px) — ещё компактнее */
@media (max-width:399.98px){
  .promo-adults-es-header{ align-items:flex-start; border-bottom:1px solid rgba(0,0,0,.06); }
  .promo-adults-es-header h2{
    display:block; overflow:visible; text-overflow:clip;
    -webkit-line-clamp:initial; -webkit-box-orient:initial;
    font-size:.96rem; line-height:1.24; max-width:calc(100% - 44px);
  }
  .promo-adults-es-dialog .btn{ height:44px; font-size:.98rem; padding:.5rem 1rem; }
}

/* Очень узкие (≤380/360) */
@media (max-width:380px){
  .promo-adults-es-header h2{ font-size:.92rem; }
}
@media (max-width:360px){
  .limited-offer-gradient,
  .online-course-badge{ font-size:.82rem; padding:.3rem .56rem; }
}

/* ===== Планшеты ===== */
@media (min-width:744px) and (max-width:819.98px){
  .promo-adults-es-dialog{ max-width:880px; }
  .limited-offer-gradient{ white-space:nowrap; display:inline-block; font-size:.78rem; padding:.28rem .6rem; line-height:1.15; }
}
@media (min-width:820px) and (max-width:1024.98px){
  .promo-adults-es-dialog{ max-width:920px; }
  .limited-offer-gradient{ white-space:nowrap; font-size:.82rem; padding:.3rem .65rem; }
}

/* Десктоп (≥992px) */
@media (min-width:992px){
  .promo-adults-es-dialog{ margin:3.5vh auto; }
}

/* Safe areas (iOS) */
@supports (padding:max(0px)){
  .promo-adults-es-dialog{
    margin:max(8px, env(safe-area-inset-top)) auto max(8px, env(safe-area-inset-bottom));
  }
}


/* === FORCE-LEFT: плашки слева (перебиваем promo.css) === */
.promo-adults-es-dialog .limited-offer-wrapper,
.promo-adults-es-dialog .badge-container{
  text-align: left !important;      /* не центрируем */
  display: block !important;        /* на всякий случай гасим flex */
  justify-content: flex-start !important;
}

.promo-adults-es-dialog .limited-offer-wrapper .limited-offer-gradient,
.promo-adults-es-dialog .badge-container .online-course-badge{
  display: inline-block !important; /* не растягиваемся */
  margin-left: 0 !important;        /* убираем 0 auto */
  margin-right: 0 !important;
}
/* === CTA: одинаковые размеры и поведение === */
.promo-adults-es-dialog .cta-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:stretch;
}

/* обе кнопки — одинаковая высота/радиус/внутренние отступы */
.promo-adults-es-dialog .cta-row .btn{
  flex:1 1 0;                 /* делим строку 50/50 */
  min-height:48px;
  padding:12px 20px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  line-height:1.2;
}

/* вторичная — чтобы визуально не казалась меньше */
.promo-adults-es-dialog .cta-row .btn.btn-outline-secondary{
  border-width:2px;            /* как в макете */
}

/* мобилка: обе на всю ширину, одна под другой */
@media (max-width: 576px){
  .promo-adults-es-dialog .cta-row{ flex-direction:column; }
  .promo-adults-es-dialog .cta-row .btn{
    flex:1 1 100%;
    width:100% !important;
  }
}
