/* Страница «Продукты» (/produkty/). Префикс классов pr- */

/* PT Serif — один сериф на все заголовки (прямой + курсив), самохост woff2 */
@font-face {
    font-family: "PT Serif";
    src: url(/local/templates/furniture_gray/assets/fonts/PTSerif-Regular-cyrillic.woff2) format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: "PT Serif";
    src: url(/local/templates/furniture_gray/assets/fonts/PTSerif-Regular-latin.woff2) format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "PT Serif";
    src: url(/local/templates/furniture_gray/assets/fonts/PTSerif-Italic-cyrillic.woff2) format("woff2");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: "PT Serif";
    src: url(/local/templates/furniture_gray/assets/fonts/PTSerif-Italic-latin.woff2) format("woff2");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.pr-page {
    --pr-dark: #312D3A;
    --pr-dark-hover: #211E28;
    --pr-text: #2F2A38;
    --pr-muted: #6E6A77;
    --pr-serif: "PT Serif", Georgia, "Times New Roman", serif;
    --pr-serif-i: "PT Serif", Georgia, "Times New Roman", serif;
    font-family: "Inter", Arial, sans-serif;
    color: var(--pr-text);
}
.pr-page *,
.pr-page *::before,
.pr-page *::after {
    box-sizing: border-box;
}

/* .inner-container и крошки определены только в services_page.css,
   который на /produkty/ не грузится — дублируем в своей области видимости */
.pr-page .inner-container {
    max-width: 1240px;
    margin: 0 auto;
}
.pr-page .inner-breadcrumbs .bx-breadcrumb {
    display: flex;
    align-items: center;
    height: auto;
}
.pr-page .inner-breadcrumbs .bx-breadcrumb .bx-breadcrumb-item {
    font-weight: 400;
    font-size: 13px;
    line-height: 130%;
    color: var(--pr-text);
}
.pr-page .inner-breadcrumbs .bx-breadcrumb .bx-breadcrumb-item a {
    color: inherit;
    text-decoration: none;
}
.pr-page .inner-breadcrumbs .bx-breadcrumb .bx-breadcrumb-item a:hover {
    text-decoration: underline;
}
.pr-page .inner-breadcrumbs .bx-breadcrumb .breadcrumb-delimiter {
    font-size: 20px;
    margin: 0 3px 0 15px;
}
@media (max-width: 1280px) {
    .pr-page .inner-container {
        padding-left: 20px;
        padding-right: 20px;
    }
}
@media (max-width: 700px) {
    .pr-page .inner-container {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* ---------- общие элементы ---------- */

.pr-h1,
.pr-h2 {
    font-family: var(--pr-serif);
    font-weight: 400;
    color: var(--pr-text);
    margin: 0;
}
.pr-h1 i,
.pr-h2 i {
    font-family: var(--pr-serif-i);
    font-style: italic;
    font-weight: 400;
}
.pr-head {
    max-width: 560px;
    margin: 0 auto 44px;
    text-align: center;
}
.pr-head .pr-h2 {
    font-size: 38px;
    line-height: 1.2;
}
.pr-head__sub {
    margin: 14px 0 0;
    font-size: 16px;
    line-height: 1.5;
    color: var(--pr-muted);
}

.pr-btn {
    display: block;
    width: 100%;
    padding: 14px 20px;
    border: 0;
    border-radius: 12px;
    background: var(--pr-dark);
    color: #fff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .2s ease;
}
.pr-btn:hover {
    background: var(--pr-dark-hover);
    color: #fff;
}

/* вся плашка кликабельна: ссылка кнопки растягивается псевдоэлементом на карточку
   (карточка ИИ-астролога с двумя кнопками не растягивается — клик был бы неоднозначным) */
.pr-program,
.pr-audio,
.pr-bundle,
.pr-app--clickable {
    position: relative;
}
.pr-program .pr-btn::after,
.pr-audio .pr-btn::after,
.pr-report .pr-btn::after,
.pr-bundle .pr-btn::after,
.pr-app--clickable .pr-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}
/* мягкий подъём с тенью при наведении — в тон теням чипов hero */
.pr-program,
.pr-audio,
.pr-report,
.pr-bundle,
.pr-app--clickable {
    transition: transform .25s ease, box-shadow .25s ease;
}
.pr-program:hover,
.pr-audio:hover,
.pr-report:hover,
.pr-bundle:hover,
.pr-app--clickable:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(49, 45, 58, .12);
}
.pr-program:hover .pr-btn,
.pr-audio:hover .pr-btn,
.pr-report:hover .pr-btn,
.pr-bundle:hover .pr-btn,
.pr-app--clickable:hover .pr-btn {
    background: var(--pr-dark-hover);
}

.pr-price {
    font-size: 28px;
    font-weight: 600;
    line-height: 1;
    color: var(--pr-text);
}
.pr-price s {
    margin-left: 10px;
    font-size: 18px;
    font-weight: 400;
    color: #A29EAB;
}

/* декоративные элементы (звёзды, линии, росчерки) */
.pr-decor {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    user-select: none;
}
/* одиночная звезда: одна маска, цвет и размер задаются классами */
.pr-star {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    background-color: #E7E1E4;
    -webkit-mask: url(/local/templates/furniture_gray/images/products/star-4.svg) no-repeat center / contain;
    mask: url(/local/templates/furniture_gray/images/products/star-4.svg) no-repeat center / contain;
}
.pr-star--8 {
    -webkit-mask-image: url(/local/templates/furniture_gray/images/products/star-8.svg);
    mask-image: url(/local/templates/furniture_gray/images/products/star-8.svg);
}
.pr-star--white {
    background-color: #fff;
}

/* плейсхолдер вместо ещё не переданных изображений */
.pr-ph {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F3F1F6;
    border: 1px dashed #CFCAD9;
    border-radius: 16px;
    color: #A29EAB;
    font-size: 13px;
    min-height: 140px;
}

/* мелкие одноцветные иконки: маска + currentColor, перекрашиваются цветом текста */
.pr-ico {
    display: inline-block;
    width: 18px;
    height: 18px;
    vertical-align: -4px;
    background-color: currentColor;
    -webkit-mask: no-repeat center / contain;
    mask: no-repeat center / contain;
    flex: none;
}
.pr-ico--gift {
    -webkit-mask-image: url(/local/templates/furniture_gray/images/products/icon-gift.svg);
    mask-image: url(/local/templates/furniture_gray/images/products/icon-gift.svg);
}
.pr-ico--sparkles {
    -webkit-mask-image: url(/local/templates/furniture_gray/images/products/icon-sparkles.svg);
    mask-image: url(/local/templates/furniture_gray/images/products/icon-sparkles.svg);
}
.pr-ico--fire {
    -webkit-mask-image: url(/local/templates/furniture_gray/images/products/icon-fire.svg);
    mask-image: url(/local/templates/furniture_gray/images/products/icon-fire.svg);
}
.pr-ico--clock {
    -webkit-mask-image: url(/local/templates/furniture_gray/images/products/icon-clock.svg);
    mask-image: url(/local/templates/furniture_gray/images/products/icon-clock.svg);
}
/* двухцветный чат-пузырь — обычной картинкой */
.pr-ico-chat {
    width: 19px;
    height: 21px;
    vertical-align: -5px;
}

/* метка «В записи» / «Аудио» */
.pr-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #8B8793;
}
.pr-tag::before {
    content: "";
    width: 18px;
    height: 18px;
    background-color: currentColor;
    -webkit-mask: url(/local/templates/furniture_gray/images/products/icon-play.svg) no-repeat center / contain;
    mask: url(/local/templates/furniture_gray/images/products/icon-play.svg) no-repeat center / contain;
    flex: none;
}

