

/* Start:/local/frontend/styles/pages/contacts.css?17914546066334*/
.contacts-page {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 100%;
    width: 100%;
    background-color: var(--background-ter);
    color: var(--text-pr);
}

.contacts-island {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;
    padding-top: var(--header-height, 0px);
    background-color: var(--background-pr);
    overflow: hidden;
}

.contacts-content {
    padding: var(--spacing-content-padding-xxl) var(--spacing-content-padding-grid-3);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-content-gap-xxxl);
}

.contacts-info {
    --contacts-value-width: 424px;

    display: flex;
    flex-direction: column;
    width: var(--size-layout-grid-3-width);
    max-width: 100%;
    min-width: 0;
    margin: 0 auto;
    gap: var(--spacing-content-gap-xl);
}

.contacts-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--spacing-component-gap-add);
}

.contacts-row-divider {
    flex: 0 0 100%;
    width: 100%;
    height: var(--stroke-width-s);
    background-color: var(--stroke-sec);
}

.contacts-label {
    flex: 1 1 180px;
    min-width: 0;
    color: var(--text-sec);
}

.contacts-value {
    flex: 0 0 min(100%, var(--contacts-value-width));
    width: min(100%, var(--contacts-value-width));
    max-width: 100%;
    min-width: 0;
}

.contacts-heading,
.contacts-line-text {
    margin: 0;
}

.contacts-map {
    position: relative;
    margin-top: var(--spacing-component-gap-add);
    border-radius: var(--radius-4xl);
    background-color: var(--background-sec);
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.contacts-map__canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* Промо-кнопки API заменены ссылками с точкой назначения музея. */
.contacts-map__canvas [class*="-map-copyrights-promo"] {
    display: none !important;
}

.contacts-map-actions {
    position: absolute;
    left: 24px;
    bottom: 24px;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    max-width: calc(100% - 48px);
}

.contacts-map-actions a {
    padding: 8px 12px;
    border-radius: 4px;
    background: var(--background-pr);
    color: var(--text-pr);
    font: 13px/16px Arial, sans-serif;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

.contacts-map-actions a:hover {
    background: var(--background-sec);
}

.contacts-map-actions a:focus-visible {
    outline: 2px solid var(--background-acc);
    outline-offset: 2px;
}

.contacts-map--error::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--background-sec);
}

.contacts-routes,
.contacts-schedule {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-component-gap-add);
}

.contacts-line {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-component-gap-xl);
}

.contacts-line:last-of-type .contacts-line-divider {
    display: none;
}

.contacts-line-divider {
    width: 100%;
    height: var(--stroke-width-s);
    background-color: var(--stroke-sec);
}

.contacts-note {
    margin: 0;
    padding-top: var(--spacing-component-padding-y-xl);
    color: var(--text-sec);
}

.contacts-feedback-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-content-gap-lg);
}

.contacts-company-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-content-gap-xxl);
    padding: var(--spacing-component-padding-y-xxl) var(--spacing-component-padding-x-xxl);
    border-radius: var(--radius-4xl);
    background-color: var(--background-sec);
}

.contacts-company-card-content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-content-gap-xs);
}

.contacts-company-card-description {
    margin: 0;
    color: var(--text-sec);
}

.contacts-company-card-button {
    min-height: 56px;
    max-width: 100%;
    padding: 0 var(--spacing-component-padding-x-xl);
}

.contacts-feedback {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: var(--size-layout-grid-3-width);
    max-width: 100%;
    border-radius: var(--radius-4xl);
    background-color: var(--background-component-action-1-acc-def);
    background-image: url('/local/frontend/images/images/support-block-bg.png');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    color: var(--text-inver);
    overflow: hidden;
}

.contacts-feedback-content-wrapper {
    padding: var(--spacing-component-padding-y-add) var(--spacing-component-padding-x-add);
}

.contacts-feedback-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-content-gap-sm);
    text-align: center;
    max-width: 600px;
}

.contacts-feedback-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-component-gap-md);
    padding: 0 var(--spacing-component-padding-x-add) var(--spacing-component-padding-x-add) var(--spacing-component-padding-x-add);
}

.contacts-response-note {
    margin: 0 auto;
    color: var(--text-sec);
}

@media (max-width: 1023px) {
    .contacts-feedback {
        background-image: url('/local/frontend/images/images/support-block-bg-1024.png');
        background-position: right;
        background-size: contain;
    }
}

@media (max-width: 768px) {
    .contacts-feedback {
        align-items: flex-start;
        background-image: url('/local/frontend/images/images/support-block-bg-768.png');
    }

    .contacts-feedback-content {
        text-align: start;
        max-width: 500px;
    }
}

@media (min-width: 768px) {
    .contacts-info {
        --contacts-value-width: 744px;
    }
}

@media (min-width: 1024px) {
    .contacts-row {
        gap: var(--spacing-content-gap-xl);
    }

    .contacts-info {
        --contacts-value-width: 704px;
    }
}

@media (min-width: 1200px) {
    .contacts-info {
        --contacts-value-width: 880px;
    }
}

@media (min-width: 1536px) {
    .contacts-info {
        --contacts-value-width: 1168px;
    }
}

@media (min-width: 1920px) {
    .contacts-info {
        --contacts-value-width: 1208px;
    }
}

/* End */


/* Start:/local/templates/special_mibok_main/components/rzd/contact.form/.default/style.css?1792423018984*/
/*
 * Contact form specifics only. Shared modal, field, select, error, note and
 * action styles live in local/frontend/styles/forms.css.
 */

.contact-modal-window {
    width: min(100%, var(--size-component-card-form-width));
}

.contact-form-captcha-row {
    display: flex;
    align-items: center;
    gap: var(--spacing-component-gap-sm);
}

.contact-form-captcha-image {
    display: block;
    width: auto;
    height: 40px;
    border-radius: var(--radius-md);
    background-color: var(--background-sec);
}

.contact-form-captcha-reload {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: var(--radius-full);
    background-color: var(--background-sec);
    color: var(--text-pr);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

.contact-form-captcha-reload:hover {
    background-color: var(--background-ter);
}

@media (max-width: 767px) {
    .contact-modal-window {
        width: 100%;
    }
}

/* End */
/* /local/frontend/styles/pages/contacts.css?17914546066334 */
/* /local/templates/special_mibok_main/components/rzd/contact.form/.default/style.css?1792423018984 */
