/* DODC 2026-11-03: мобильная доработка (тап-цели >= 44px, читаемый шрифт, без переполнения) */
@media screen and (max-width: 640px) {
    .block_content p, .block_content li, .block_content td { font-size: 15px; line-height: 1.5; }
    input, select, textarea { font-size: 16px !important; }
    .top a, .recsign a, .user_lk a { display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box; }
    .btn, button, input[type="submit"], .hero_order_btn { min-height: 44px; }
    .block ul li a { display: block; min-height: 44px; line-height: 44px; }
    .footer { height: auto !important; }
    .footer .menu a { display: inline-block; min-height: 44px; line-height: 44px; padding: 0 6px; }
    .nav { height: auto !important; white-space: normal; overflow-wrap: anywhere; }
    #captcha_img { max-width: 100%; height: auto; }
    input#captcha { max-width: 100%; box-sizing: border-box; }
}

/* DODC 2026-11-03: свёрнутые блоки и короткие строки (все ширины) */
details.dodc_more { margin: 8px 0; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 6px; }
details.dodc_more > summary { cursor: pointer; list-style: revert; min-height: 32px; overflow-wrap: anywhere; }
details.dodc_more > summary h2 { display: inline; margin: 0; font-size: inherit; }
details.dodc_more > summary::marker { color: #58a6ff; }
.promo_line { margin: 10px 0 0 0; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.hero_short p { overflow-wrap: anywhere; }
.service_price { overflow-wrap: anywhere; }

/* stage11: поле промокода на мобильных — на всю ширину, кнопка под ним */
@media (max-width: 600px) {
  tr:has(> td > #promo) { display: flex; flex-direction: column; }
  tr:has(> td > #promo) > td { display: block; width: 100% !important; box-sizing: border-box; }
  #promo { width: 100%; max-width: 100%; box-sizing: border-box; }
  tr:has(> td > #promo) .btn { display: block; width: 100%; box-sizing: border-box; text-align: center; margin-top: 8px; }
}