.pr-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.2;
}
.pr-badge .pr-ico {
    width: 15px;
    height: 15px;
}
.pr-badge--free {
    background: #DFF2D8;
    color: #3F7A3C;
}
.pr-badge--pages {
    background: #A288DB;
    color: #fff;
}
.pr-badge--profit {
    background: #53A653;
    color: #fff;
}

/* ---------- hero ---------- */

.pr-hero {
    position: relative;
    overflow: hidden;
    /* webp-фон из макета; градиент под ним — фолбэк на время загрузки */
    background:
        url(/local/templates/furniture_gray/images/products/hero-bg.webp) center / cover no-repeat,
        linear-gradient(100deg, #DFD8F0 0%, #EFD9E7 48%, #E5D6F0 100%);
}
.pr-decor--hero {
    right: 0;
    top: 24px;
    width: min(50vw, 700px);
    z-index: 1; /* поверх ::before/::after-бликов, но под контентом (он позже в дереве) */
}
.pr-hero__inner {
    position: relative;
    z-index: 1;
    padding: 24px 0 64px;
}
.pr-hero .inner-breadcrumbs {
    margin-bottom: 28px;
}
.pr-hero .pr-h1 {
    font-size: 46px;
    line-height: 1.18;
    max-width: 52rem;
}
.pr-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 28px 0 24px;
}
.pr-chip {
    display: inline-block;
    padding: 11px 20px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(49, 45, 58, .06);
    color: var(--pr-text);
    font-size: 15px;
    line-height: 1.2;
    text-decoration: none;
    transition: box-shadow .2s ease;
}
.pr-chip:hover {
    box-shadow: 0 4px 14px rgba(49, 45, 58, .14);
    color: var(--pr-text);
}
.pr-hero__sub {
    margin: 0;
    max-width: 560px;
    font-size: 16px;
    line-height: 1.55;
    color: #565162;
}

