
/* SUNO WAVE — same-window payment + readable buttons v6
   Исправляет только правые кнопки оплаты и модалку ожидания.
   Плееры / waveform / общий дизайн результата не трогаются.
*/

body.swCleanPayUI .swPayOptions{
  display:grid!important;
  gap:14px!important;
  margin-top:18px!important;
}

/* Карточка оплаты: 3 зоны. Цена всегда отдельно справа. */
.swCleanPayCard{
  position:relative!important;
  width:100%!important;
  min-height:112px!important;
  display:grid!important;
  grid-template-columns:78px minmax(0,1fr) 86px!important;
  grid-template-areas:"brand content price"!important;
  align-items:center!important;
  column-gap:12px!important;
  padding:16px 16px!important;
  border-radius:28px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  text-decoration:none!important;
  color:#f7fff3!important;
  border:1px solid rgba(114,255,142,.46)!important;
  background:linear-gradient(135deg,rgba(71,239,103,.34) 0%,rgba(26,120,57,.32) 42%,rgba(5,27,20,.96) 100%)!important;
  box-shadow:0 20px 48px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.16), 0 0 38px rgba(36,211,102,.15)!important;
  cursor:pointer!important;
  transform:translateZ(0)!important;
  -webkit-tap-highlight-color:transparent!important;
  user-select:none!important;
}

.swCleanPayCard::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  pointer-events:none!important;
  background:
    linear-gradient(48deg,transparent 0 44%,rgba(255,255,255,.085) 44% 58%,transparent 58%),
    radial-gradient(circle at 15% 14%,rgba(138,255,154,.18),transparent 36%),
    radial-gradient(circle at 86% 66%,rgba(255,223,88,.08),transparent 34%)!important;
}

.swCleanPayCard::after{
  content:""!important;
  position:absolute!important;
  inset:1px!important;
  z-index:-1!important;
  pointer-events:none!important;
  border-radius:27px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.052),transparent 44%), linear-gradient(180deg,rgba(255,255,255,.024),rgba(0,0,0,.12))!important;
}

.swCleanPayCard:hover{
  border-color:rgba(159,255,171,.82)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.43), inset 0 1px 0 rgba(255,255,255,.22), 0 0 54px rgba(36,211,102,.25)!important;
  transform:translateY(-1px)!important;
}

.swCleanPayCard:active{
  transform:translateY(0) scale(.992)!important;
}

.swCleanPayCard--bundle{
  color:#fff!important;
  border-color:rgba(255,232,128,.74)!important;
  background:linear-gradient(135deg,rgba(255,239,176,.98) 0%,rgba(247,193,61,.96) 46%,rgba(218,139,23,.93) 100%)!important;
  box-shadow:0 22px 58px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.38), 0 0 48px rgba(255,196,45,.22)!important;
}

/* Левая зона СБП */
.swCleanPayBrand{
  grid-area:brand!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr)!important;
  align-items:center!important;
  gap:6px!important;
  z-index:2!important;
}

.swCleanPayBrandMark{
  width:32px!important;
  height:32px!important;
  display:block!important;
  filter:drop-shadow(0 8px 12px rgba(36,211,102,.16))!important;
}

.swCleanPayBrandText{
  display:grid!important;
  gap:1px!important;
  min-width:0!important;
}

.swCleanPayBrandText b{
  display:block!important;
  color:#f8fff2!important;
  font-size:13px!important;
  line-height:.92!important;
  font-weight:1000!important;
  letter-spacing:.01em!important;
  text-transform:lowercase!important;
  text-shadow:0 2px 10px rgba(0,0,0,.22)!important;
}

.swCleanPayBrandText small{
  display:none!important;
}

/* Центр: текст. Для нижних кнопок — строго 3 строки. */
.swCleanPayContent{
  grid-area:content!important;
  min-width:0!important;
  display:grid!important;
  align-content:center!important;
  justify-items:start!important;
  text-align:left!important;
  gap:3px!important;
  z-index:2!important;
  overflow:hidden!important;
}

