/* ==========================================================================
   05. 05-responsive-savings-fixes
   Поздние responsive-правки, оптимизация превью, мобильная адаптация и чистый блок экономии со стрелкой.
   IMPORTANT: cascade order is preserved from the old styles.css.
   ========================================================================== */

/* JP v77 mobile-only optimization from archive 249: do not change desktop */
.jp-detail__media--mobile-copy{
  display:none !important;
}

@media (max-width: 767px), (max-device-width: 767px){
  html,
  body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    background:#030405 !important;
  }

  .container{
    width:calc(100% - 24px) !important;
    max-width:100% !important;
  }

  .header{
    position:sticky !important;
    top:0 !important;
  }

  .header__inner{
    height:56px !important;
    gap:8px !important;
  }

  .brand__logo{
    height:30px !important;
    max-width:158px !important;
  }

  .nav__cta{
    min-height:32px !important;
    padding:7px 12px !important;
    font-size:11px !important;
    line-height:1 !important;
  }

  .burger{
    width:34px !important;
    height:34px !important;
    border-radius:10px !important;
  }

  .section{
    padding:34px 0 !important;
  }

  .jp-hero.jp-hero--ref45{
    width:100% !important;
    padding:0 0 34px !important;
    overflow:hidden !important;
    background:#030405 !important;
  }

  .jp-hero--ref45 > .container.jp-hero__inner{
    width:100% !important;
    max-width:100% !important;
    min-height:auto !important;
    margin:0 !important;
    padding:74px 14px 30px !important;
    overflow:hidden !important;
    background:
      linear-gradient(90deg, rgba(1,2,3,.98) 0%, rgba(1,2,3,.86) 40%, rgba(1,2,3,.28) 72%, rgba(1,2,3,.76) 100%),
      linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.10) 42%, rgba(0,0,0,.78) 66%, rgba(0,0,0,1) 100%),
      url("../img/hero-jewelry-model-wide.webp") 58% top / 760px auto no-repeat,
      #030405 !important;
  }

  .jp-hero--ref45 > .container.jp-hero__inner::after{
    display:none !important;
    content:none !important;
  }

  .jp-hero--ref45 .hero__copy,
  .jp-hero--ref45 .jp-hero__copy{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    text-align:left !important;
  }

  .jp-hero--ref45 .eyebrow{
    margin:0 0 10px !important;
    font-size:8.5px !important;
    letter-spacing:.32em !important;
  }

  .jp-hero--ref45 .hero__title-primary{
    font-size:clamp(42px, 13.8vw, 56px) !important;
    line-height:.88 !important;
    letter-spacing:-.045em !important;
  }

  .jp-hero--ref45 .hero__title-line{
    white-space:normal !important;
  }

  .jp-hero--ref45 .hero__title-line--4{
    max-width:330px !important;
  }

  .jp-hero--ref45 .hero__title-sub{
    margin-top:12px !important;
    font-size:clamp(20px, 6vw, 25px) !important;
    line-height:1.05 !important;
  }

  .jp-hero--ref45 .value-points.value-points--clean{
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:20px 0 0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    border-radius:18px !important;
    border-color:rgba(215,170,80,.32) !important;
    background:linear-gradient(180deg, rgba(34,27,19,.58), rgba(5,5,5,.72)) !important;
    overflow:hidden !important;
  }

  .jp-hero--ref45 .value-points.value-points--clean::before,
  .jp-hero--ref45 .value-points.value-points--clean::after,
  .jp-hero--ref45 .value-points__downlink--clean{
    display:none !important;
    content:none !important;
  }

  .jp-hero--ref45 .value-points__item--clean,
  .jp-hero--ref45 .value-points__item--clean:nth-child(3){
    min-height:42px !important;
    grid-template-columns:24px minmax(0, 1fr) !important;
    gap:8px !important;
    padding:9px 12px !important;
    font-size:12px !important;
    line-height:1.22 !important;
    text-align:left !important;
  }

  .jp-hero--ref45 .value-points__icon{
    position:static !important;
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    font-size:11px !important;
  }

  .jp-hero--ref45 .value-points__text,
  .jp-hero--ref45 .value-points__item--clean:nth-child(1) .value-points__text,
  .jp-hero--ref45 .value-points__item--clean:nth-child(2) .value-points__text,
  .jp-hero--ref45 .value-points__item--clean:nth-child(3) .value-points__text{
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    display:block !important;
    transform:none !important;
    justify-content:flex-start !important;
    text-align:left !important;
  }

  .jp-hero__packages{
    margin-top:30px !important;
  }

  .jp-hero--ref45 .jp-hero__packages-label,
  .jp-final-packages .eyebrow{
    margin:0 0 16px !important;
    text-align:center !important;
    font-size:clamp(1.62rem, 8vw, 2rem) !important;
    line-height:1.05 !important;
    letter-spacing:.08em !important;
  }

  .jp-hero--ref45 .jp-packages.jp-packages--hero,
  .jp-packages--final{
    grid-template-columns:1fr !important;
    gap:14px !important;
    width:100% !important;
    max-width:330px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .jp-hero--ref45 .jp-package-card,
  .jp-packages--final .jp-package-card{
    min-height:0 !important;
    padding:18px 14px 15px !important;
    border-radius:18px !important;
  }

  .jp-hero--ref45 .jp-package-card::after{
    display:none !important;
    content:none !important;
  }

  .jp-hero--ref45 .jp-package-card__title,
  .jp-packages--final .jp-package-card__title,
  .jp-hero--ref45 .jp-package-card__title span,
  .jp-packages--final .jp-package-card__title span{
    min-height:0 !important;
    margin:0 0 12px !important;
    font-size:25px !important;
    line-height:1.02 !important;
    letter-spacing:.006em !important;
    text-transform:none !important;
    text-align:center !important;
  }

  .jp-hero--ref45 .jp-photo-stack,
  .jp-packages--final .jp-photo-stack{
    --photo-w:74px !important;
    --photo-h:100px !important;
    height:112px !important;
    max-width:260px !important;
    margin:0 auto 14px !important;
  }

  .jp-hero--ref45 .jp-package-card--full .jp-photo-stack,
  .jp-packages--final .jp-package-card--full .jp-photo-stack{
    --photo-w:58px !important;
    --photo-h:84px !important;
    height:106px !important;
    max-width:270px !important;
  }

  .jp-hero--ref45 .jp-package-card__bullets,
  .jp-packages--final .jp-package-card__bullets{
    display:none !important;
  }

  .jp-hero--ref45 .jp-package-card__bottom,
  .jp-packages--final .jp-package-card__bottom{
    margin-top:4px !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:12px !important;
    text-align:left !important;
  }

  .jp-hero--ref45 .jp-package-card__price,
  .jp-packages--final .jp-package-card__price{
    flex:0 0 auto !important;
    font-size:30px !important;
    line-height:.9 !important;
    letter-spacing:-.035em !important;
    text-align:left !important;
  }

  .jp-hero--ref45 .jp-package-card__button,
  .jp-packages--final .jp-package-card__button{
    flex:0 0 auto !important;
    min-width:112px !important;
    min-height:36px !important;
    padding:8px 12px !important;
    font-size:12px !important;
    border-radius:12px !important;
  }

  .jp-detail-flow{
    padding-top:28px !important;
    padding-bottom:28px !important;
  }

  .jp-detail{
    display:block !important;
    padding:18px 14px !important;
    border-radius:22px !important;
    max-width:100% !important;
  }

  #modelPackageTitle,
  #startPackageTitle,
  .jp-detail__text h2{
    white-space:normal !important;
    font-size:clamp(1.55rem, 7vw, 2rem) !important;
    line-height:1.08 !important;
    letter-spacing:-.025em !important;
  }

  .jp-detail__price{
    margin-top:12px !important;
    padding:7px 10px !important;
    font-size:12.5px !important;
    line-height:1.25 !important;
    white-space:normal !important;
  }

  .jp-detail > .jp-detail__media--model,
  .jp-detail > .jp-detail__media--start{
    display:none !important;
  }

  .jp-detail__media--mobile-copy{
    display:block !important;
    position:relative !important;
    height:210px !important;
    min-height:210px !important;
    max-width:320px !important;
    margin:14px auto 12px !important;
    overflow:visible !important;
  }

  .jp-detail__media--mobile-copy img{
    --photo-w:92px !important;
    --photo-h:124px !important;
  }

  .jp-detail__media--mobile-copy img:nth-child(1){--dx:-72px !important; --dy:2px !important;}
  .jp-detail__media--mobile-copy img:nth-child(2){--dx:0px !important; --dy:8px !important;}
  .jp-detail__media--mobile-copy img:nth-child(3){--dx:72px !important; --dy:2px !important;}
  .jp-detail__media--mobile-copy img:nth-child(4){--dx:-36px !important; --dy:88px !important;}
  .jp-detail__media--mobile-copy img:nth-child(5){--dx:36px !important; --dy:88px !important;}

  .jp-detail__body{
    margin-top:12px !important;
  }

  .jp-detail-list{
    gap:8px !important;
  }

  .jp-detail-list__item{
    grid-template-columns:22px minmax(0, 1fr) !important;
    gap:9px !important;
    font-size:13.5px !important;
    line-height:1.42 !important;
  }

  .jp-detail-list__mark{
    width:20px !important;
    height:20px !important;
    font-size:11px !important;
  }

  .jp-detail__term{
    margin-top:14px !important;
    padding:8px 10px !important;
    font-size:13px !important;
  }

  .turnkey__inner,
  .turnkey__copy{
    gap:18px !important;
  }

  .turnkey__title-main{
    font-size:clamp(1.72rem, 8vw, 2.2rem) !important;
    line-height:1.05 !important;
  }

  .jp-material,
  .jp-material.jp-detail--reverse{
    display:block !important;
    padding:18px 14px !important;
    border-radius:22px !important;
  }

  .jp-material__media{
    height:230px !important;
    min-height:230px !important;
    margin:16px -14px -18px !important;
  }

  .contact-fab{
    left:auto !important;
    right:max(10px, calc(env(safe-area-inset-right) + 10px)) !important;
    bottom:max(10px, calc(env(safe-area-inset-bottom) + 10px)) !important;
    transform:none !important;
    padding:9px 11px !important;
    border-radius:13px !important;
    gap:7px !important;
  }

  .contact-fab__icon{
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    border-radius:8px !important;
  }

  .contact-fab__label{
    font-size:12px !important;
    line-height:1 !important;
  }
}

