/* Shared mobile corrections for the existing theme. */
.mobile-menu__contacts,
.delivery_table__label { display: none; }
.delivery_table .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (max-width: 1140px) {
    .mobile_menu { flex-direction: column; }
    .mobile_menu nav { order: 0; }
    .mobile_menu nav .menu-item-has-children .sub-menu .menu-item > a { min-height: 44px; }
}

@media (max-width: 359px) {
    header .wrap .logo.logo--deviceprint { font-size: 22px; line-height: 22px; letter-spacing: 2.2px; gap: 2px; padding-inline: 7px; }
    header .logo--deviceprint .logo__device,
    header .logo--deviceprint .logo__print { width: auto; }
}

@media (max-width: 767px) {
    header .wrap { gap: 8px; }
    header .wrap .logo.logo--deviceprint { height: 44px; align-items: center; }
    header .wrap .contacts { flex: 0 0 auto; gap: 4px; }
    header .wrap .contacts .phone,
    header .wrap .contacts .burder-menu { flex: 0 0 44px; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; }
    header .wrap .contacts .tg,
    header .wrap .contacts .max { display: none; }
    .mobile-menu__contacts { display: flex; flex-wrap: wrap; order: 1; gap: 12px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--vshf-color-border); }
    .mobile-menu__contacts a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 88px; padding: 10px 16px; border: 1px solid var(--vshf-color-border); color: var(--vshf-color-text); text-decoration: none; font: 700 16px/1.4 'PT Sans', sans-serif; }
    .mobile-menu__contacts a:focus-visible { outline: 2px solid var(--vshf-color-accent); outline-offset: 3px; }

    .about_page .about_text,
    .about_page .about_text .vshf-content-stages__text,
    .about_page .about_text .vshf-content-grid__text { text-align: left; }
    .feeadback .feeadback_wrap .form :is(.vshf-request-form__input, .vshf-request-form__textarea, .vshf-request-form__math-input) { font-size: 16px; }
    .feeadback .feeadback_wrap .form :is(.vshf-request-form__input, .vshf-request-form__textarea)::placeholder { color: var(--vshf-color-text); opacity: 1; }

    /* Preserve table relationships while presenting each delivery area as a list. */
    .delivery_table,
    .delivery_table tbody { display: block; width: 100%; }
    .delivery_table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; }
    .delivery_table tbody tr { display: block; margin-bottom: 24px; border: 1px solid var(--vshf-color-border); }
    .delivery_table tbody tr:last-child { margin-bottom: 0; border-bottom: 1px solid var(--vshf-color-border); }
    .delivery_table tbody th[scope="row"] { display: block; padding: 16px; background: var(--vshf-color-surface); font-size: 17px; font-weight: 700; }
    .delivery_table tbody td { display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: start; gap: 16px; padding: 16px; border-top: 1px solid var(--vshf-color-border); font-size: 24px; line-height: 1.2; text-transform: none; text-align: left; }
    .delivery_table__label { display: block; font: 400 16px/1.4 'PT Sans', sans-serif; letter-spacing: normal; overflow-wrap: anywhere; }
    .delivery_table__price { white-space: nowrap; font-variant-numeric: tabular-nums; }
    .delivery_page__tab { min-height: 44px; }
}
