/* footer: v4-ft */
.v4-ft{--navy:#323232;--navy-d:#1a1a1a;font-family:'Inter',sans-serif;background:var(--navy);color:rgba(255,255,255,.65);padding:64px 0 0}

.v4-ft__top{display:grid;grid-template-columns:1.1fr 2fr;gap:48px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1)}

.v4-ft__brand{display:flex;flex-direction:column;gap:8px}
.v4-ft__logo{font-size:19px;font-weight:400;color:#fff;letter-spacing:2px;margin-bottom:6px}
.v4-ft__desc{font-size:13.5px;color:rgba(255,255,255,.65);margin-bottom:6px}
.v4-ft__addr{font-size:13px;line-height:1.6;color:rgba(255,255,255,.65);margin-bottom:10px}
.v4-ft__tel{font-size:17px;font-weight:800;color:#fff;text-decoration:none}
.v4-ft__tel:hover{color:#fff}
.v4-ft__mail{font-size:13.5px;color:rgba(255,255,255,.65);text-decoration:none;margin-bottom:14px}
.v4-ft__mail:hover{color:#fff}

.v4-btn-red{background:var(--red);color:#fff;padding:12px 20px;font-size:13.5px;font-weight:700;font-family:inherit;border:none;cursor:pointer;display:inline-flex;width:fit-content;margin:6px 0 10px;transition:background .18s,transform .16s cubic-bezier(.22,.61,.36,1),box-shadow .2s}
.v4-btn-red:hover{background:var(--red-h);transform:translateY(-2px);box-shadow:0 18px 44px rgba(20,30,50,.16)}
.v4-ft__regions{font-size:12.5px;font-weight:700;color:#fff;text-decoration:none;width:fit-content;border-bottom:1px solid rgba(255,255,255,.3)}

.v4-ft__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.v4-ft__col{display:flex;flex-direction:column;gap:10px}
.v4-ft__col h4{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#fff;margin-bottom:4px}
.v4-ft__col a{font-size:13.5px;color:rgba(255,255,255,.65);text-decoration:none;transition:color .15s}
.v4-ft__col a:hover{color:#fff}
.v4-ft__more{color:#fff !important;font-weight:700}

.v4-ft__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:22px 0;font-size:12px;color:rgba(255,255,255,.45)}
.v4-ft__legal{display:flex;gap:20px}
.v4-ft__legal a{color:rgba(255,255,255,.45);text-decoration:none}
.v4-ft__legal a:hover{color:#fff}

@media(max-width:900px){
  .v4-ft__top{grid-template-columns:1fr;gap:32px}
  .v4-ft__cols{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .v4-ft__cols{grid-template-columns:1fr}
}

.v4-ft .wrap{padding-left:40px;padding-right:40px}
/* regionsmodal */


.pp-wrap { padding: 0; }
.pp-seo { padding: 64px 0; background: #fff; }
.pp-seo__wrap { max-width: 1280px; margin: 0 auto; padding: 0 40px; }

.ppx-rows { display:flex; flex-direction:column; }
.ppx-row { padding:32px 0; border-top:1px solid var(--line); }
.ppx-row:last-child { border-bottom:1px solid var(--line); }
.ppx-body { min-width:0; }
.ppx-title { font-size:20px; font-weight:800; color:var(--navy); margin-bottom:10px; max-width:640px; }
.ppx-lead { font-size:15px; line-height:1.7; color:var(--muted); max-width:820px; margin:0 0 8px; }
.ppx-lead b { color:var(--navy); }
.ppx-sublabel { font-size:13px; font-weight:800; color:var(--navy); margin:18px 0 8px; }
.ppx-list { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 32px; margin:12px 0 0; padding:0; }
.ppx-list li { font-size:14px; color:var(--muted); line-height:1.6; padding-left:14px; position:relative; }
.ppx-list li::before { content:''; position:absolute; left:0; top:9px; width:4px; height:4px; border-radius:50%; background:var(--red); opacity:.65; }
.ppx-list--single { grid-template-columns:1fr; gap:10px; }
.ppx-list--check li { padding-left:26px; }
.ppx-list--check li b { color:var(--navy); }
.ppx-list--check li::before { top:1px; width:16px; height:16px; border-radius:50%; opacity:1; background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.3l3 3 6-6.6' stroke='white' stroke-width='1.7' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/9px no-repeat; }
.krem-morgue-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:16px; }
.krem-morgue-col { padding:22px 24px; border-radius:14px; background:#fff; border:1px solid var(--line); box-shadow:0 0 16px rgba(20,30,50,.06); transition:transform .18s ease-out,box-shadow .18s ease-out; }
.krem-morgue-col:hover { transform:translateY(-3px); box-shadow:0 14px 32px rgba(20,30,50,.12); }
.krem-morgue-label { font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px; }
.krem-morgue-label--free { color:var(--navy); }
.krem-morgue-label--paid { color:var(--red); }
.krem-morgue-table { width:100%; border-collapse:collapse; }
.krem-morgue-table th { text-align:left; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); padding:0 0 10px; border-bottom:1px solid var(--line); }
.krem-morgue-table th:last-child, .krem-morgue-table td:last-child { text-align:right; }
.krem-morgue-table td { padding:10px 0; border-bottom:1px solid var(--line); font-size:14px; color:var(--muted); vertical-align:middle; }
.krem-morgue-table tr:last-child td { border-bottom:none; padding-bottom:0; }
.krem-morgue-table tr:first-child td { padding-top:0; }
/* Сайт-вайд утечка template_styles.min.css на голую <table> (тот же класс бага, что уже чинили
   на .pvg-tariff/.pr1-table/.ppx-pricetable) - найдено и добавлено 2026-08-12 при повторном
   проходе, который сама эта запись же откладывала (см. PERENOS_PLAN.md, находка от 2026-08-10). */
.krem-morgue-table thead th::before { content:none; }
.krem-morgue-table { border:none; border-radius:0; box-shadow:none; max-width:none; margin:0; background:transparent; overflow:visible; }
@media(max-width:568px){
  /* На <568px сайт-вайд правило рвёт table на блочные "карточки" (table{display:block},
     table tr/td{display:block}) - у этой таблицы нет thead/th вообще (только tbody/tr/td),
     поэтому именно эта часть утечки не актуальна, но display:block всё равно ломает раскладку
     "название услуги ... цена" в один ряд. */
  .krem-morgue-table, .krem-morgue-table tbody { display:table !important; width:100% !important; }
  .krem-morgue-table tr { display:table-row !important; }
  .krem-morgue-table td { display:table-cell !important; }
}
.krem-morgue-badge { display:inline-block; font-size:12px; font-weight:800; padding:4px 12px; border-radius:999px; white-space:nowrap; }
.krem-morgue-badge--free { color:var(--navy); background:rgba(50,51,50,.08); }
.krem-morgue-badge--price { color:var(--red); background:rgba(168,35,25,.08); }
.krem-morgue-badge--onrequest { color:var(--muted); background:rgba(91,106,136,.1); }
.krem-morgue-note { font-size:12.5px; color:var(--muted); line-height:1.5; margin-top:14px; padding-top:12px; border-top:1px dashed var(--line); }
@media(max-width:560px){ .krem-morgue-table td{ font-size:13px; } .krem-morgue-badge{ font-size:11px; padding:3px 9px; } }
@media(max-width:820px){ .krem-morgue-grid{ grid-template-columns:1fr; gap:20px; } }
.krem-urn-widget { margin-top:14px; }
.krem-urn-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.krem-urn-tab { box-sizing:border-box; padding:8px 16px; border-radius:999px; border:1.5px solid var(--line); background:#fff; color:var(--muted); font-size:13px; font-weight:700; font-family:inherit; cursor:pointer; transition:.15s; text-align:center; }
.krem-urn-tab:hover { border-color:var(--navy); color:var(--navy); }
.krem-urn-tab.is-active { background:var(--navy); border-color:var(--navy); color:#fff; }
.krem-urn-row { display:flex; align-items:center; gap:8px; }
.krem-urn-grid { flex:1; display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; min-width:0; padding-bottom:2px; }
.krem-urn-grid::-webkit-scrollbar { display:none; }
.krem-urn-card { flex:0 0 104px; scroll-snap-align:start; display:flex; flex-direction:column; background:var(--navy); border-radius:10px; overflow:hidden; text-decoration:none; transition:box-shadow .18s; }
.krem-urn-card:hover { box-shadow:0 8px 22px rgba(20,30,50,.2); }
.krem-urn-filler { background:#fff; border-radius:10px; display:flex; align-items:center; justify-content:center; }
.krem-urn-filler-letter { font-size:56px; font-weight:800; line-height:1; color:rgba(20,30,50,.08); font-family:inherit; user-select:none; pointer-events:none; }
.krem-urn-card-media { width:104px; height:104px; background:#eef0f3; display:flex; align-items:center; justify-content:center; }
.krem-urn-card-media svg { width:42%; height:42%; }
.krem-urn-card-body { padding:8px 10px 10px; }
.krem-urn-card-name { font-size:10px; font-weight:600; color:rgba(255,255,255,.7); line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:calc(1.25em * 2); }
.krem-urn-card-price { font-size:11.5px; font-weight:800; color:#fff; margin-top:4px; }
.krem-urn-nav { display:flex; align-items:center; justify-content:center; gap:10px; margin-top:12px; }
.krem-urn-dots { display:flex; justify-content:center; gap:6px; }
.krem-urn-dot { width:7px; height:7px; padding:0; border:none; border-radius:50%; background:var(--line); cursor:pointer; transition:background .15s,transform .15s; }
.krem-urn-dot:hover { background:#c7ccd6; }
.krem-urn-dot.is-active { background:var(--navy); transform:scale(1.3); }
.krem-urn-arrow { flex:none; width:24px; height:24px; border-radius:50%; border:1.5px solid var(--line); background:#fff; color:var(--muted); font-size:14px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.15s; }
.krem-urn-arrow:hover { border-color:var(--navy); color:var(--navy); }
.krem-urn-arrow:disabled { opacity:.3; cursor:default; pointer-events:none; }
.krem-urn-all { display:block; text-align:center; margin-top:14px; font-size:13px; font-weight:700; color:var(--navy); text-decoration:none; }
.krem-urn-all:hover { color:var(--red); }
.krem-price-split { display:flex; gap:40px; align-items:flex-start; }
.krem-price-text { flex:1; min-width:0; }
@media(min-width:821px){
  .krem-urn-widget { flex:none; width:420px; margin-top:0; background:#fff; border:none; box-shadow:0 6px 28px rgba(20,30,50,.1); border-radius:16px; padding:14px; box-sizing:border-box; }
  .krem-urn-tabs { display:flex; flex-wrap:wrap; justify-content:center; margin-bottom:12px; }
  .krem-urn-tab { flex:0 1 calc((100% - 16px) / 3); }
  .krem-urn-row { display:block; width:100%; }
  .krem-urn-grid { width:100%; box-sizing:border-box; display:grid; grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,auto); gap:10px; overflow:visible; cursor:grab; touch-action:pan-y; user-select:none; }
  .krem-urn-grid:active { cursor:grabbing; }
  .krem-urn-card { width:100%; }
  .krem-urn-card-media { width:100%; height:auto; aspect-ratio:1/1; }
  .krem-urn-card-body { padding:10px 12px 12px; }
  .krem-urn-card-name { font-size:11px; }
  .krem-urn-card-price { font-size:12.5px; margin-top:4px; }
  .krem-urn-widget .ppx-sublabel { font-size:14.5px; }
  .krem-urn-tab { font-size:14px; padding:9px 14px; }
  .krem-morgue-note { font-size:13px; }
  .krem-urn-all { font-size:14px; }
}
@media(max-width:820px){ .krem-price-split{ flex-direction:column; } .krem-urn-arrow{ display:none; } .krem-urn-grid{ gap:8px; } }
@media(max-width:480px){ .krem-urn-tabs{ gap:6px; } .krem-urn-tab{ padding:7px 12px; font-size:12px; } }

.ppx-svc-groups { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:16px; }
.ppx-svc-groups--3 { grid-template-columns:repeat(3,1fr); }
.ppx-svc-groups--4 { grid-template-columns:repeat(4,1fr); }
.ppx-svc-group { background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px; box-shadow:0 0 16px rgba(20,30,50,.06); transition:transform .18s ease-out,box-shadow .18s ease-out; }
.ppx-svc-group:hover { transform:translateY(-3px); box-shadow:0 14px 32px rgba(20,30,50,.12); }
.ppx-svc-group-ico { width:38px; height:38px; margin-bottom:12px; }
.ppx-svc-group-ico--img { border-radius:50%; padding:0; overflow:hidden; }
.ppx-svc-group-ico--img img { width:100%; height:100%; object-fit:cover; display:block; }
.ppx-svc-group--photo { display:flex; align-items:center; gap:18px; }
.ppx-svc-group--photo .ppx-svc-group-ico { flex:none; width:76px; height:76px; margin-bottom:0; }
.ppx-svc-group--photo .ppx-svc-group-body { min-width:0; }
.ppx-svc-group--photo .ppx-svc-group-title { margin-bottom:6px; }
.ppx-svc-group-title { font-size:16px; font-weight:800; color:var(--navy); margin-bottom:10px; }
.ppx-svc-group-text { font-size:13.5px; color:var(--muted); line-height:1.6; margin:0 0 10px; }
@media(max-width:900px) { .ppx-svc-groups--4 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:860px) { .ppx-svc-groups, .ppx-svc-groups--3 { grid-template-columns:1fr; } }
@media(max-width:560px) { .ppx-svc-groups--4 { grid-template-columns:1fr; } }

.ppx-steps { list-style:none; display:flex; flex-direction:column; gap:10px; margin:14px 0 0; padding:0; counter-reset:step; }
.ppx-steps li { font-size:14px; color:var(--text); line-height:1.5; padding-left:34px; position:relative; counter-increment:step; }
.ppx-steps li::before { content:counter(step); position:absolute; left:0; top:-1px; width:22px; height:22px; border-radius:50%; background:var(--navy); color:#fff; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; }

.ppx-discount { background:#fff; padding:0 0 64px; }
.ppx-discount__wrap { max-width:1280px; margin:0 auto; padding:0 40px; }

.ppx-discount__grid { display:grid; grid-template-columns:300px 1fr; gap:0; background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 0 24px rgba(20,30,50,.10); }

.ppx-discount__stat { position:relative; background:var(--navy); padding:40px 32px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; overflow:hidden; }
.ppx-discount__stat-decor { position:absolute; top:-30px; right:-10px; font-size:190px; font-weight:800; line-height:1; color:rgba(255,255,255,.06); z-index:0; pointer-events:none; user-select:none; }
.ppx-discount__stat-logo { position:absolute; top:24px; left:32px; font-size:13px; font-weight:400; letter-spacing:2px; text-transform:uppercase; color:#fff; z-index:1; }
.ppx-discount__stat-num { font-size:clamp(56px,7vw,76px); font-weight:800; line-height:.9; color:#fff; letter-spacing:-1px; display:flex; align-items:baseline; gap:8px; position:relative; z-index:1; }
.ppx-discount__stat-unit { font-size:18px; font-weight:700; color:var(--red); }
.ppx-discount__stat-label { margin-top:10px; font-size:14px; line-height:1.5; color:rgba(255,255,255,.72); max-width:220px; position:relative; z-index:1; }
.ppx-discount__stat-note { margin-top:16px; font-size:12px; line-height:1.5; color:rgba(255,255,255,.5); max-width:220px; position:relative; z-index:1; }

.ppx-discount__content { padding:40px 44px; display:flex; flex-direction:column; justify-content:center; }
.ppx-discount__h2 { font-size:clamp(20px,2vw,27px); font-weight:800; color:var(--navy); line-height:1.22; margin:0 0 8px; }
.ppx-discount__h2 b { color:var(--red); }
.ppx-discount__text { font-size:14px; color:var(--muted); line-height:1.55; margin:0 0 20px; max-width:560px; }
.ppx-discount__list { list-style:none; margin:0 0 20px; padding:0; display:flex; flex-direction:row; flex-wrap:wrap; gap:10px 28px; }
.ppx-discount__item { display:flex; align-items:center; gap:12px; font-size:14px; }
.ppx-discount__item-ico { flex:none; width:18px; height:18px; display:flex; align-items:center; justify-content:center; }
.ppx-discount__item a { color:var(--navy); font-weight:700; text-decoration:none; transition:color .18s; }
.ppx-discount__item a:hover { color:var(--red); }

.ppx-discount__actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.ppx-discount__cta { display:inline-flex; align-items:center; gap:10px; background:var(--red); color:#fff; border-radius:999px; padding:14px 26px; font-size:14.5px; font-weight:700; text-decoration:none; border:none; cursor:pointer; font-family:inherit; transition:background .18s,transform .16s cubic-bezier(.22,.61,.36,1),box-shadow .2s; }
.ppx-discount__cta:hover { background:var(--red-h); transform:translateY(-2px); box-shadow:0 18px 44px rgba(20,30,50,.16); }
.ppx-discount__phone { display:inline-flex; align-items:center; gap:10px; text-decoration:none; }
.ppx-discount__phone-ico { flex:none; width:40px; height:40px; border-radius:50%; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; }
.ppx-discount__phone-num { display:block; font-size:15px; font-weight:800; color:var(--navy); transition:color .18s; }
.ppx-discount__phone-label { display:block; font-size:12px; color:var(--muted); }

.ppx-phone-inline { display:inline-flex; align-items:center; gap:5px; background:rgba(168,35,25,.08); color:var(--red); font-weight:800; text-decoration:none; padding:2px 10px 2px 6px; border-radius:999px; white-space:nowrap; transition:background .15s; }
.ppx-phone-inline svg { flex:none; }
.ppx-phone-inline:hover { background:rgba(168,35,25,.16); }
.ppx-discount__phone:hover .ppx-discount__phone-num { color:var(--red); }

@media(max-width:860px) {
  .ppx-discount__grid { grid-template-columns:1fr; border-radius:20px; }
  .ppx-discount__stat { padding:56px 28px 28px; }
  .ppx-discount__stat-label { max-width:none; }
  .ppx-discount__content { padding:32px 28px; }
}

@media(max-width:860px) {
  .ppx-list { grid-template-columns:1fr; }
  .ppx-discount__wrap { padding:0 20px; }
  .ppx-discount { padding:0 0 48px; }
}


/* КОМПОНЕНТ: krem-loc — карточка крематория с переключателем фото/карта */
.krem-loc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:16px; }
.krem-cities-toggle{ display:inline-flex; align-items:center; gap:6px; background:none; border:none; padding:0; font-family:inherit; font-size:13px; font-weight:600; color:var(--muted); cursor:pointer; transition:color .18s; margin-top:16px; }
.krem-cities-toggle:hover{ color:var(--navy); }
.krem-cities-toggle svg{ transition:transform .25s cubic-bezier(.4,0,.2,1); }
.krem-cities-toggle.open svg{ transform:rotate(180deg); }
.krem-cities-collapse{ display:none; }
.krem-cities-collapse.open{ display:block; }
.krem-loc-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; box-shadow:0 0 16px rgba(20,30,50,.06); transition:transform .18s ease-out,box-shadow .18s ease-out; }
.krem-loc-card:hover{ transform:translateY(-3px); box-shadow:0 14px 32px rgba(20,30,50,.12); }
.krem-loc-media{ position:relative; width:100%; aspect-ratio:16/10; background:#f3f4f6; }
.krem-loc-view{ position:absolute; inset:0; display:none; }
.krem-loc-view.is-active{ display:block; }
.krem-loc-view--photo.is-active{ display:flex; }
.krem-loc-view iframe{ display:block; border:0; }
.krem-loc-ph{ width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:#b7bcc6; }
.krem-loc-photo-img{ width:100%; height:100%; object-fit:cover; filter:brightness(.62) saturate(1.05); }
.krem-loc-ph span{ font-size:12px; color:#9aa0ac; }
.krem-loc-body{ flex:1; padding:16px 18px 20px; background:var(--navy); }
.krem-loc-body .ppx-svc-group-title{ color:#fff; }
.krem-loc-body .ppx-svc-group-text{ color:rgba(255,255,255,.7); }
.krem-loc-toggle{ display:inline-flex; align-items:center; gap:6px; background:transparent; border:1.5px solid rgba(255,255,255,.25); color:rgba(255,255,255,.75); font-weight:700; font-size:11.5px; padding:7px 14px; border-radius:999px; cursor:pointer; font-family:inherit; transition:border-color .16s,background .16s,color .16s; margin-bottom:12px; }
.krem-loc-toggle:hover{ border-color:rgba(255,255,255,.5); color:#fff; background:rgba(255,255,255,.08); }
.krem-loc-note{ font-size:11.5px; color:rgba(255,255,255,.45); line-height:1.5; margin-top:8px; padding-top:8px; border-top:1px solid rgba(255,255,255,.15); }
@media(max-width:860px){ .krem-loc-grid{ grid-template-columns:1fr; } }