@media (max-width: 374px), (max-device-width: 374px){
  .jp-hero--ref45 .hero__title-primary{
    font-size:40px !important;
  }

  .jp-hero--ref45 .jp-package-card__title,
  .jp-packages--final .jp-package-card__title,
  .jp-hero--ref45 .jp-package-card__title span,
  .jp-packages--final .jp-package-card__title span{
    font-size:23px !important;
  }

  .jp-hero--ref45 .jp-package-card__price,
  .jp-packages--final .jp-package-card__price{
    font-size:27px !important;
  }

  .jp-hero--ref45 .jp-package-card__button,
  .jp-packages--final .jp-package-card__button{
    min-width:104px !important;
    font-size:11.5px !important;
  }
}


/* JP v78: ТЗ 20260703-122100 — mobile + desktop responsive cleanup.
   Desktop gets responsive balancing only; mobile gets hero-first-screen and package/detail fixes. */

/* Desktop / tablet: keep sections balanced on different desktop widths and remove the giant blank gap after turnkey gallery. */
#turnkey-card.section--turnkey,
.section--turnkey.jp-turnkey-fit{
  min-height: 0 !important;
  padding-bottom: clamp(34px, 3.8vw, 56px) !important;
}

#turnkey-card .turnkey__inner{
  min-height: 0 !important;
  align-items: start !important;
}

#turnkey-card .turnkey__showcase{
  align-self: start !important;
}

#examples.jp-materials,
#examples.section{
  margin-top: 0 !important;
  padding-top: clamp(34px, 4.2vw, 58px) !important;
}

@media (min-width: 768px) and (max-width: 1180px){
  .container{
    width: min(var(--max), calc(100% - 40px)) !important;
  }

  #turnkey-card .turnkey__inner{
    width: min(100%, 780px) !important;
    max-width: 780px !important;
    grid-template-columns: 1fr !important;
    justify-content: center !important;
    justify-items: center !important;
    gap: 28px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #turnkey-card .turnkey__copy{
    width: min(100%, 660px) !important;
    max-width: 660px !important;
    justify-self: center !important;
  }

  #turnkey-card .turnkey__title{
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  #turnkey-card .turnkey__showcase{
    width: fit-content !important;
    max-width: 100% !important;
    justify-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    --turnkey-main-w: clamp(300px, 35vw, 360px) !important;
    --turnkey-main-h: calc(var(--turnkey-main-w) * 4 / 3) !important;
    --turnkey-thumb-w: clamp(94px, 11vw, 116px) !important;
    --turnkey-gallery-gap: 12px !important;
  }

  #turnkey-card .turnkey__showcase-head,
  #turnkey-card .turnkey__gallery{
    width: calc(var(--turnkey-main-w) + var(--turnkey-thumb-w) + var(--turnkey-gallery-gap)) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #turnkey-card .turnkey__gallery{
    grid-template-columns: var(--turnkey-main-w) var(--turnkey-thumb-w) !important;
    justify-content: center !important;
    align-items: start !important;
  }

  #turnkey-card .turnkey__main-wrap,
  #turnkey-card .turnkey__main{
    width: var(--turnkey-main-w) !important;
  }

  #turnkey-card .turnkey__thumbs{
    width: var(--turnkey-thumb-w) !important;
    height: var(--turnkey-main-h) !important;
    max-height: var(--turnkey-main-h) !important;
  }
}

@media (min-width: 1181px){
  #turnkey-card .turnkey__inner{
    width: min(100%, 1100px) !important;
    grid-template-columns: minmax(440px, 560px) max-content !important;
    gap: clamp(36px, 3.2vw, 58px) !important;
  }

  #turnkey-card .turnkey__showcase{
    --turnkey-main-w: clamp(285px, 21vw, 340px) !important;
    --turnkey-main-h: calc(var(--turnkey-main-w) * 4 / 3) !important;
    --turnkey-thumb-w: clamp(96px, 7.2vw, 116px) !important;
  }
}