.swCleanPayKicker{
  display:block!important;
  max-width:100%!important;
  color:rgba(255,255,255,.62)!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.swCleanPayTitle{
  display:block!important;
  max-width:100%!important;
  color:#fff!important;
  font-size:20px!important;
  line-height:1.02!important;
  font-weight:1000!important;
  letter-spacing:-.02em!important;
  text-shadow:0 2px 18px rgba(0,0,0,.32)!important;
}

.swCleanPayTitleLine{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.swCleanPaySub{
  display:block!important;
  max-width:100%!important;
  color:rgba(255,255,255,.76)!important;
  font-size:12px!important;
  line-height:1.05!important;
  font-weight:850!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Правая зона: цена. Отдельная колонка, не пересекается с текстом. */
.swCleanPayPrice{
  grid-area:price!important;
  width:100%!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  justify-self:stretch!important;
  z-index:2!important;
  text-align:right!important;
  white-space:nowrap!important;
}

.swCleanPayPrice b{
  display:block!important;
  color:#eaffdf!important;
  font-size:31px!important;
  line-height:.9!important;
  font-weight:1000!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
  text-shadow:0 2px 20px rgba(0,0,0,.30), 0 0 24px rgba(145,255,103,.20)!important;
}

.swCleanPayCard--bundle .swCleanPayPrice b{
  color:#fffef0!important;
  text-shadow:0 2px 18px rgba(0,0,0,.28), 0 0 28px rgba(255,255,170,.26)!important;
}

/* Верхняя кнопка может быть в 2 строки, нижние — в 3 строки */
.swCleanPayCard--minus .swCleanPayTitle{
  font-size:21px!important;
}

.swCleanPayCard--bundle .swCleanPayTitle,
.swCleanPayCard--vocals .swCleanPayTitle{
  font-size:20px!important;
  line-height:.98!important;
}

/* Убираем старые акционные хвосты */
.swCleanPayCard del,
.swCleanPayCard .swBundleTag,
.swCleanPayCard .swSaleUntil,
.swCleanPayCard .old-price,
.swCleanPayCard [class*="old"],
.swCleanPayCard [class*="sale"],
.swCleanPayCard [class*="Sale"],
.swCleanPayCard .swPaySystems,
.swCleanPayCard .pay-systems,
.swCleanPayCard .swJulySaleSystems,
.swCleanPayCard [class*="system"]{
  display:none!important;
}

/* Waveform не ломаем */
body.swCleanPayUI .swWaveImg.is-ready{
  display:block!important;
  opacity:1!important;
  filter:brightness(1.08) contrast(1.05) drop-shadow(0 0 10px rgba(255,214,107,.14))!important;
}
body.swCleanPayUI .swWaveBox.has-real-wave .swWaveFake{
  opacity:0!important;
  visibility:hidden!important;
}

/* Единая модалка оплаты */
#swCleanPayOverlay{
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:22px!important;
  background:radial-gradient(circle at 50% 42%,rgba(255,210,64,.22),transparent 38%), radial-gradient(circle at 45% 58%,rgba(36,211,102,.16),transparent 42%), rgba(1,6,13,.74)!important;
  backdrop-filter:blur(13px)!important;
  -webkit-backdrop-filter:blur(13px)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:scale(.986)!important;
  transition:opacity .10s ease, visibility .10s ease, transform .10s ease!important;
}

#swCleanPayOverlay.is-open{
  opacity:1!important;
  visibility:visible!important;
  transform:scale(1)!important;
  pointer-events:auto!important;
}

.swCleanPayOverlayCard{
  width:min(548px,calc(100vw - 28px))!important;
  min-height:168px!important;
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border-radius:32px!important;
  padding:25px!important;
  color:#101826!important;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,247,220,.96) 42%,rgba(244,255,248,.98))!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.52),0 0 0 1px rgba(255,200,63,.18),inset 0 1px 0 rgba(255,255,255,.86)!important;
}

.swCleanPayOverlayCard::before{
  content:""!important;
  position:absolute!important;
  inset:-100%!important;
  z-index:-2!important;
  background:conic-gradient(from 140deg,transparent,rgba(255,200,63,.46),transparent,rgba(36,211,102,.30),transparent)!important;
  animation:swCleanPaySpin 2.35s linear infinite!important;
}

.swCleanPayOverlayCard::after{
  content:""!important;
  position:absolute!important;
  inset:2px!important;
  z-index:-1!important;
  border-radius:30px!important;
  background:radial-gradient(circle at 16% 18%,rgba(255,200,63,.30),transparent 28%),radial-gradient(circle at 86% 84%,rgba(36,211,102,.22),transparent 34%),rgba(255,255,255,.82)!important;
}

.swCleanPayOverlayRow{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
}

.swCleanPayOverlayLogo{
  flex:0 0 auto!important;
  width:98px!important;
  height:98px!important;
  border-radius:29px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#fff6ad,#ffd43f 48%,#ff9f19)!important;
  color:#1d1200!important;
  box-shadow:0 17px 35px rgba(255,171,18,.34),inset 0 1px 0 rgba(255,255,255,.72)!important;
  border:1px solid rgba(255,255,255,.64)!important;
  font-size:22px!important;
  line-height:.96!important;
  font-weight:1000!important;
  letter-spacing:-.03em!important;
  text-align:center!important;
}

.swCleanPayOverlayTitle{
  margin:0!important;
  color:#0b1524!important;
  font-size:clamp(27px,3.8vw,42px)!important;
  line-height:.95!important;
  font-weight:1000!important;
  letter-spacing:-.055em!important;
}

.swCleanPayOverlayText{
  margin:10px 0 0!important;
  color:rgba(11,21,36,.68)!important;
  font-size:15px!important;
  line-height:1.3!important;
  font-weight:800!important;
}

.swCleanPayOverlayBar{
  position:relative!important;
  height:5px!important;
  margin-top:18px!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:rgba(11,21,36,.08)!important;
}

.swCleanPayOverlayBar::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:46%!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,#ffd43f,#24d366,#70f05f)!important;
  animation:swCleanPayBar .72s ease-in-out infinite!important;
}

