/* app/static/css/site-responsive.css
   Адаптивный слой публичного сайта и форм. Подключается последним в base.html. */

html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }
img, video, iframe { max-width: 100%; }
img { height: auto; }
p, li, td, th, h1, h2, h3, h4, a { overflow-wrap: anywhere; }

/* Таблицы (правила, оферта, донат) не раздвигают страницу */
table { max-width: 100%; }
@media (max-width: 720px) {
    .page-wrapper table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* Шапка: нижний ряд меню не должен выходить за экран */
@media (max-width: 950px) {
    .main-navigation { min-width: 0; flex: 1 1 100%; order: 3; }
    .main-navigation ul { flex-wrap: wrap; justify-content: center; gap: 6px; }
    .main-navigation li { margin: 0; flex: 1 1 auto; min-width: 0; }
    .main-navigation a { text-align: center; }
    .nav-rp-panel { order: 2; margin-top: 0; }
    .nav-discord-icon { order: 2; margin-top: 0; }
    .header-container::after { display: none; }
}
@media (max-width: 480px) {
    .header-container { padding: 0 12px; gap: 8px; }
    .main-navigation a { font-size: 0.72em; padding: 8px 6px; letter-spacing: 0; }
    .nav-rp-panel { padding: 0 10px; font-size: 0.7em; }
}

/* Крупные зоны нажатия на сенсорных экранах */
@media (pointer: coarse) {
    a.section-action-button, button, .action-link, .nav-link-login { min-height: 44px; }
    input, select, textarea { font-size: 16px; }   /* iOS не зумит поле при фокусе */
}

/* Секции: меньше боковых отступов на телефоне */
@media (max-width: 600px) {
    .page-wrapper section,
    .page-wrapper .container,
    .page-wrapper [class$="-container"] { padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
    .footer-links a { display: inline-block; margin: 4px 8px !important; }
}

/* Всплывающие сообщения */
.flash-messages-container { max-width: calc(100vw - 24px); }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