/* Mobile only: first screen should start with the text, no side empty canvas. */
@media (max-width: 767px), (max-device-width: 767px){
  html,
  body{
    overflow-x: hidden !important;
  }

  .jp-hero.jp-hero--ref45{
    padding-bottom: 28px !important;
  }

  .jp-hero--ref45 > .container.jp-hero__inner{
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    padding: 44px 14px 28px !important;
    background:
      linear-gradient(90deg, rgba(1,2,3,.98) 0%, rgba(1,2,3,.90) 39%, rgba(1,2,3,.34) 72%, rgba(1,2,3,.76) 100%),
      linear-gradient(180deg, rgba(0,0,0,.00) 0%, rgba(0,0,0,.10) 42%, rgba(0,0,0,.82) 68%, rgba(0,0,0,1) 100%),
      url("../img/hero-jewelry-model-wide.webp") 64% top / 650px auto no-repeat,
      #030405 !important;
  }

  .jp-hero--ref45 .hero__copy,
  .jp-hero--ref45 .jp-hero__copy{
    position: relative !important;
    z-index: 8 !important;
    padding-top: 0 !important;
  }

  .jp-hero--ref45 .eyebrow{
    margin: 0 0 8px !important;
    font-size: 8px !important;
    letter-spacing: .30em !important;
  }

  .jp-hero--ref45 .hero__title-primary{
    font-size: clamp(43px, 13.4vw, 54px) !important;
    line-height: .86 !important;
  }

  .jp-hero--ref45 .hero__title-sub{
    margin-top: 10px !important;
    font-size: clamp(19px, 5.65vw, 24px) !important;
  }

  .jp-hero--ref45 .value-points.value-points--clean{
    margin-top: 18px !important;
  }

  .jp-hero--ref45 .jp-hero__packages{
    margin-top: 28px !important;
  }

  .jp-hero--ref45 .jp-packages.jp-packages--hero,
  .jp-packages--final{
    max-width: 324px !important;
  }

  .jp-hero--ref45 .jp-package-card,
  .jp-packages--final .jp-package-card{
    padding: 17px 14px 14px !important;
  }

  .jp-hero--ref45 .jp-package-card__title,
  .jp-packages--final .jp-package-card__title,
  .jp-hero--ref45 .jp-package-card__title span,
  .jp-packages--final .jp-package-card__title span{
    font-size: 24px !important;
    line-height: 1.02 !important;
  }

  .jp-hero--ref45 .jp-package-card__price,
  .jp-packages--final .jp-package-card__price{
    font-size: 29px !important;
  }

  .jp-hero--ref45 .jp-package-card__button,
  .jp-packages--final .jp-package-card__button{
    min-width: 108px !important;
  }

  .jp-detail__media--mobile-copy{
    height: 220px !important;
    min-height: 220px !important;
  }

  #turnkey-card.section--turnkey{
    padding-top: 26px !important;
    padding-bottom: 32px !important;
  }

  #turnkey-card .turnkey__inner{
    gap: 18px !important;
  }

  #turnkey-card .turnkey__showcase{
    --turnkey-main-w: min(230px, calc(100vw - 126px)) !important;
    --turnkey-main-h: calc(var(--turnkey-main-w) * 4 / 3) !important;
    --turnkey-thumb-w: 74px !important;
    --turnkey-gallery-gap: 9px !important;
  }

  #turnkey-card .turnkey__showcase-head,
  #turnkey-card .turnkey__gallery{
    width: min(100%, calc(var(--turnkey-main-w) + var(--turnkey-thumb-w) + var(--turnkey-gallery-gap))) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 374px), (max-device-width: 374px){
  .jp-hero--ref45 > .container.jp-hero__inner{
    padding-top: 40px !important;
  }

  .jp-hero--ref45 .hero__title-primary{
    font-size: 39px !important;
  }

  #turnkey-card .turnkey__showcase{
    --turnkey-main-w: min(218px, calc(100vw - 116px)) !important;
    --turnkey-thumb-w: 68px !important;
  }
}


/* JP v79: TZ 20260703-122834 — desktop turnkey stays two-column; mobile hero/materials cleanup. */
.jp-material__media--mobile-inline{
  display:none !important;
}

/* ПК и промежуточные десктопные ширины: пример карточки строго справа от текста. */
@media (min-width: 768px) and (max-width: 1180px){
  #turnkey-card .turnkey__inner{
    width:min(100%, 1040px) !important;
    max-width:1040px !important;
    display:grid !important;
    grid-template-columns:minmax(330px, 1fr) max-content !important;
    justify-content:center !important;
    justify-items:stretch !important;
    align-items:start !important;
    gap:clamp(20px, 3vw, 34px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  #turnkey-card .turnkey__copy{
    width:100% !important;
    max-width:560px !important;
    justify-self:start !important;
  }

  #turnkey-card .turnkey__showcase{
    width:max-content !important;
    max-width:100% !important;
    justify-self:end !important;
    margin-left:0 !important;
    margin-right:0 !important;
    --turnkey-main-w:clamp(200px, 27vw, 300px) !important;
    --turnkey-main-h:calc(var(--turnkey-main-w) * 4 / 3) !important;
    --turnkey-thumb-w:clamp(62px, 8vw, 96px) !important;
    --turnkey-gallery-gap:10px !important;
  }

  #turnkey-card .turnkey__showcase-head,
  #turnkey-card .turnkey__gallery{
    width:calc(var(--turnkey-main-w) + var(--turnkey-thumb-w) + var(--turnkey-gallery-gap)) !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  #turnkey-card .turnkey__gallery{
    display:grid !important;
    grid-template-columns:var(--turnkey-main-w) var(--turnkey-thumb-w) !important;
    gap:var(--turnkey-gallery-gap) !important;
    justify-content:start !important;
    align-items:start !important;
  }

  #turnkey-card .turnkey__main-wrap,
  #turnkey-card .turnkey__main{
    width:var(--turnkey-main-w) !important;
  }

  #turnkey-card .turnkey__thumbs{
    width:var(--turnkey-thumb-w) !important;
    height:var(--turnkey-main-h) !important;
    max-height:var(--turnkey-main-h) !important;
  }
}

@media (min-width: 1181px){
  #turnkey-card .turnkey__inner{
    grid-template-columns:minmax(440px, 560px) max-content !important;
    justify-content:center !important;
    align-items:start !important;
  }
  #turnkey-card .turnkey__showcase{
    justify-self:end !important;
  }
}

