/* ANCOM update-28. Local styles: contact cards and the new feedback form. */
.contacts-grid > .ancom28-contact-pair {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto repeat(4, minmax(32px, auto)) auto;
    column-gap: 24px;
    row-gap: 14px;
    align-items: stretch;
    min-width: 0;
}
.contacts-section .ancom28-contact-pair > .ancom28-contact-card {
    display: grid;
    grid-row: 1 / span 7;
    grid-template-rows: subgrid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px 20px;
    min-width: 0;
    padding: 32px;
    align-items: center;
}
.contacts-section .ancom28-contact-pair > .ancom28-card-sales { grid-column: 1; }
.contacts-section .ancom28-contact-pair > .ancom28-card-support { grid-column: 2; }
.contacts-section .ancom28-contact-pair > .ancom28-card-with-photo { grid-template-columns: minmax(0, 1fr) 112px; }
.contacts-section .ancom28-contact-card .ancom-people26-copy,
.contacts-section .ancom28-contact-card .ancom27-support-list--contacts { display: contents; }
.contacts-section .ancom28-contact-card .ancom28-contact-label {
    grid-row: 1;
    grid-column: 1 / -1;
    align-self: start;
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--green-dark, #178755);
}
.contacts-section .ancom28-contact-card .ancom28-contact-heading {
    grid-row: 2;
    grid-column: 1 / -1;
    align-self: start;
    margin: 0 0 8px;
    font-size: clamp(24px, 2.2vw, 30px);
    line-height: 1.2;
    letter-spacing: -.025em;
}
.contacts-section .ancom28-contact-card a[class*="ancom28-row-"] {
    grid-column: 1;
    align-self: center;
    margin: 0;
    max-width: 100%;
    width: fit-content;
    overflow-wrap: anywhere;
}
.contacts-section .ancom28-contact-card .ancom28-row-phone1 { grid-row: 3; }
.contacts-section .ancom28-contact-card .ancom28-row-phone2 { grid-row: 4; }
.contacts-section .ancom28-contact-card .ancom28-row-email { grid-row: 5; font-size: 16px; line-height: 1.5; }
.contacts-section .ancom28-contact-card .ancom28-row-telegram { grid-row: 6; display: inline-flex; align-items: center; gap: 8px; min-height: 32px; }
.contacts-section .ancom28-contact-card .ancom28-row-portal { grid-row: 7; grid-column: 1 / -1; margin-top: 8px !important; }
.contacts-section .ancom28-contact-card .contact-big { font-size: clamp(20px, 2vw, 25px); line-height: 1.35; font-weight: 600; }
.contacts-section .ancom28-contact-card .ancom-people26-photo {
    grid-column: 2;
    grid-row: 3 / span 4;
    width: 112px;
    max-width: 100%;
    margin: 0;
    justify-self: end;
    align-self: center;
}
.contacts-section .ancom28-contact-card .tg-icon { width: 20px; height: 20px; flex: 0 0 20px; }
/* A fallback for older browsers without subgrid. */
@supports not (grid-template-rows: subgrid) {
    .contacts-section .ancom28-contact-pair > .ancom28-contact-card {
        grid-template-rows: 36px 72px 38px 38px 48px 38px auto;
    }
}
.contacts-grid > .ancom28-contact-form {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: clamp(28px, 4vw, 56px);
    margin: 16px 0 0;
    padding: clamp(26px, 3vw, 44px);
    border: 1px solid var(--border, #dce2df);
    border-radius: 20px;
    background: #fff;
    color: var(--text, #151a18);
}
.ancom28-contact-form__intro { min-width: 0; }
.ancom28-contact-form__intro .eyebrow { margin-bottom: 18px; }
.ancom28-contact-form__intro h2 { margin: 0 0 20px; font-size: clamp(30px, 3vw, 40px); line-height: 1.15; letter-spacing: -.03em; }
.ancom28-contact-form__intro p { margin: 0 0 16px; color: var(--muted, #68716d); font-size: 16px; line-height: 1.7; }
.ancom28-contact-form__intro .ancom28-form-help { font-size: 14px; }
.ancom28-contact-form__fields { min-width: 0; }
.ancom28-contact-form .form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.ancom28-contact-form .form-field { margin-bottom: 20px; min-width: 0; }
.ancom28-contact-form .form-field label { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 600; }
.ancom28-contact-form .form-field input,
.ancom28-contact-form .form-field textarea { display: block; width: 100%; padding: 13px 14px; border: 1px solid #d4dbd7; border-radius: 9px; font: inherit; color: inherit; background: #fff; }
.ancom28-contact-form .form-field input { height: 50px; }
.ancom28-contact-form textarea { min-height: 120px; resize: vertical; }
.ancom28-contact-form .form-field input:focus-visible,
.ancom28-contact-form textarea:focus-visible { outline: 2px solid var(--green-dark, #178755); outline-offset: 2px; }
.ancom28-contact-form .privacy-checkbox { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 24px; font-size: 12px; line-height: 1.6; }
.ancom28-contact-form .privacy-checkbox input { flex: 0 0 auto; margin-top: 3px; }
.ancom28-contact-form .privacy-checkbox a { text-decoration: underline; color: var(--green-dark, #178755); }
.ancom28-contact-form .form-submit { border: 0; cursor: pointer; min-height: 52px; }
.ancom28-contact-form .form-submit:disabled { opacity: .65; cursor: wait; }
.ancom28-contact-form .form-message { min-height: 24px; margin-top: 15px; font-size: 14px; }
.ancom28-contact-form .is-success { color: #178755; }
.ancom28-contact-form .is-error { color: #b3261e; }
.ancom28-contact-form .form-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; pointer-events: none !important; }
@media (max-width: 980px) {
    .contacts-grid > .ancom28-contact-pair { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; gap: 22px; }
    .contacts-section .ancom28-contact-pair > .ancom28-contact-card {
        grid-column: 1;
        grid-row: auto;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
    }
    .contacts-section .ancom28-contact-card .ancom-people26-photo { grid-column: 1; grid-row: 8; width: 128px; justify-self: start; margin-top: 8px; }
    .contacts-grid > .ancom28-contact-form { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
@media (max-width: 600px) {
    .contacts-section .ancom28-contact-pair > .ancom28-contact-card { padding: 24px; }
    .contacts-section .ancom28-contact-card .ancom28-contact-heading { font-size: 26px; }
    .contacts-section .ancom28-contact-card .ancom28-row-email { font-size: 16px; }
    .contacts-grid > .ancom28-contact-form { padding: 25px 22px; border-radius: 16px; }
    .ancom28-contact-form .form-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .ancom28-contact-form .form-submit { width: 100%; }
}

.contacts-section .ancom28-contact-card .ancom28-contact-label { font-weight: 600; }
.contacts-section .ancom28-card-sales .ancom28-contact-label { color: var(--green-light, #bcebd4); }

/* ANCOM update-28 — 1C partner badge and service highlights. */
.onec-partner-mark {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 22px;
    padding: 10px 14px;
    width: fit-content;
    max-width: 210px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .16);
    cursor: help;
}
.onec-partner-mark img {
    display: block;
    width: 165px;
    max-width: 100%;
    height: auto;
}
.onec-partner-mark__tooltip {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 10px);
    z-index: 20;
    width: min(320px, 78vw);
    padding: 10px 12px;
    border-radius: 9px;
    background: rgba(10, 20, 16, .96);
    color: #fff;
    font-size: 12px;
    line-height: 1.45;
    text-align: left;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, 6px);
    transition: opacity .14s ease, transform .14s ease, visibility 0s linear .14s;
}
.onec-partner-mark:hover .onec-partner-mark__tooltip,
.onec-partner-mark:focus-visible .onec-partner-mark__tooltip {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
    transition-delay: 0s;
}
.onec-partner-mark:focus-visible {
    outline: 2px solid #a9e4c8;
    outline-offset: 4px;
}
.onec-uptime-highlight {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin: 14px 0 12px;
}
.onec-uptime-highlight strong {
    font-size: 30px;
    line-height: 1;
    letter-spacing: -.03em;
    color: var(--green-dark, #178755);
}
.onec-uptime-highlight span {
    font-size: 13px;
    font-weight: 600;
    color: var(--muted, #68716d);
}
.onec-included__item--services strong,
.onec-included__item--trial strong {
    display: block;
}
.onec-included__item--trial strong {
    color: var(--green-light, #a9e4c8);
    font-size: 18px;
}
@media (max-width: 600px) {
    .onec-partner-mark { max-width: 175px; }
    .onec-partner-mark img { width: 145px; }
    .onec-uptime-highlight strong { font-size: 27px; }
}