/* ---------- секции-обёртки ---------- */

.pr-section {
    position: relative;
    overflow: hidden;
    padding: 72px 0 80px;
}
.pr-section--tint {
    background: #F1EEE9;
}
.pr-section > .inner-container,
.pr-hypno > .inner-container {
    position: relative;
    z-index: 1;
}

/* декор секции программ: полоса «звёзды + книга справа» за заголовком;
   сдвиг вправо, чтобы книга не наезжала на двухстрочный заголовок */
.pr-decor--programs {
    left: 50%;
    top: 20px;
    transform: translateX(calc(-50% + 70px));
    width: min(787px, 92%);
}
/* декор секции отчётов: широкая полоса звёзд + перо с росчерком справа от заголовка */
.pr-decor--reports-stars {
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: min(1192px, 96%);
}
.pr-decor--reports-pen {
    left: calc(50% + 300px);
    top: 40px;
    width: 280px;
}
/* декор секции приложений */
.pr-star--apps-big {
    width: 90px;
    height: 96px;
    left: 17%;
    top: 24px;
}
.pr-star--apps-small {
    width: 22px;
    height: 24px;
    right: 20%;
    top: 70px;
}

/* ---------- обучающие программы ---------- */

.pr-programs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.pr-program {
    display: flex;
    flex-direction: column;
    background: #F8F7F5;
    border-radius: 20px;
    overflow: hidden;
}
.pr-program__media {
    display: block;
    width: 100%;
    height: 210px;
    object-fit: cover;
    border-radius: 20px 20px 0 0;
    min-height: 0;
}
.pr-program__body {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 20px 24px 24px;
}
/* выделенная программа: зелёная рамка, метка и подпись — плашками как бейджи отчётов */
.pr-program--top {
    border: 2px solid #7ABD5B;
    box-shadow: 0 12px 32px rgba(122, 189, 91, .18);
    transform: translateY(-10px); /* приподнята над соседями, как «лучший тариф» */
}
.pr-program--top:hover {
    transform: translateY(-14px);
}
/* крупная метка «ТОП» поверх картинки */
.pr-program__top-label {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    padding: 6px 16px;
    border-radius: 999px;
    /* яркая розовая плашка с векторной иконкой */
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #FF6FA0;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: .02em;
    box-shadow: 0 6px 18px rgba(255, 111, 160, .38);
}
.pr-program__top-label .pr-ico {
    width: 17px;
    height: 19px;
    vertical-align: 0;
}
/* подпись про насыщенность — плашка в габаритах бонус-строки Chronos Plus */
.pr-program__highlight {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 16px 0 0;
    padding: 12px 16px;
    border-radius: 14px;
    background: #FBE6F0;
    color: #C4508B;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.2;
}
.pr-program__highlight .pr-ico {
    width: 22px;
    height: 22px;
    vertical-align: 0;
}