/* Мобилка: первый экран, УТП и пакеты. */
@media (max-width: 767px), (max-device-width: 767px){
  .jp-hero--ref45 > .container.jp-hero__inner{
    padding:42px 14px 30px !important;
    background:
      linear-gradient(90deg, rgba(1,2,3,.98) 0%, rgba(1,2,3,.90) 44%, rgba(1,2,3,.38) 74%, rgba(1,2,3,.78) 100%),
      linear-gradient(180deg, rgba(0,0,0,.00) 0%, rgba(0,0,0,.12) 40%, rgba(0,0,0,.83) 68%, rgba(0,0,0,1) 100%),
      url("../img/hero-jewelry-model-wide.webp") 62% top / 620px auto no-repeat,
      #030405 !important;
  }

  .jp-hero--ref45 .hero__title-primary{
    font-size:clamp(36px, 10.9vw, 44px) !important;
    line-height:.90 !important;
    letter-spacing:-.04em !important;
  }

  .jp-hero--ref45 .hero__title-line--4{
    white-space:nowrap !important;
    max-width:none !important;
  }

  .jp-hero--ref45 .hero__title-sub{
    margin-top:9px !important;
    font-size:clamp(17px, 5vw, 21px) !important;
    line-height:1.05 !important;
  }

  .jp-hero--ref45 .value-points.value-points--clean{
    margin-top:14px !important;
    border-radius:16px !important;
    gap:0 !important;
  }

  .jp-hero--ref45 .value-points__item--clean,
  .jp-hero--ref45 .value-points__item--clean:nth-child(3){
    min-height:34px !important;
    grid-template-columns:20px minmax(0, 1fr) !important;
    gap:7px !important;
    padding:7px 10px !important;
    font-size:10.8px !important;
    line-height:1.18 !important;
  }

  .jp-hero--ref45 .value-points__icon{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    font-size:9px !important;
  }

  .jp-hero--ref45 .jp-hero__packages{
    position:relative !important;
    z-index:9 !important;
    margin-top:34px !important;
    clear:both !important;
  }

  .jp-hero--ref45 .jp-hero__packages-label,
  .jp-final-packages .eyebrow{
    margin:0 0 14px !important;
    font-size:clamp(1.34rem, 6.4vw, 1.62rem) !important;
    line-height:1 !important;
    letter-spacing:.07em !important;
    text-align:center !important;
  }

  .jp-hero--ref45 .jp-packages.jp-packages--hero,
  .jp-packages--final{
    max-width:320px !important;
    gap:14px !important;
  }

  .jp-hero--ref45 .jp-package-card__title,
  .jp-packages--final .jp-package-card__title,
  .jp-hero--ref45 .jp-package-card__title span,
  .jp-packages--final .jp-package-card__title span{
    font-size:23px !important;
    line-height:1.02 !important;
  }

  /* Мобилка: в блоках материалов картинка под заголовком, в том же формате, что и на ПК. */
  .jp-material > .jp-material__media{
    display:none !important;
  }

  .jp-material__media--mobile-inline{
    display:block !important;
    width:min(100%, 270px) !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:3 / 4 !important;
    margin:12px auto 14px !important;
    border-radius:18px !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.08) !important;
    background:rgba(255,255,255,.025) !important;
  }

  .jp-material__media--mobile-inline img,
  .jp-material__media--mobile-inline video{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  .jp-material .jp-detail__text h3{
    margin-bottom:0 !important;
  }

  .jp-material .jp-detail__text p{
    font-size:13.5px !important;
    line-height:1.48 !important;
  }
}

@media (max-width: 374px), (max-device-width: 374px){
  .jp-hero--ref45 .hero__title-primary{
    font-size:35px !important;
  }
  .jp-material__media--mobile-inline{
    width:min(100%, 245px) !important;
  }
}


/* JP v80: TZ 20260703-123949 — mobile UTP readability + desktop turnkey gallery restore. */
@media (min-width: 1181px){
  #turnkey-card .turnkey__inner{
    align-items:center !important;
  }

  #turnkey-card .turnkey__showcase{
    align-self:center !important;
    margin-top:clamp(26px, 2.2vw, 44px) !important;
  }
}

@media (min-width: 768px) and (max-width: 1180px){
  #turnkey-card .turnkey__inner{
    align-items:center !important;
  }

  #turnkey-card .turnkey__showcase{
    align-self:center !important;
    margin-top:clamp(16px, 2vw, 28px) !important;
  }
}