@keyframes swCleanPaySpin{to{transform:rotate(360deg)}}
@keyframes swCleanPayBar{0%{transform:translateX(-115%)}100%{transform:translateX(245%)}}

body.swCleanPayUI #yooOpening,
body.swCleanPayUI .swYooOpening,
body.swCleanPayUI #swYooKassaOpeningAlert,
body.swCleanPayUI .swYooKassaOpeningAlert,
body.swCleanPayUI #swPayInstantOverlay,
body.swCleanPayUI .swPayInstantOverlay,
body.swCleanPayUI #swFinalSolarPayOverlay,
body.swCleanPayUI .swFinalSolarPayOverlay,
body.swCleanPayUI #swSeniorPayOverlay{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Мобильная узкая колонка */
@media(max-width:560px){
  .swCleanPayCard{
    grid-template-columns:62px minmax(0,1fr) 74px!important;
    gap:8px!important;
    min-height:96px!important;
    padding:13px 12px!important;
    border-radius:24px!important;
  }
  .swCleanPayCard::after{border-radius:23px!important;}
  .swCleanPayBrand{
    grid-template-columns:27px minmax(0,1fr)!important;
    gap:5px!important;
  }
  .swCleanPayBrandMark{
    width:27px!important;
    height:27px!important;
  }
  .swCleanPayBrandText b{
    font-size:12px!important;
  }
  .swCleanPayKicker{
    font-size:8.5px!important;
    letter-spacing:.04em!important;
  }
  .swCleanPayTitle{
    font-size:16px!important;
    line-height:1!important;
  }
  .swCleanPayCard--minus .swCleanPayTitle{
    font-size:17px!important;
  }
  .swCleanPaySub{
    font-size:10.5px!important;
  }
  .swCleanPayPrice b{
    font-size:24px!important;
  }
  .swCleanPayOverlayCard{border-radius:26px!important;padding:20px!important;}
  .swCleanPayOverlayRow{gap:14px!important;}
  .swCleanPayOverlayLogo{width:76px!important;height:76px!important;border-radius:22px!important;font-size:17px!important;}
  .swCleanPayOverlayTitle{font-size:29px!important;}
  .swCleanPayOverlayText{font-size:13px!important;}
}




/* === SUNO WAVE YOOKASSA OFFICIAL PRELOADER LOGO FIX START === */
#swCleanPayOverlay{
  background:
    radial-gradient(circle at 50% 42%,rgba(0,112,240,.18),transparent 40%),
    rgba(1,6,13,.72)!important;
  backdrop-filter:blur(13px)!important;
  -webkit-backdrop-filter:blur(13px)!important;
}

#swCleanPayOverlay .swCleanPayOverlayCard.swCleanPayOverlayCardLogoOnly{
  width:min(430px,calc(100vw - 32px))!important;
  min-height:158px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:30px 34px 36px!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 18% 0%,rgba(0,112,240,.12),transparent 43%),
    linear-gradient(135deg,rgba(255,255,255,.99),rgba(232,243,255,.97))!important;
  border:1px solid rgba(0,112,240,.22)!important;
  box-shadow:
    0 32px 105px rgba(0,0,0,.56),
    0 0 56px rgba(0,112,240,.18),
    inset 0 1px 0 rgba(255,255,255,.92)!important;
}

#swCleanPayOverlay .swCleanPayOverlayOfficialLogo{
  display:block!important;
  width:min(210px,64vw)!important;
  height:auto!important;
  object-fit:contain!important;
  filter:drop-shadow(0 10px 22px rgba(0,43,92,.14))!important;
  transform:translateZ(0)!important;
}

#swCleanPayOverlay .swCleanPayOverlayCardLogoOnly .swCleanPayOverlayBar{
  position:absolute!important;
  left:34px!important;
  right:34px!important;
  bottom:22px!important;
  height:5px!important;
  border-radius:999px!important;
  overflow:hidden!important;
  background:rgba(0,112,240,.13)!important;
}

#swCleanPayOverlay .swCleanPayOverlayCardLogoOnly .swCleanPayOverlayBar::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:42%!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,rgba(0,112,240,.05),rgba(0,112,240,.92),rgba(0,112,240,.05))!important;
  animation:swCleanPayOfficialLogoBar 1.05s ease-in-out infinite!important;
}

@keyframes swCleanPayOfficialLogoBar{
  0%{transform:translateX(-110%)}
  100%{transform:translateX(250%)}
}

/* страховка: если старый DOM из кэша уже создан, старый непонятный знак и подписи не показываем */
#swCleanPayOverlay .swCleanPayOverlayLogo,
#swCleanPayOverlay .swCleanPayOverlayTitle,
#swCleanPayOverlay .swCleanPayOverlayText,
#swCleanPayOverlay .swCleanPayOverlayRow > div:not(.swCleanPayOverlayLogo){
  display:none!important;
}
/* === SUNO WAVE YOOKASSA OFFICIAL PRELOADER LOGO FIX END === */