.pr-program__title {
    margin: 10px 0 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
}
.pr-program__text {
    margin: 10px 0 0;
    font-size: 15px;
    line-height: 1.5;
    color: var(--pr-muted);
}
.pr-program__meta {
    margin-top: 12px;
    font-size: 14px;
    font-weight: 500;
    color: var(--pr-text);
}
.pr-program__meta span + span::before {
    content: "·";
    margin: 0 8px;
    color: #A29EAB;
}
.pr-program .pr-price {
    margin-top: auto;
    padding-top: 24px;
}
.pr-program .pr-btn {
    margin-top: 16px;
}

/* ---------- консультации с астрологом ---------- */

.pr-consults {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
/* сессия сопровождения по центру — выделена как топ-продукт, обводка в цвет метки.
   двойной класс, чтобы hover не перебивался общим правилом .pr-consult:hover */
.pr-consult.pr-consult--top {
    background: #fff;
    border: 2px solid #FF6FA0;
    box-shadow: 0 12px 32px rgba(255, 111, 160, .2);
    transform: translateY(-10px);
}
.pr-consult.pr-consult--top:hover {
    transform: translateY(-14px);
    box-shadow: 0 16px 36px rgba(255, 111, 160, .26);
}
.pr-consult--top .pr-consult__note {
    background: #F8F7F5;
}
.pr-consult__label--top {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #FF6FA0;
    color: #fff;
}
.pr-consult__label--top .pr-ico {
    width: 14px;
    height: 16px;
    vertical-align: 0;
}
.pr-consult {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 28px;
    background: #F8F7F5;
    border-radius: 20px;
    transition: transform .25s ease, box-shadow .25s ease;
}
.pr-consult:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(49, 45, 58, .12);
}
.pr-consult .pr-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}
.pr-consult__label {
    align-self: flex-start;
    margin-bottom: 12px;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
}
.pr-consult__label--yellow {
    background: #FBF0D8;
    color: #9A7318;
}
.pr-consult__label--orange {
    background: #FCE8DC;
    color: #B45B24;
}
.pr-consult__title {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.3;
}
.pr-consult__text {
    margin: 10px 0 0;
    font-size: 15px;
    line-height: 1.5;
    color: var(--pr-muted);
}
.pr-consult__text b {
    color: var(--pr-text);
    font-weight: 600;
}
.pr-consult__note {
    margin-top: 16px;
    padding: 14px 16px;
    background: #fff;
    border-radius: 14px;
    font-size: 14px;
    line-height: 1.45;
}
.pr-consult__note b {
    font-weight: 600;
}
.pr-consult__note ul {
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
}
.pr-consult__note li {
    position: relative;
    margin-top: 6px;
    padding-left: 16px;
    color: var(--pr-muted);
}
.pr-consult__note li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 8px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #B9B4C2;
}
.pr-consult__duration {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 16px;
    font-size: 14px;
    font-weight: 600;
    color: var(--pr-text);
}
.pr-consult__duration .pr-ico {
    width: 17px;
    height: 17px;
    vertical-align: 0;
    color: #4D70FF;
}
.pr-consult .pr-price {
    margin-top: auto;
    padding-top: 20px;
}
.pr-consult .pr-btn {
    margin-top: 16px;
}