@media (max-width: 767px), (max-device-width: 767px){
  .jp-hero--ref45 .value-points.value-points--clean{
    margin-top:16px !important;
    margin-bottom:28px !important;
    gap:0 !important;
    border-radius:18px !important;
    overflow:visible !important;
  }

  .jp-hero--ref45 .value-points__item--clean,
  .jp-hero--ref45 .value-points__item--clean:nth-child(3){
    display:grid !important;
    grid-template-columns:32px minmax(0, 1fr) !important;
    align-items:center !important;
    min-height:50px !important;
    gap:10px !important;
    padding:10px 13px !important;
    font-size:12.3px !important;
    line-height:1.22 !important;
    overflow:visible !important;
  }

  .jp-hero--ref45 .value-points__item--clean + .value-points__item--clean{
    border-top:1px solid rgba(215,170,80,.18) !important;
  }

  .jp-hero--ref45 .value-points__icon{
    position:static !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:999px !important;
    border:1px solid rgba(215,170,80,.42) !important;
    background:rgba(215,170,80,.11) !important;
    box-shadow:0 0 0 1px rgba(0,0,0,.28), 0 8px 18px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
    color:rgba(245,206,128,.98) !important;
    font-size:15px !important;
    line-height:1 !important;
    text-shadow:0 0 10px rgba(215,170,80,.22) !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  .jp-hero--ref45 .value-points__text,
  .jp-hero--ref45 .value-points__item--clean:nth-child(1) .value-points__text,
  .jp-hero--ref45 .value-points__item--clean:nth-child(2) .value-points__text,
  .jp-hero--ref45 .value-points__item--clean:nth-child(3) .value-points__text{
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    display:block !important;
    align-items:initial !important;
    justify-content:flex-start !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    transform:none !important;
    text-align:left !important;
    line-height:1.22 !important;
    text-wrap:balance !important;
  }

  .jp-hero--ref45 .jp-hero__packages{
    margin-top:48px !important;
    padding-top:0 !important;
    position:relative !important;
    z-index:10 !important;
  }

  .jp-hero--ref45 .jp-hero__packages-label,
  .jp-final-packages .eyebrow{
    margin-bottom:16px !important;
  }
}

@media (max-width: 374px), (max-device-width: 374px){
  .jp-hero--ref45 .value-points__item--clean,
  .jp-hero--ref45 .value-points__item--clean:nth-child(3){
    grid-template-columns:30px minmax(0, 1fr) !important;
    min-height:48px !important;
    font-size:11.8px !important;
    padding:9px 11px !important;
  }

  .jp-hero--ref45 .value-points__icon{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    font-size:14px !important;
  }
}

/* JP v81: TZ 20260703-125005 — mobile overflow fix + tighter material media crop. */
@media (max-width: 767px), (max-device-width: 767px){
  .jp-hero.jp-hero--ref45,
  .jp-hero--ref45 > .container.jp-hero__inner,
  .jp-hero--ref45 .hero__copy,
  .jp-hero--ref45 .jp-hero__copy,
  .jp-hero--ref45 .hero__title,
  .jp-hero--ref45 .hero__title-primary{
    max-width:100% !important;
    overflow:hidden !important;
  }

  .jp-hero--ref45 > .container.jp-hero__inner{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .jp-hero--ref45 .hero__title-primary{
    font-size:clamp(34px, 10.2vw, 42px) !important;
    letter-spacing:-.052em !important;
  }

  .jp-hero--ref45 .hero__title-line--4{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    font-size:.86em !important;
    letter-spacing:-.072em !important;
    white-space:nowrap !important;
  }

  .jp-hero--ref45 .hero__title-sub{
    max-width:100% !important;
    overflow:hidden !important;
  }

  .jp-hero--ref45 .value-points.value-points--clean,
  .jp-hero--ref45 .jp-hero__packages,
  .jp-hero--ref45 .jp-packages.jp-packages--hero{
    max-width:100% !important;
    overflow:visible !important;
  }

  .jp-hero--ref45 .jp-packages.jp-packages--hero,
  .jp-packages--final{
    width:min(100%, 304px) !important;
    max-width:304px !important;
  }

  .jp-hero--ref45 .jp-package-card,
  .jp-packages--final .jp-package-card{
    max-width:100% !important;
    overflow:hidden !important;
  }

  .jp-hero--ref45 .jp-photo-stack,
  .jp-packages--final .jp-photo-stack{
    max-width:240px !important;
  }

  .jp-hero--ref45 .jp-package-card--full .jp-photo-stack,
  .jp-packages--final .jp-package-card--full .jp-photo-stack{
    max-width:250px !important;
  }

  .contact-fab{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    padding:0 !important;
    justify-content:center !important;
    border-radius:14px !important;
  }

  .contact-fab__label{
    display:none !important;
  }

  .contact-fab__icon{
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
  }

  .jp-material__media--mobile-inline{
    width:min(100%, 276px) !important;
    aspect-ratio:3 / 4 !important;
    overflow:hidden !important;
  }

  .jp-material__media--mobile-inline img,
  .jp-material__media--mobile-inline video{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:scale(1.13) !important;
    transform-origin:center center !important;
  }
}

@media (max-width: 374px), (max-device-width: 374px){
  .jp-hero--ref45 .hero__title-primary{
    font-size:33px !important;
  }

  .jp-hero--ref45 .hero__title-line--4{
    font-size:.84em !important;
    letter-spacing:-.08em !important;
  }

  .jp-hero--ref45 .jp-packages.jp-packages--hero,
  .jp-packages--final{
    width:min(100%, 292px) !important;
    max-width:292px !important;
  }

  .jp-material__media--mobile-inline{
    width:min(100%, 252px) !important;
  }
}


/* JP v82: TZ 20260703-125739 — mobile title split + material crop direction fix. */
.turnkey__title-mobile-break{
  display:none;
}

@media (max-width: 767px), (max-device-width: 767px){
  #turnkey-card .turnkey__title{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:10px !important;
    flex-wrap:nowrap !important;
  }

  #turnkey-card .turnkey__title-main{
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:220px !important;
    font-size:clamp(1.36rem, 6.4vw, 1.78rem) !important;
    line-height:1.02 !important;
    letter-spacing:-.032em !important;
    white-space:normal !important;
  }

  #turnkey-card .turnkey__title-mobile-break{
    display:block !important;
  }

  #turnkey-card .turnkey__title-price{
    flex:0 0 auto !important;
    margin-top:.18em !important;
    font-size:.92rem !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  /* Previous mobile crop scaled the whole vertical image and clipped the sides. Make the viewport a little wider
     than 3:4 instead, so the final visible crop is from top/bottom, not left/right. */
  .jp-material__media--mobile-inline{
    width:min(100%, 286px) !important;
    aspect-ratio:17 / 20 !important;
    overflow:hidden !important;
  }

  .jp-material__media--mobile-inline img,
  .jp-material__media--mobile-inline video{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
  }

  #examples .jp-material:first-of-type .jp-material__media--mobile-inline img{
    object-position:center 46% !important;
  }
}

@media (max-width: 374px), (max-device-width: 374px){
  #turnkey-card .turnkey__title-main{
    max-width:200px !important;
    font-size:1.32rem !important;
  }

  #turnkey-card .turnkey__title-price{
    font-size:.84rem !important;
  }

  .jp-material__media--mobile-inline{
    width:min(100%, 266px) !important;
  }
}


/* Extra first-paint stability for package preview images */
.jp-hero__packages .jp-photo-stack img,
.jp-final-packages .jp-photo-stack img,
.jp-hero--ref45 .jp-photo-stack img,
.jp-packages--final .jp-photo-stack img{
  opacity:1 !important;
  visibility:visible !important;
  contain:paint style !important;
}

/* v87: fix cropped package preview stacks in top and bottom package blocks */
.jp-hero__packages .jp-photo-stack,
.jp-final-packages .jp-photo-stack,
.jp-hero--ref45 .jp-photo-stack,
.jp-packages--final .jp-photo-stack{
  contain: none !important;
  overflow: visible !important;
  clip-path: none !important;
  isolation: isolate !important;
}

.jp-hero__packages .jp-photo-stack img,
.jp-final-packages .jp-photo-stack img,
.jp-hero--ref45 .jp-photo-stack img,
.jp-packages--final .jp-photo-stack img{
  content-visibility: visible !important;
  clip-path: none !important;
  max-width: none !important;
  max-height: none !important;
}

.jp-hero--ref45 .jp-package-card,
.jp-packages--final .jp-package-card{
  overflow: visible !important;
}

/* Clean savings block after package preview */
.jp-savings{
  position:relative;
  overflow:visible;
  padding:clamp(26px, 2.8vw, 42px) 0 0 !important;
  background:
    radial-gradient(700px 360px at 20% 18%, rgba(215,170,80,.045), transparent 70%),
    radial-gradient(680px 340px at 86% 5%, rgba(255,255,255,.028), transparent 72%);
}

.jp-savings::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(215,170,80,.42), rgba(255,255,255,.08), transparent);
  pointer-events:none;
}

.jp-savings__inner{
  width:min(760px, 100%);
  margin:0 auto;
  position:relative;
  z-index:1;
}

.jp-savings__summary{
  margin:0 0 14px;
  color:rgba(255,255,255,.88);
  font-size:clamp(.92rem, .32vw + .82rem, 1.08rem);
  line-height:1.5;
  letter-spacing:-.01em;
  font-weight:650;
}

.jp-savings__panel{
  position:relative;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(215,170,80,.52);
  background:
    radial-gradient(420px 250px at 0% 0%, rgba(215,170,80,.075), transparent 72%),
    linear-gradient(180deg, rgba(255,255,255,.044), rgba(255,255,255,.017)),
    rgba(8,10,13,.82);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045), 0 18px 42px rgba(0,0,0,.28), 0 0 0 1px rgba(0,0,0,.2);
  padding:12px 22px;
}

.jp-savings__panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.028), transparent 38%, rgba(215,170,80,.026));
  pointer-events:none;
}

