*{box-sizing:border-box;margin:0;padding:0}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}

.page{max-width:1100px;margin:0 auto;padding:2rem 0}
.breadcrumb{font-size:13px;color:#888;margin-bottom:1.5rem}
.breadcrumb a{color:#888}
.breadcrumb a:hover{text-decoration:underline}
h1{font-size:28px;font-weight:500;margin-bottom:2rem;color:#1a1a1a}

.layout{display:flex;flex-direction:column;gap:2rem}

/* Table - стиль и приём с border-radius скопированы со страницы /about/requisites/:
   border-collapse:collapse не даёт border-radius/overflow скруглить сам <table>
   во всех браузерах одинаково, поэтому рамка и скругление - на обычной
   div-обёртке вокруг таблицы, а не на самой таблице. */
.services-table-wrap{border:1px solid #C6D3DE;border-radius:16px;overflow:hidden}
.services-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}
.services-table tr{border-bottom:1px solid #C6D3DE}
.services-table tr:last-child{border-bottom:none}
.services-table tr:nth-child(2n+1){background:#F5F6FA}
.services-table td{padding:10px 14px;line-height:1.5}

/* Заголовок раздела - первая строка самой таблицы, а не отдельный h2 над ней */
.table-title-row td{background:#eef2f7}
.table-title-row h2{font-size:16px;font-weight:700;margin:0;color:#1a1a1a}

/* Химиотерапия - обычная строка таблицы, цена прижата к концу строки.
   Имя класса не .price-row - это имя уже занято общим сайтовым компонентом
   в app.css (со своим hover-фоном), из-за чего у строки было подчёркивание
   и смена цвета при наведении, как у ссылки. */
.oms-price-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.oms-price-row__price{font-weight:500;white-space:nowrap}

/* Sidebar */
.sidebar-card{background:#fff;border:0.5px solid #e0ded6;border-radius:12px;padding:1.25rem;margin-bottom:.625rem}
.sidebar-card h2{font-size:18px;font-weight:600;color:#1a1a1a;margin-bottom:1rem}
.insurer{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:0.5px solid #e0ded6}
.insurer:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.insurer-name{font-size:14px;font-weight:500}
.insurer-detail{font-size:13px;color:#666;line-height:1.6}
.docs-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.docs-list li a{font-size:13px;color:#185fa5;display:flex;align-items:flex-start;gap:6px;line-height:1.5}
.docs-list li a:hover{text-decoration:underline}
.docs-list li a i{font-size:14px;margin-top:2px;flex-shrink:0}

/* Steps */
.steps-section{background:#f5f5f2;border-radius:16px;padding:1.75rem}
.steps-section h2{font-size:20px;font-weight:500;margin-bottom:1.5rem}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.step{background:#fff;border:0.5px solid #e0ded6;border-radius:12px;padding:1rem}
.step-num{width:28px;height:28px;border-radius:50%;background:#e6f1fb;color:#185fa5;font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem}
.step h4{font-size:13px;font-weight:500;margin-bottom:.4rem}
.step p{font-size:12px;color:#666;line-height:1.5}

/* CTA */
.cta-card{background:#f5f5f2;border-radius:12px;padding:1.5rem;text-align:center;margin-top:2.5rem;border:0.5px solid #e0ded6}
.cta-card p{font-size:14px;color:#666;margin-bottom:.5rem}
.cta-phone{font-size:22px;font-weight:500;margin-bottom:1rem}
.cta-phone a{color:#1a1a1a}
.phone-input-row{display:flex;gap:.5rem;justify-content:center}
.phone-input-row input,.phone-input-row button{padding:8px 14px;border-radius:8px;border:0.5px solid #c8c8c0;font-size:14px}
.phone-input-row input{flex:1;max-width:220px;background:#fff;color:#1a1a1a}
.phone-input-row button{background:#fff;cursor:pointer;color:#1a1a1a}
.phone-input-row button:hover{background:#f0f0ec}

/* Form inputs */
input[type=text],input[type=tel],textarea{width:100%;padding:8px 12px;border:0.5px solid #c8c8c0;border-radius:8px;font-size:14px;background:#fff;color:#1a1a1a;outline:none}
input:focus,textarea:focus{border-color:#888}
textarea{resize:vertical}
.form-btn{width:100%;padding:9px;border-radius:8px;border:0.5px solid #c8c8c0;background:#fff;cursor:pointer;font-size:14px;color:#1a1a1a}
.form-btn:hover{background:#f5f5f2}
.form-group{display:flex;flex-direction:column;gap:.6rem}

@media(max-width:780px){
  .steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
  .steps{grid-template-columns:1fr}
  .phone-input-row{flex-direction:column;align-items:center}
  .phone-input-row input{max-width:100%;width:100%}
  .phone-input-row button{width:100%}
}