/* ---------- гипнотические сессии ---------- */

.pr-hypno {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #EAEBF8 0%, #EEDDD4 100%);
    padding: 72px 0 80px;
}
/* большой светлый круг за заголовком — чистым CSS вместо png:
   резкий контур, заливка линейным градиентом сверху вниз в прозрачность (как в Figma) */
.pr-hypno::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -8rem;
    transform: translateX(-50%);
    width: min(720px, 90vw);
    height: min(720px, 90vw);
    border-radius: 50%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 6.73%, rgba(255, 255, 255, 0) 75.71%);
    pointer-events: none;
}
.pr-decor--line-left {
    left: 0;
    top: 110px;
    width: min(24vw, 337px);
}
.pr-decor--line-right {
    right: 0;
    top: 0;
    width: min(29vw, 416px);
}
.pr-decor--hypno-star {
    left: 63%;
    top: 120px;
    width: 118px;
}
.pr-star--hypno-1 {
    width: 22px;
    height: 24px;
    left: 30%;
    top: 340px;
}
.pr-star--hypno-2 {
    width: 15px;
    height: 16px;
    right: 31%;
    top: 220px;
}
.pr-hypno .pr-head {
    margin-bottom: 24px;
}
/* абзацы стоят асимметрично, как в макете: первый левее центра, второй правее */
.pr-hypno__lead {
    max-width: 470px;
    margin: 0 auto 0 18%;
    font-size: 15px;
    line-height: 1.55;
    color: #4E4A59;
    text-align: center;
}
.pr-hypno__lead--right {
    margin: 28px 8% 0 auto;
    max-width: 520px;
}
.pr-hypno__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 48px;
}
.pr-audio {
    display: flex;
    flex-direction: column;
    background: #FBFAF9;
    border-radius: 20px;
    padding: 24px;
}
.pr-audio__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.pr-audio__icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    min-height: 96px;
    background: #F1EFF0;
    border-radius: 16px;
}
.pr-audio__icon img {
    width: 70%;
    height: 70%;
    object-fit: contain;
}
/* в исходнике иконки «Хоровода» нет центральной звёздочки из макета — дорисовываем маской */
.pr-audio__icon-star {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 25px;
    height: 27px;
    transform: translate(-50%, -50%);
    background-color: #DCD5D9;
    -webkit-mask: url(/local/templates/furniture_gray/images/products/star-8.svg) no-repeat center / contain;
    mask: url(/local/templates/furniture_gray/images/products/star-8.svg) no-repeat center / contain;
}
.pr-audio__title {
    margin: 18px 0 0;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.3;
}
.pr-audio__text {
    margin: 10px 0 0;
    font-size: 15px;
    line-height: 1.5;
    color: var(--pr-muted);
}
.pr-audio .pr-price {
    margin-top: auto;
    padding-top: 24px;
}
.pr-audio .pr-btn {
    margin-top: 16px;
}

/* пакет из 3 гипносессий */
.pr-bundle {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 24px;
    padding: 24px;
    background: #FBFAF9;
    border-radius: 20px;
}
.pr-bundle__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 132px;
    height: 132px;
    min-height: 132px;
    background: #F1EFF0;
    border-radius: 16px;
    flex: none;
}
.pr-bundle__icon img {
    height: 76%;
    width: auto;
}
.pr-bundle__info {
    flex: 1 1 auto;
}
.pr-bundle__title {
    margin: 0;
    font-family: var(--pr-serif);
    font-weight: 400;
    font-size: 26px;
    line-height: 1.25;
}
.pr-bundle__text {
    margin: 8px 0 12px;
    font-size: 15px;
    color: var(--pr-muted);
}
.pr-bundle__buy {
    flex: none;
    text-align: right;
}
.pr-bundle__buy .pr-btn {
    margin-top: 16px;
    min-width: 220px;
}