.jp-savings__item{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:34px minmax(0, 1fr);
  gap:11px;
  align-items:flex-start;
  padding:10px 0;
}

.jp-savings__item + .jp-savings__item{
  border-top:1px solid rgba(215,170,80,.15);
}

.jp-savings__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  margin-top:2px;
  border-radius:999px;
  border:1px solid rgba(215,170,80,.92);
  color:rgba(255,238,198,.95);
  background:radial-gradient(circle at 50% 24%, rgba(215,170,80,.18), rgba(215,170,80,.035) 58%, rgba(0,0,0,.12));
  font-family:var(--font-display, Fraunces, ui-serif, Georgia, serif);
  font-size:.95rem;
  font-weight:760;
  line-height:1;
  box-shadow:0 0 18px rgba(215,170,80,.1);
}

.jp-savings__icon--success{
  font-size:.9rem;
  font-weight:820;
}

.jp-savings__item p{
  margin:0;
  color:rgba(255,255,255,.84);
  font-size:clamp(.82rem, .22vw + .76rem, .96rem);
  line-height:1.42;
  letter-spacing:-.012em;
}

.jp-savings__item strong{
  color:rgba(255,255,255,.95);
  font-weight:850;
}

.jp-savings__accent{
  color:var(--ref45-gold, #d7aa50);
  font-weight:840;
  white-space:nowrap;
}

.jp-savings__details{
  position:relative;
  display:flex;
  align-items:flex-start;
  width:min(760px, 100%);
  min-height:112px;
  margin:14px 0 0;
  overflow:visible;
}

.jp-savings__details-link{
  flex:0 0 auto;
  color:var(--ref45-gold, #d7aa50);
  font-family:var(--font-display, Fraunces, ui-serif, Georgia, serif);
  font-size:clamp(1.12rem, .48vw + .95rem, 1.42rem);
  line-height:1;
  letter-spacing:-.04em;
  text-shadow:0 0 20px rgba(215,170,80,.14);
  position:relative;
  z-index:2;
}

.jp-savings__arrow{
  flex:0 0 clamp(270px, 20vw, 330px);
  width:clamp(270px, 20vw, 330px);
  height:106px;
  margin:10px 0 0 6px;
  overflow:visible;
  pointer-events:none;
}

.jp-savings__arrow-line,
.jp-savings__arrow-head{
  fill:none;
  stroke:rgba(215,170,80,.96);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 6px rgba(215,170,80,.16));
}

.jp-savings__arrow-line{opacity:1;}
.jp-savings__arrow-head{opacity:1;}

#package-model-detail.jp-detail-flow{
  padding-top:0 !important;
}

@media (max-width:820px){
  .jp-savings{
    padding:28px 0 0 !important;
  }

  .jp-savings__inner{
    width:100%;
  }

  .jp-savings__panel{
    border-radius:14px;
    padding:12px 16px;
  }

  .jp-savings__item p br{
    display:none;
  }

  .jp-savings__details{
    display:block;
    min-height:auto;
    margin-top:16px;
  }

  .jp-savings__arrow{
    display:none;
  }

  #package-model-detail.jp-detail-flow{
    padding-top:22px !important;
  }
}

/* ==========================================================================
   Final simplified savings block: Retouch included
   ========================================================================== */
.jp-savings{
  padding:clamp(28px, 3vw, 44px) 0 clamp(24px, 2.8vw, 40px) !important;
}

.jp-savings__simple{
  width:min(760px, 100%);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(18px, 2vw, 28px);
  padding:clamp(20px, 2vw, 28px) clamp(22px, 2.6vw, 34px);
  border-radius:22px;
  border:1px solid rgba(215,170,80,.54);
  background:
    radial-gradient(420px 220px at 0% 0%, rgba(215,170,80,.10), transparent 76%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.017)),
    rgba(8,10,13,.86);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    0 20px 48px rgba(0,0,0,.30),
    0 0 0 1px rgba(0,0,0,.18);
}

.jp-savings__simple-check{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:clamp(68px, 6vw, 88px);
  height:clamp(68px, 6vw, 88px);
  border-radius:999px;
  border:1.5px solid rgba(215,170,80,.95);
  color:rgba(255,242,207,.98);
  background:
    radial-gradient(circle at 50% 24%, rgba(215,170,80,.26), rgba(215,170,80,.07) 58%, rgba(0,0,0,.14)),
    rgba(215,170,80,.03);
  box-shadow:
    0 0 34px rgba(215,170,80,.18),
    inset 0 1px 0 rgba(255,255,255,.09);
  font-family:var(--font-display, Fraunces, ui-serif, Georgia, serif);
  font-size:clamp(2.2rem, 2vw + 1.35rem, 3.25rem);
  font-weight:820;
  line-height:1;
  transform:translateY(-1px);
}

.jp-savings__simple-text{
  margin:0;
  color:rgba(255,255,255,.95);
  font-family:var(--font-display, Fraunces, ui-serif, Georgia, serif);
  font-size:clamp(1.6rem, 1.2vw + 1.15rem, 2.5rem);
  line-height:1.08;
  letter-spacing:-.045em;
  text-shadow:0 16px 34px rgba(0,0,0,.50);
  text-wrap:balance;
}

@media (max-width:820px){
  .jp-savings{
    padding:26px 0 18px !important;
  }

  .jp-savings__simple{
    width:100%;
    justify-content:flex-start;
    gap:14px;
    padding:16px;
    border-radius:18px;
  }

  .jp-savings__simple-check{
    width:54px;
    height:54px;
    font-size:1.75rem;
  }

  .jp-savings__simple-text{
    font-size:clamp(1.15rem, 5vw, 1.58rem);
    line-height:1.12;
  }
}

/* Price preview format: "750 Р / 1 арт." */
.jp-hero--ref45 .jp-package-card__price,
.jp-packages--final .jp-package-card__price{
  font-size:clamp(1.35rem, .65vw + 1.05rem, 1.82rem) !important;
  line-height:1 !important;
  letter-spacing:-.015em !important;
  white-space:nowrap !important;
}

@media (max-width:820px){
  .jp-hero--ref45 .jp-package-card__price,
  .jp-packages--final .jp-package-card__price{
    font-size:1.22rem !important;
  }
}


