/* Страница «Информация о закупках» (/About/Zakupki). Стили заскоуплены под .zk-page */

.breadcrumb a { color: inherit; }
.breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: rgba(0, 0, 0, .35); }

.zk-page {
    --zk-brand: #008EF1;
    --zk-brand-d: #0077cc;
    --zk-soft: #e8f4fe;
    --zk-ink: #0b0a12;
    --zk-text: #3a3f47;
    --zk-text-2: #4a5059;
    --zk-line: #e8ecf2;
    color: var(--zk-text);
}

.zk-page .container { padding-left: 24px; padding-right: 24px; }
.zk-page .text-telegram { color: #0088cc; }
.zk-page .text-whatsapp { color: #25d366; }
.zk-page .zk-title { font-size: 1.5rem; text-align: center; margin-bottom: 1.5rem; }

/* шапка с логотипом портала */
.zk-page .zk-hero { background: linear-gradient(180deg, #e8f4fe 0%, #f3f8fe 100%); border-radius: 1.5rem; padding: 2.5rem 1.5rem 2.25rem; margin-bottom: 2rem; }
.zk-page .zk-hero h1 { font-size: clamp(1.8rem, 3vw, 2.5rem); max-width: 800px; margin: 0 auto; }
.zk-page .zk-hero .lead { color: var(--zk-text); font-size: 1.1rem; max-width: 700px; margin: 1rem auto 1.25rem; }
.zk-page .zk-logo { margin-bottom: 1.5rem; }
.zk-page .zk-logo a { display: inline-block; background: #fff; border-radius: 1rem; padding: .8rem 1.5rem; box-shadow: 0 4px 16px rgba(29, 58, 83, .08); }
.zk-page .zk-logo img { max-width: 200px; display: block; }

/* выгоды одной строкой */
.zk-page .zk-benefits { background: #fff; border: 1px solid var(--zk-line); border-radius: 1.25rem; padding: .5rem 0; margin-bottom: 2.5rem; }
.zk-page .zk-benefit { display: grid; grid-template-columns: 48px 1fr; grid-template-rows: auto 1fr; column-gap: 1rem; padding: 1.25rem 1.5rem; height: 100%; }
.zk-page .zk-benefit-ico { grid-row: 1 / 3; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; }
.zk-page .zk-benefit-ico svg { width: 26px; height: 26px; }
.zk-page .zk-benefit h5 { font-size: 1.02rem; margin-bottom: .35rem; }
.zk-page .zk-benefit p { font-size: .92rem; color: var(--zk-text-2); margin: 0; }
@media (min-width: 768px) {
    .zk-page .zk-benefits .col-md-4 + .col-md-4 .zk-benefit { border-left: 1px solid var(--zk-line); }
}

/* шаги карточками со стрелками */
.zk-page .zk-step { background: #fff; border: 1px solid var(--zk-line); border-radius: 1.25rem; padding: 1.4rem 1.25rem; height: 100%; position: relative; }
.zk-page .zk-step-n { width: 40px; height: 40px; border-radius: 12px; background: var(--zk-brand); color: #fff; font-weight: 700; font-size: 1.05rem; display: grid; place-items: center; margin-bottom: 1rem; }
.zk-page .zk-step h6 { font-weight: 600; margin-bottom: .5rem; }
.zk-page .zk-step p { font-size: .9rem; color: var(--zk-text-2); margin: 0; }
.zk-page .zk-step a { text-decoration: none; }
@media (min-width: 992px) {
    .zk-page .col-lg-3:not(:last-child) > .zk-step::after { content: "→"; position: absolute; right: -1.2rem; top: 1.6rem; color: var(--zk-brand); font-weight: 700; font-size: 1.2rem; z-index: 1; }
}

/* документы — два цветных блока */
.zk-page section + section { margin-top: 1rem; }
.zk-page .zk-doc { border-radius: 1.25rem; padding: 1.5rem; height: 100%; }
.zk-page .zk-doc-school { background: #e8f4fe; }
.zk-page .zk-doc-ours { background: #e6f8f1; }
.zk-page .zk-doc h5 { font-size: 1rem; font-weight: 600; margin-bottom: 1rem; }
.zk-page .zk-doc h5 svg { width: 22px; height: 22px; vertical-align: -5px; margin-right: .3rem; }
.zk-page .zk-list { list-style: none; padding: 0; margin: 0; }
.zk-page .zk-list li { position: relative; padding-left: 1.6rem; margin-bottom: .5rem; }
.zk-page .zk-list li:last-child { margin-bottom: 0; }
.zk-page .zk-list li::before { content: ""; position: absolute; left: 0; top: .2rem; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230077cc' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / .7rem no-repeat; }
.zk-page .zk-doc-ours .zk-list li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a8f66' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E"); }

/* вопросы в две колонки */
.zk-page .zk-q { border: 1px solid var(--zk-line); border-radius: 1rem; overflow: hidden; margin-bottom: 1rem; }
.zk-page .zk-q .accordion-button { color: var(--zk-ink); }
.zk-page .zk-q .accordion-button:not(.collapsed) { background-color: rgba(var(--bs-primary-rgb), .1); border-color: rgba(var(--bs-primary-rgb), .125); }
.zk-page .zk-q .accordion-button:focus { border-color: rgba(var(--bs-primary-rgb), .25); box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25); }
.zk-page .zk-q .accordion-body { color: var(--zk-text); }
@media (min-width: 992px) {
    .zk-page .accordion { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; align-items: start; }
}

/* консультация — синий баннер */
.zk-page .zk-contact { background: linear-gradient(135deg, #008EF1, #0a73d0); border-radius: 1.5rem; padding: 2rem; box-shadow: 0 1rem 2rem rgba(0, 119, 204, .2); margin-top: 1.5rem; }
.zk-page .zk-contact h3 { color: #fff; font-size: 1.5rem; margin-bottom: .5rem; }
.zk-page .zk-contact-sub { color: #dcefff; margin-bottom: 1.5rem; }
.zk-page .zk-contact-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.zk-page .zk-ct { display: flex; align-items: center; gap: 1rem; background: #fff; border-radius: 1rem; padding: 1rem; text-decoration: none; color: var(--zk-ink); transition: transform .15s ease; }
.zk-page a.zk-ct:hover { transform: translateY(-2px); }
.zk-page .zk-ct h6 { font-weight: 600; margin-bottom: .2rem; color: var(--zk-ink); }
.zk-page .zk-ct p { font-size: .85rem; color: var(--zk-text-2); margin: 0; }
.zk-page .zk-ct-phone { font-weight: 700; text-decoration: none; }
.zk-page .zk-ct-ico { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; flex: none; }
.zk-page .zk-ct-ico svg { margin: 0 !important; }
.zk-page .zk-ct-ico-max { background: rgba(0, 119, 255, .1); color: #0077ff; }
.zk-page .zk-mail { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .6rem; margin-top: 1.25rem; color: #dcefff; font-size: .9rem; }
.zk-page .zk-mail-pill { display: inline-flex; align-items: center; background: #fff; border-radius: 50rem; padding: 0 .3rem 0 0; }
.zk-page .zk-mail-pill a { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .5rem .45rem 1rem; color: var(--zk-brand-d); font-weight: 600; text-decoration: none; }
.zk-page .zk-copy { border: none; background: transparent; color: var(--zk-text-2); cursor: pointer; padding: .3rem; line-height: 0; border-radius: 50%; }
.zk-page .zk-copy:hover { color: var(--zk-brand); background: var(--zk-soft); }

/* для администрации */
.zk-page .zk-admin { background: #fff; border: 1px solid var(--zk-line); border-radius: 1.25rem; padding: 2rem; margin-top: 2.5rem; }
.zk-page .zk-admin p { color: var(--zk-text-2); max-width: 820px; margin-left: auto; margin-right: auto; }
.zk-page .zk-badge { display: inline-block; border-radius: .5rem; padding: .45rem .9rem; font-size: .85rem; font-weight: 600; }
.zk-page .zk-badge-blue { background: #e8f4fe; color: #0a58ca; }
.zk-page .zk-badge-green { background: #e6f8f1; color: #0a8f66; }
.zk-page .zk-badge-orange { background: #fff1d6; color: #8a5300; }

@media (max-width: 991px) {
    .zk-page .zk-contact-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
    .zk-page .container { padding-left: 16px; padding-right: 16px; }
    .zk-page .zk-hero { padding: 1.5rem 1.2rem; }
    .zk-page .zk-benefits .col-md-4 + .col-md-4 .zk-benefit { border-top: 1px solid var(--zk-line); }
    .zk-page .zk-contact { padding: 1.5rem 1.2rem; }
    .zk-page .zk-contact-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .zk-page .accordion .collapse { transition: none !important; }
    .zk-page a.zk-ct { transition: none; }
}

/* хлебные крошки — те же поля, что у контента */
.container.zk-crumbs { padding-left: 24px; padding-right: 24px; }
@media (max-width: 767px) { .container.zk-crumbs { padding-left: 16px; padding-right: 16px; } }