/* ---------- персональные отчёты ---------- */

.pr-reports {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.pr-report {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 20px;
    padding: 28px;
}
.pr-report--blue   { background: #EFF2FB; }
.pr-report--purple { background: #F2EEFB; }
.pr-report--green  { background: #EFF5EE; }
.pr-report--pink   { background: #FBEFF4; }
.pr-report--cream  { background: #FBF3E4; }
.pr-report--teal   { background: #EEF5F5; }
.pr-report > .pr-badge--free {
    position: absolute;
    top: 24px;
    right: 24px;
}
.pr-report__icon {
    width: 96px;
    height: 96px;
    display: block;
}
.pr-report__title {
    margin: 20px 0 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
}
.pr-report__text {
    margin: 10px 0 0;
    font-size: 15px;
    line-height: 1.5;
    color: var(--pr-muted);
}
.pr-report .pr-badge--pages {
    align-self: flex-start;
    margin-top: 14px;
}
.pr-report .pr-price {
    margin-top: auto;
    padding-top: 24px;
}
.pr-report .pr-btn {
    margin-top: 16px;
}
/* первая карточка без цены — кнопка прижата вниз распоркой */
.pr-report__spacer {
    margin-top: auto;
}
.pr-report__spacer + .pr-btn {
    margin-top: 24px;
}

/* ---------- приложения ---------- */

.pr-apps {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.pr-app {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 24px;
    overflow: hidden;
}
.pr-app__media {
    display: block;
    width: 100%;
    height: 280px;
    object-fit: cover;
    border-radius: 24px 24px 0 0;
    min-height: 0;
}
.pr-app__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 28px;
}
.pr-app__title {
    margin: 0;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.3;
}
.pr-app__title span {
    color: #8B8793;
    font-weight: 500;
}
.pr-app__text {
    margin: 12px 0 0;
    font-size: 15px;
    line-height: 1.55;
    color: var(--pr-muted);
}
.pr-app__list {
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}
.pr-app__list li {
    position: relative;
    padding-left: 18px;
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--pr-text);
}
.pr-app__list li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 9px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #B9B4C2;
}
.pr-app__list li b {
    font-weight: 600;
}
/* бонус-плашка «Звёздный Аватар в подарок» */
.pr-app__bonus {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 22px;
    padding: 16px 18px;
    background: #F4F1FA;
    border-radius: 14px;
}
.pr-app__bonus-star {
    width: 24px;
    height: 24px;
    color: #9485D7;
}
.pr-app__note .pr-ico {
    width: 20px;
    height: 20px;
    vertical-align: -4px;
}
.pr-app__bonus-info {
    flex: 1 1 auto;
    font-size: 14px;
    line-height: 1.4;
}
.pr-app__bonus-info b {
    display: block;
    font-size: 15px;
    font-weight: 600;
}
.pr-app__bonus-price {
    flex: none;
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap;
}
.pr-app__bonus-price s {
    margin-left: 8px;
    font-weight: 400;
    color: #A29EAB;
}
.pr-app__note {
    margin-top: auto;
    padding-top: 24px;
    font-size: 15px;
    color: var(--pr-muted);
}
.pr-app__note b {
    color: #3F7A3C;
    font-weight: 600;
}
.pr-app__note--chat b {
    color: var(--pr-text);
}
.pr-app .pr-btn {
    margin-top: 16px;
}
.pr-app .pr-btn + .pr-btn {
    margin-top: 12px;
}

/* ---------- попап заявки ---------- */

.pr-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.pr-modal[hidden] {
    display: none;
}
.pr-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(35, 31, 42, .45);
}
.pr-modal__box {
    position: relative;
    width: 100%;
    max-width: 420px;
    padding: 32px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(49, 45, 58, .25);
    animation: prModalIn .25s ease;
}
@keyframes prModalIn {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
}
.pr-modal__close {
    position: absolute;
    top: 12px;
    right: 14px;
    padding: 4px 8px;
    border: 0;
    background: none;
    color: #A29EAB;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    transition: color .2s ease;
}
.pr-modal__close:hover {
    color: var(--pr-text);
}
.pr-modal__title {
    font-family: var(--pr-serif);
    font-size: 24px;
    line-height: 1.25;
    color: var(--pr-text);
}
.pr-modal__sub {
    margin: 10px 0 20px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--pr-muted);
}
.pr-modal__input {
    display: block;
    width: 100%;
    margin-bottom: 12px;
    padding: 13px 16px;
    border: 1px solid #E3E0E8;
    border-radius: 12px;
    background: #FBFAFC;
    font-family: inherit;
    font-size: 15px;
    color: var(--pr-text);
    transition: border-color .2s ease;
}
.pr-modal__input:focus {
    outline: none;
    border-color: #B9AEDB;
}
.pr-modal__error {
    min-height: 18px;
    font-size: 13px;
    color: #C4553F;
}
.pr-modal__submit {
    margin-top: 4px;
}
.pr-modal__submit:disabled {
    opacity: .6;
    cursor: default;
}
.pr-modal__policy {
    margin: 14px 0 0;
    font-size: 12px;
    line-height: 1.4;
    color: #A29EAB;
    text-align: center;
}
.pr-modal__policy a {
    color: inherit;
    text-decoration: underline;
}
.pr-modal__done {
    text-align: center;
}
.pr-modal__done .pr-modal__sub {
    margin-bottom: 0;
}

/* ---------- адаптив ---------- */

@media (max-width: 1100px) {
    .pr-programs,
    .pr-hypno__cards,
    .pr-consults,
    .pr-reports {
        grid-template-columns: repeat(2, 1fr);
    }
    .pr-hero .pr-h1 {
        font-size: 38px;
    }
}
@media (max-width: 950px) {
    /* без сдвига полоса не вылезает за край секции (декор скрыт только с 900px) */
    .pr-decor--programs {
        transform: translateX(-50%);
    }
}
@media (max-width: 900px) {
    .pr-decor,
    .pr-star {
        display: none;
    }
    .pr-apps {
        grid-template-columns: 1fr;
    }
    /* в одну колонку фрейм становится шире исходника (1112x488) —
       фиксированная высота срезала бы низ скриншота чата */
    .pr-app__media {
        height: auto;
        aspect-ratio: 1112 / 488;
    }
    .pr-bundle {
        flex-wrap: wrap;
    }
    .pr-bundle__buy {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        text-align: left;
    }
    .pr-bundle__buy .pr-btn {
        margin-top: 0;
    }
}
@media (max-width: 700px) {
    .pr-section,
    .pr-hypno {
        padding: 48px 0 56px;
    }
    .pr-consults {
        grid-template-columns: 1fr;
    }
    .pr-programs,
    .pr-hypno__cards,
    .pr-reports {
        grid-template-columns: 1fr;
    }
    .pr-hero .pr-h1 {
        font-size: 30px;
    }
    .pr-head .pr-h2 {
        font-size: 28px;
    }
    .pr-hypno__lead {
        margin: 0 auto;
    }
    .pr-hypno__lead--right {
        margin: 20px auto 0;
    }
    .pr-bundle__icon {
        width: 96px;
        height: 96px;
        min-height: 96px;
    }
    .pr-bundle__buy {
        flex-wrap: wrap;
    }
    .pr-bundle__buy .pr-btn {
        width: 100%;
        min-width: 0;
    }
    /* однa колонка: карточка шире, фикс-высота кропала бы 16:9-исходники */
    .pr-program__media {
        height: auto;
        aspect-ratio: 720 / 404;
    }
}