/* v-final: compact preview prices/buttons + compact two-point savings */
.jp-hero--ref45 .jp-package-card__bottom,
.jp-packages--final .jp-package-card__bottom{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

.jp-hero--ref45 .jp-package-card__price,
.jp-packages--final .jp-package-card__price{
  flex:1 1 auto !important;
  min-width:0 !important;
  max-width:calc(100% - 104px) !important;
  font-size:clamp(1rem, .34vw + .86rem, 1.22rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.01em !important;
  white-space:nowrap !important;
  color:var(--ref45-gold, #d7aa50) !important;
}

.jp-hero--ref45 .jp-package-card__button,
.jp-packages--final .jp-package-card__button{
  flex:0 0 auto !important;
  min-width:92px !important;
  max-width:100px !important;
  min-height:34px !important;
  padding:8px 10px !important;
  gap:7px !important;
  border-radius:11px !important;
  font-size:11px !important;
  line-height:1 !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
}

.jp-savings{
  padding:clamp(18px, 2vw, 28px) 0 clamp(14px, 1.8vw, 24px) !important;
}

.jp-savings__simple{
  width:min(520px, 100%) !important;
  margin:0 auto !important;
  padding:clamp(10px, 1vw, 14px) clamp(12px, 1.4vw, 18px) !important;
  border-radius:14px !important;
  border:1px solid rgba(215,170,80,.38) !important;
  background:
    radial-gradient(300px 160px at 0% 0%, rgba(215,170,80,.065), transparent 74%),
    linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.012)),
    rgba(8,10,13,.80) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 10px 26px rgba(0,0,0,.20) !important;
}

.jp-savings__simple-list{
  display:grid !important;
  gap:7px !important;
}

.jp-savings__simple-item{
  display:grid !important;
  grid-template-columns:30px minmax(0, 1fr) !important;
  align-items:center !important;
  gap:10px !important;
}

.jp-savings__simple-check{
  width:30px !important;
  height:30px !important;
  border-width:1px !important;
  font-size:1.02rem !important;
  box-shadow:0 0 14px rgba(215,170,80,.10) !important;
  transform:none !important;
}

.jp-savings__simple-text{
  margin:0 !important;
  font-size:clamp(.88rem, .28vw + .78rem, 1.08rem) !important;
  line-height:1.15 !important;
  letter-spacing:-.02em !important;
  color:rgba(255,255,255,.92) !important;
}

@media (max-width:820px){
  .jp-hero--ref45 .jp-package-card__price,
  .jp-packages--final .jp-package-card__price{
    font-size:.96rem !important;
    max-width:calc(100% - 90px) !important;
  }

  .jp-hero--ref45 .jp-package-card__button,
  .jp-packages--final .jp-package-card__button{
    min-width:82px !important;
    max-width:88px !important;
    min-height:32px !important;
    padding:7px 9px !important;
    font-size:10.5px !important;
  }

  .jp-savings{
    padding:18px 0 14px !important;
  }

  .jp-savings__simple{
    width:100% !important;
    padding:10px 12px !important;
    border-radius:13px !important;
  }

  .jp-savings__simple-list{
    gap:7px !important;
  }

  .jp-savings__simple-item{
    grid-template-columns:28px minmax(0, 1fr) !important;
    gap:9px !important;
  }

  .jp-savings__simple-check{
    width:28px !important;
    height:28px !important;
    font-size:.95rem !important;
  }

  .jp-savings__simple-text{
    font-size:clamp(.86rem, 3.5vw, 1rem) !important;
    line-height:1.18 !important;
  }
}

/* v-final-2: only prices are reduced; buttons restored; benefits block reduced ~1.5x, not 2x */
.jp-hero--ref45 .jp-package-card__bottom,
.jp-packages--final .jp-package-card__bottom{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:12px !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

.jp-hero--ref45 .jp-package-card__price,
.jp-packages--final .jp-package-card__price{
  flex:1 1 auto !important;
  min-width:0 !important;
  max-width:none !important;
  font-size:clamp(1.34rem, .44vw + 1.12rem, 1.72rem) !important;
  line-height:.96 !important;
  letter-spacing:-.018em !important;
  white-space:nowrap !important;
  color:var(--ref45-gold, #d7aa50) !important;
}

.jp-hero--ref45 .jp-package-card__button,
.jp-packages--final .jp-package-card__button{
  flex:0 0 auto !important;
  min-width:126px !important;
  max-width:none !important;
  min-height:42px !important;
  padding:10px 16px !important;
  gap:12px !important;
  border-radius:13px !important;
  font-size:13px !important;
  line-height:1 !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
}

.jp-savings{
  padding:clamp(22px, 2.6vw, 36px) 0 clamp(18px, 2.2vw, 30px) !important;
}

.jp-savings__simple{
  width:min(640px, 100%) !important;
  margin:0 auto !important;
  padding:clamp(13px, 1.35vw, 18px) clamp(16px, 1.8vw, 22px) !important;
  border-radius:16px !important;
  border:1px solid rgba(215,170,80,.42) !important;
  background:
    radial-gradient(340px 180px at 0% 0%, rgba(215,170,80,.07), transparent 74%),
    linear-gradient(180deg, rgba(255,255,255,.036), rgba(255,255,255,.014)),
    rgba(8,10,13,.82) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045), 0 14px 34px rgba(0,0,0,.22) !important;
}

.jp-savings__simple-list{
  display:grid !important;
  gap:10px !important;
}

.jp-savings__simple-item{
  display:grid !important;
  grid-template-columns:40px minmax(0, 1fr) !important;
  align-items:center !important;
  gap:13px !important;
}

.jp-savings__simple-check{
  width:40px !important;
  height:40px !important;
  border-width:1.15px !important;
  font-size:1.38rem !important;
  box-shadow:0 0 18px rgba(215,170,80,.12) !important;
  transform:none !important;
}

.jp-savings__simple-text{
  margin:0 !important;
  font-size:clamp(1.02rem, .38vw + .9rem, 1.32rem) !important;
  line-height:1.12 !important;
  letter-spacing:-.026em !important;
  color:rgba(255,255,255,.94) !important;
}

@media (max-width:820px){
  .jp-hero--ref45 .jp-package-card__price,
  .jp-packages--final .jp-package-card__price{
    font-size:1.12rem !important;
    max-width:none !important;
  }

  .jp-hero--ref45 .jp-package-card__button,
  .jp-packages--final .jp-package-card__button{
    min-width:112px !important;
    max-width:none !important;
    min-height:36px !important;
    padding:8px 12px !important;
    font-size:12px !important;
    border-radius:12px !important;
  }

  .jp-savings{
    padding:20px 0 16px !important;
  }

  .jp-savings__simple{
    width:100% !important;
    padding:12px 14px !important;
    border-radius:14px !important;
  }

  .jp-savings__simple-list{
    gap:9px !important;
  }

  .jp-savings__simple-item{
    grid-template-columns:36px minmax(0, 1fr) !important;
    gap:11px !important;
  }

  .jp-savings__simple-check{
    width:36px !important;
    height:36px !important;
    font-size:1.2rem !important;
  }

  .jp-savings__simple-text{
    font-size:clamp(.94rem, 3.8vw, 1.12rem) !important;
    line-height:1.15 !important;
  }
}


/* v-final-3: stable package preview price/button row */
.jp-hero--ref45 .jp-package-card__bottom,
.jp-packages--final .jp-package-card__bottom{
  width:100% !important;
  max-width:100% !important;
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto !important;
  align-items:end !important;
  column-gap:14px !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

.jp-hero--ref45 .jp-package-card__price,
.jp-packages--final .jp-package-card__price{
  display:block !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:clip !important;
  white-space:nowrap !important;
  font-size:clamp(1.12rem, .30vw + .98rem, 1.42rem) !important;
  line-height:1 !important;
  letter-spacing:-.006em !important;
  color:var(--ref45-gold, #d7aa50) !important;
}

.jp-hero--ref45 .jp-package-card__button,
.jp-packages--final .jp-package-card__button{
  justify-self:end !important;
  flex:none !important;
  min-width:126px !important;
  width:auto !important;
  max-width:none !important;
  min-height:42px !important;
  padding:10px 16px !important;
  gap:12px !important;
  border-radius:13px !important;
  font-size:13px !important;
  line-height:1 !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
}

@media (max-width:820px){
  .jp-hero--ref45 .jp-package-card__bottom,
  .jp-packages--final .jp-package-card__bottom{
    column-gap:10px !important;
  }

  .jp-hero--ref45 .jp-package-card__price,
  .jp-packages--final .jp-package-card__price{
    font-size:1.02rem !important;
    letter-spacing:-.004em !important;
  }

  .jp-hero--ref45 .jp-package-card__button,
  .jp-packages--final .jp-package-card__button{
    min-width:108px !important;
    min-height:36px !important;
    padding:8px 12px !important;
    font-size:12px !important;
    border-radius:12px !important;
  }
}


/* v-block-final: компактная плашка точно по контенту, как в разметке */
.jp-savings{
  padding:clamp(26px, 3vw, 40px) 0 clamp(24px, 2.6vw, 36px) !important;
}

.jp-savings__simple{
  width:max-content !important;
  max-width:calc(100% - 32px) !important;
  margin:0 auto !important;
  padding:18px 28px !important;
  border-radius:15px !important;
  border:1px solid rgba(215,170,80,.44) !important;
  background:
    radial-gradient(320px 170px at 0% 0%, rgba(215,170,80,.07), transparent 74%),
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.014)),
    rgba(8,10,13,.82) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045), 0 14px 34px rgba(0,0,0,.22) !important;
}

.jp-savings__simple-list{
  display:grid !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 auto !important;
  gap:12px !important;
}

.jp-savings__simple-item{
  display:grid !important;
  grid-template-columns:42px minmax(0, max-content) !important;
  align-items:center !important;
  gap:14px !important;
  justify-content:start !important;
}

.jp-savings__simple-check{
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  border:1.15px solid rgba(215,170,80,.96) !important;
  color:rgba(255,239,199,.98) !important;
  background:radial-gradient(circle at 50% 24%, rgba(215,170,80,.20), rgba(215,170,80,.045) 58%, rgba(0,0,0,.12)) !important;
  box-shadow:0 0 18px rgba(215,170,80,.12) !important;
  font-size:1.36rem !important;
  font-weight:800 !important;
  line-height:1 !important;
}

.jp-savings__simple-text{
  margin:0 !important;
  color:rgba(255,255,255,.95) !important;
  font-family:var(--font-display, Fraunces, ui-serif, Georgia, serif) !important;
  font-size:clamp(1.08rem, .42vw + .94rem, 1.36rem) !important;
  line-height:1.12 !important;
  letter-spacing:-.026em !important;
  white-space:nowrap !important;
}

@media (max-width:820px){
  .jp-savings{
    padding:22px 0 18px !important;
  }

  .jp-savings__simple{
    width:100% !important;
    max-width:100% !important;
    padding:14px 16px !important;
    border-radius:14px !important;
  }

  .jp-savings__simple-list{
    width:100% !important;
    gap:10px !important;
  }

  .jp-savings__simple-item{
    grid-template-columns:36px minmax(0, 1fr) !important;
    gap:11px !important;
  }

  .jp-savings__simple-check{
    width:36px !important;
    height:36px !important;
    font-size:1.18rem !important;
  }

  .jp-savings__simple-text{
    font-size:clamp(.98rem, 3.9vw, 1.16rem) !important;
    line-height:1.15 !important;
    white-space:normal !important;
  }
}


/* v-final-package-preview-row: stable aligned price/button rows */
.jp-hero--ref45 .jp-package-card,
.jp-packages--final .jp-package-card{
  display:flex !important;
  flex-direction:column !important;
}

.jp-hero--ref45 .jp-package-card__bottom,
.jp-packages--final .jp-package-card__bottom{
  width:100% !important;
  margin-top:auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto !important;
  align-items:center !important;
  column-gap:18px !important;
  overflow:visible !important;
  transform:none !important;
}

.jp-hero--ref45 .jp-package-card__price,
.jp-packages--final .jp-package-card__price{
  display:block !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  align-self:center !important;
  color:var(--ref45-gold, #d7aa50) !important;
  font-family:var(--font-display, Fraunces, ui-serif, Georgia, serif) !important;
  font-size:clamp(1.22rem, .45vw + 1.02rem, 1.58rem) !important;
  line-height:1 !important;
  letter-spacing:-.018em !important;
  white-space:nowrap !important;
  transform:none !important;
}

.jp-hero--ref45 .jp-package-card__button,
.jp-packages--final .jp-package-card__button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:center !important;
  flex:0 0 auto !important;
  min-width:126px !important;
  min-height:42px !important;
  padding:10px 16px !important;
  margin:0 !important;
  transform:none !important;
  white-space:nowrap !important;
}

@media (max-width:820px){
  .jp-hero--ref45 .jp-package-card__bottom,
  .jp-packages--final .jp-package-card__bottom{
    column-gap:12px !important;
  }

  .jp-hero--ref45 .jp-package-card__price,
  .jp-packages--final .jp-package-card__price{
    font-size:clamp(1rem, 4.2vw, 1.28rem) !important;
  }

  .jp-hero--ref45 .jp-package-card__button,
  .jp-packages--final .jp-package-card__button{
    min-width:108px !important;
    min-height:36px !important;
    padding:8px 12px !important;
  }
}

/* v-final-4: restore compact preview prices; buttons unchanged */
.jp-hero--ref45 .jp-package-card__bottom,
.jp-packages--final .jp-package-card__bottom{
  display:grid !important;
  grid-template-columns:auto auto !important;
  justify-content:space-between !important;
  align-items:center !important;
  column-gap:10px !important;
  width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
}

.jp-hero--ref45 .jp-package-card__price,
.jp-packages--final .jp-package-card__price{
  display:block !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--ref45-gold, #d7aa50) !important;
  font-family:var(--font-display, Fraunces, ui-serif, Georgia, serif) !important;
  font-size:clamp(1rem, .34vw + .86rem, 1.22rem) !important;
  line-height:1 !important;
  letter-spacing:-.025em !important;
  white-space:nowrap !important;
  overflow:visible !important;
  transform:none !important;
}

.jp-hero--ref45 .jp-package-card__button,
.jp-packages--final .jp-package-card__button{
  align-self:center !important;
  justify-self:end !important;
  margin:0 !important;
  transform:none !important;
}

@media (max-width:820px){
  .jp-hero--ref45 .jp-package-card__bottom,
  .jp-packages--final .jp-package-card__bottom{
    column-gap:8px !important;
  }

  .jp-hero--ref45 .jp-package-card__price,
  .jp-packages--final .jp-package-card__price{
    font-size:.96rem !important;
    letter-spacing:-.03em !important;
  }
}

@media (max-width:420px){
  .jp-hero--ref45 .jp-package-card__price,
  .jp-packages--final .jp-package-card__price{
    font-size:.9rem !important;
  }
}
