
html, body { max-width: 100vw; overflow-x: clip; }
body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
img, video, iframe { max-width: 100% !important; height: auto; }
pre, code { max-width: 100%; overflow-x: auto; }
/* Текст внутри постов */
.tgme_widget_message_text { word-break: break-word !important; overflow-wrap: anywhere !important; }
.tgme_widget_message_text a { word-break: break-all !important; }
/* Контейнеры ленты — фиксируем ширину + обрезаем переполнение */
.live-page-container { max-width: 840px !important; margin: 0 auto !important; overflow-x: hidden !important; }
.post-page-container { max-width: 760px !important; margin: 0 auto !important; overflow-x: hidden !important; }
.tgme_channel_history { overflow-x: hidden !important; max-width: 100% !important; }
/* ВСЕ внутренние элементы TG-виджета — агрессивный max-width + overflow:hidden.
   НЕ трогаем только .tgme_widget_message_wrap и .tgme_widget_message (widget-frame.js ломается). */
.tgme_widget_message_photo_wrap, .tgme_widget_message_grouped_wrap, .tgme_widget_message_album,
.tgme_widget_message_photo, .tgme_widget_message_video_player, .tgme_widget_message_video_wrap,
.tgme_widget_message_link_preview, .tgme_widget_message_link_preview_title,
.tgme_widget_message_poll, .tgme_widget_message_reply, .tgme_widget_message_service,
.tgme_widget_message_footer, .tgme_widget_message_admin, .tgme_widget_message_date,
.tgme_widget_message_views, .tgme_widget_message_bubble, .tgme_widget_message_author,
.tgme_widget_message_user, .tgme_widget_message_forwarded_from {
  max-width: 100% !important; overflow: hidden !important; box-sizing: border-box !important;
}
.tgme_widget_message_photo img, .tgme_widget_message_photo_wrap img,
.tgme_widget_message_video_thumb img, .tgme_widget_message_link_preview_image img {
  max-width: 100% !important; height: auto !important; object-fit: cover !important;
}
/* Групповые фото (альбомы) — принудительно вписываем */
.tgme_widget_message_grouped_wrap > div, .tgme_widget_message_album > div {
  max-width: 100% !important; overflow: hidden !important;
}
/* Превью ссылок — принудительно обрезаем */
.tgme_widget_message_link_preview_site_name, .tgme_widget_message_link_preview_description {
  max-width: 100% !important; overflow: hidden !important; text-overflow: ellipsis !important;
}
@media (max-width: 600px) {
  .shop-page-container { padding: 0 0.5rem 1rem !important; }
  .shop-controls-row { gap: 0.4rem !important; }
  .shop-sort-select { width: 100% !important; min-width: 0 !important; }
  .shop-supplier-stats { grid-template-columns: 1fr 1fr !important; gap: 0.5rem !important; }
  .shop-supplier-card { padding: 0.5rem 0.6rem !important; }
  .shop-supplier-card .supplier-name { font-size: 0.78rem !important; }
  .shop-product-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 0.5rem !important; }
  .shop-product-card .card-body { padding: 0.5rem 0.6rem 0.6rem !important; }
  .shop-product-card .card-name { font-size: 0.78rem !important; }
  .shop-product-card .card-prices .price { font-size: 0.95rem !important; }
  .shop-product-card .card-btn { font-size: 0.72rem !important; padding: 0.45rem 0.5rem !important; }
  .shop-category-nav { gap: 0.3rem !important; }
  .shop-category-nav a { font-size: 0.78rem !important; padding: 0.3rem 0.6rem !important; }
  .shop-hero { padding: 1.5rem 0.75rem !important; }
  .shop-hero h1 { font-size: 1.35rem !important; }
  .shop-hero p { font-size: 0.85rem !important; }
  .live-page-container, .post-page-container { padding: 8px 8px 40px !important; }
  .live-hero { padding: 14px !important; gap: 12px !important; }
  .live-hero-info h1 { font-size: 17px !important; }
  .live-hero-stats { gap: 10px !important; font-size: 12px !important; }
  .shop-buy-btn { padding: 0.9rem 1.5rem !important; font-size: 1rem !important; }
  section[style*="grid-template-columns:minmax(0,360px)"] { grid-template-columns: minmax(0,1fr) !important; }
  .header-content { gap: 0.4rem !important; }
  .header-content .logo { font-size: 1rem !important; }
  .header-content .logo-icon { width: 32px !important; height: 32px !important; }
  .main-nav { gap: 0.3rem !important; }
  .main-nav a { font-size: 0.78rem !important; padding: 0.3rem 0.4rem !important; }
  .controls-group { gap: 0.3rem !important; }
  .lang-switcher .lang-btn { font-size: 0.72rem !important; padding: 0.25rem 0.4rem !important; }
  .theme-btn { font-size: 1rem !important; padding: 0.25rem !important; }
  .mobile-menu-btn { font-size: 1.2rem !important; padding: 0.3rem !important; }
  footer { padding: 1rem 0.5rem !important; }
  footer .footer-links { font-size: 0.72rem !important; gap: 0.3rem !important; flex-wrap: wrap !important; justify-content: center !important; }
  footer p { font-size: 0.78rem !important; }
  .container, .shop-page-container, .admin-wrap { width: 100% !important; box-sizing: border-box !important; overflow-x: hidden !important; }
}
@media (max-width: 380px) {
  .shop-product-grid { grid-template-columns: 1fr !important; }
  .shop-supplier-stats { grid-template-columns: 1fr !important; }
  .main-nav a { font-size: 0.72rem !important; }
  .header-content .logo span:not(.logo-fallback) { display: none; }
}
