/* ===== Pro-Podemnik clean page styles (Bitrix-friendly) ===== */

/* Layout & typography */
.pp-wrap{max-width:980px;margin:0 auto;padding:0 12px}
.pp-wrap,.pp-wrap p,.pp-wrap li{font-size:16px;line-height:1.65;color:#111827}
.pp-wrap p{margin:0 0 12px}
.pp-wrap ul{margin:10px 0 18px;padding-left:22px}
.pp-wrap ol{margin:10px 0 18px;padding-left:22px}
.pp-wrap li{margin:6px 0}
.pp-muted{color:#6B7280}
.pp-sep{height:1px;background:#E5E7EB;margin:18px 0}

/* Links */
.pp-wrap a{color:#111827;text-decoration:underline;text-underline-offset:3px}
.pp-wrap a:hover{color:#000}

/* Title */
.pp-title{margin:14px 0 14px;font-size:26px;line-height:1.2;font-weight:900}
@media (max-width:640px){.pp-title{font-size:22px}}

/* Headings */
.block-title{margin:26px 0 12px;text-align:justify}
.block-title h2{margin:0;font-size:22px;line-height:1.25}
.block-title b{font-weight:900}
@media (max-width:640px){.block-title h2{font-size:20px}}

/* Lead */
.pp-lead{
  margin:14px 0 16px;
  padding:14px 16px;
  border-left:4px solid #F59E0B;
  background:#FFF7ED;
  border-radius:14px;
}

/* Offer / CTA */
.pp-offer{
  margin:14px 0 18px;
  padding:18px;
  border:1px solid #FDE68A;
  background:linear-gradient(180deg,#FFF7ED 0%,#FFFFFF 100%);
  border-radius:16px;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}
.pp-offer__title{margin:0 0 10px;font-size:18px;font-weight:900}
.pp-badge-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}
.pp-badge{
  display:inline-flex;align-items:center;
  padding:8px 10px;border-radius:999px;
  background:#111827;color:#fff;
  font-size:13px;line-height:1;font-weight:700;
}
.pp-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.pp-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 14px;border-radius:12px;
  font-weight:900;text-decoration:none;border:1px solid transparent;
  white-space:nowrap;
}
.pp-btn--primary{background:#F59E0B;color:#111827}
.pp-btn--ghost{background:#fff;border-color:#E5E7EB;color:#111827}
.pp-btn:hover{filter:brightness(.98)}
.pp-note{font-size:13px;color:#6B7280;margin-top:10px;line-height:1.45}

/* Promo pill */
.pp-pill{
  margin:14px 0 18px;
  padding:10px 12px;
  border-radius:14px;
  border:1px dashed rgba(245,158,11,.55);
  background:rgba(255,247,237,.9);
  font-weight:800;
  text-align:center;
}

/* Important blocks */
.pp-alert{
  margin:14px 0 18px;
  padding:14px 16px;
  border-radius:14px;
  background:#111827;
  color:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}
.pp-alert strong{color:#FBBF24}

/* Code-like highlight */
.pp-code{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:12px;
  border:1px dashed rgba(245,158,11,.55);
  background:rgba(255,247,237,.9);
  font-size:14px;line-height:1.35;
  color:#111827;
}
.pp-code strong{font-weight:900}
.pp-code--dark{background:#111827;border-color:rgba(255,255,255,.16);color:#fff}
.pp-code--dark strong{color:#FBBF24}

/* Cards grid */
.pp-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:12px 0 18px;
}
@media(max-width:720px){.pp-grid{grid-template-columns:1fr}}
.pp-card{
  padding:16px 16px;
  border-radius:16px;
  border:1px solid #E5E7EB;
  background:#fff;
  box-shadow:0 8px 18px rgba(0,0,0,.04);
}
/* NOT bold */
.pp-card__t{font-weight:400;margin:0 0 8px;font-size:16px;line-height:1.25}
.pp-card__d{margin:0;color:#4B5563;line-height:1.55;font-size:14px}

/* Steps list: works for UL and OL, no bullets/decimals, only badge number */
.pp-steps{counter-reset:ppstep;list-style:none!important;padding-left:0!important;margin:10px 0 18px}
.pp-steps>li{counter-increment:ppstep;list-style:none!important;margin:10px 0;padding:12px 14px;border:1px solid #E5E7EB;border-radius:14px;background:#fff}
.pp-steps>li::marker{content:""!important;display:none!important}

/* Kill theme numbering via ::before if exists */
.pp-steps>li::before{content:""!important;display:none!important}

/* Our badge number */
.pp-steps>li:before{
  content:counter(ppstep)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;height:28px!important;
  margin-right:10px!important;
  border-radius:10px!important;
  background:#111827!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:13px!important;
}

/* Price table */
.pp-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid #E5E7EB;
  border-radius:14px;
  background:#fff;
}
.pp-table caption{
  text-align:left;
  padding:12px 14px;
  font-weight:900;
  background:#FFF7ED;
  border-bottom:1px solid #E5E7EB;
}
.pp-table th,.pp-table td{
  padding:10px 10px;
  border-bottom:1px solid #E5E7EB;
  border-right:1px solid #E5E7EB;
  vertical-align:top;
}
.pp-table th:last-child,.pp-table td:last-child{border-right:0}
.pp-table tr:last-child td,.pp-table tr:last-child th{border-bottom:0}
.pp-table th{background:#F9FAFB;font-weight:900}
.pp-table p{margin:0}
.pp-table-wrap{margin:14px 0 10px;overflow:auto;border-radius:14px}
.pp-footnote{font-size:13px;color:#6B7280;margin:8px 0 18px;line-height:1.45}

/* FAQ accordion */
.pp-faq{margin:10px 0 0}
.pp-faq__item{margin:12px 0}
.pp-faq__btn{
  width:100%;
  text-align:left;
  border:1px solid #E5E7EB;
  border-radius:16px;
  background:#fff;
  padding:14px 14px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  box-shadow:0 8px 18px rgba(0,0,0,.04);
}
.pp-faq__btn:hover{border-color:rgba(245,158,11,.45)}
.pp-faq__q{margin:0;font-weight:400;line-height:1.25}
.pp-faq__meta{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.pp-faq__icon{
  width:34px;height:34px;border-radius:12px;
  background:#111827;position:relative;flex:0 0 34px;
}
.pp-faq__icon:before,.pp-faq__icon:after{
  content:"";position:absolute;left:50%;top:50%;
  width:14px;height:3px;background:#fff;
  transform:translate(-50%,-50%);
  border-radius:3px;
}
.pp-faq__icon:after{transform:translate(-50%,-50%) rotate(90deg)}
.pp-faq__item.is-open .pp-faq__icon:after{display:none}
.pp-faq__a{
  margin-top:10px;
  padding:14px 14px;
  border:1px solid #E5E7EB;
  border-radius:16px;
  background:#fff;
  color:#111827;
  line-height:1.55;
}

/* Override collisions (if template styles interfere) */
.pp-wrap .pp-offer{margin:14px 0 18px;padding:18px;border:1px solid #FDE68A;background:linear-gradient(180deg,#FFF7ED 0%,#FFFFFF 100%);border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.06)}
.pp-wrap .pp-offer__title{margin:0 0 10px;font-size:18px;font-weight:900}
.pp-wrap .pp-badge-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}
.pp-wrap .pp-badge{display:inline-flex;align-items:center;padding:8px 10px;border-radius:999px;background:#111827;color:#fff;font-size:13px;line-height:1;font-weight:700}
/* === FIX: remove any theme bullets inside pp-steps (UL/OL) === */
.pp-wrap ul.pp-steps,
.pp-wrap ol.pp-steps{
  list-style:none !important;
  padding-left:0 !important;
  margin-left:0 !important;
}

.pp-wrap ul.pp-steps > li,
.pp-wrap ol.pp-steps > li{
  list-style:none !important;
  margin-left:0 !important;
}

/* kill browser markers */
.pp-wrap ul.pp-steps > li::marker,
.pp-wrap ol.pp-steps > li::marker{
  content:"" !important;
  display:none !important;
}

/* kill THEME bullets (most common) */
.pp-wrap ul.pp-steps > li::before,
.pp-wrap ol.pp-steps > li::before{
  content:"" !important;
  display:none !important;
  background:none !important;
  box-shadow:none !important;
  border:0 !important;
}

/* restore OUR badge number (strongest selector) */
.pp-wrap ul.pp-steps.pp-steps > li:before,
.pp-wrap ol.pp-steps.pp-steps > li:before{
  content:counter(ppstep) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  height:28px !important;
  margin-right:10px !important;
  border-radius:10px !important;
  background:#111827 !important;
  color:#fff !important;
  font-weight:900 !important;
  font-size:13px !important;
}
/* === HARD FIX: kill any bullets from template for pp-steps (UL/OL) === */
.pp-wrap ul.pp-steps,
.pp-wrap ol.pp-steps{
  counter-reset: ppstep !important;
  list-style: none !important;
  list-style-image: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.pp-wrap ul.pp-steps > li,
.pp-wrap ol.pp-steps > li{
  counter-increment: ppstep !important;

  /* ключ: превращаем list-item в flex — тогда маркеры/пули темы не работают */
  display: flex !important;
  align-items: flex-start !important;

  list-style: none !important;
  list-style-image: none !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;

  margin: 10px 0 !important;
  padding: 12px 14px !important;

  border: 1px solid #E5E7EB !important;
  border-radius: 14px !important;
  background-color: #fff !important;
}

/* убиваем любые “пули” темы, если она их рисует псевдоэлементами */
.pp-wrap ul.pp-steps > li::marker,
.pp-wrap ol.pp-steps > li::marker{
  content: "" !important;
}

.pp-wrap ul.pp-steps > li::after,
.pp-wrap ol.pp-steps > li::after{
  content: "" !important;
  display: none !important;
  background: none !important;
}

/* кружок с цифрой (наш) */
.pp-wrap ul.pp-steps > li::before,
.pp-wrap ol.pp-steps > li::before{
  content: counter(ppstep) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 28px !important;
  height: 28px !important;
  margin-right: 10px !important;

  border-radius: 10px !important;
  background: #111827 !important;
  color: #fff !important;

  font-weight: 900 !important;
  font-size: 13px !important;

  flex: 0 0 28px !important;
}