/* ============================================================================
   responsive.css —— 响应式断点（PRD §5.2）
   联盟营销内容站（俄语界面）SSR 站点 · 纯手写 CSS
   依赖：tokens.css、app.css（本文件须最后引入）
   断点：下行 1199 / 991 / 767 / 640 / 540 / 478 / 400 / 360；上行 1300 / 2150
   目标：360 / 414 / 768 / 1024 / 1440 五档均无页面级横向滚动
   ============================================================================ */

/* ==========================================================================
   ≤1199px —— 桌面收窄容器
   ========================================================================== */
@media (min-width: 992px) and (max-width: 1199px) {
  .container {
    width: var(--container-md); /* 970px */
  }
}

/* ==========================================================================
   ≤991px —— 平板：主菜单降级为「点击展开」，隐藏「写文章」
   ========================================================================== */
@media (max-width: 991px) {
  /* 一级菜单仍可见，仅收窄内边距，避免横向溢出 */
  .topmenu > li > a {
    padding: 12px 10px;
    font-size: 13px;
  }

  /* 禁用 hover 自动展开，改为点击（JS 切换 .is-open） */
  .topmenu > li.has-sub:hover > .submenu {
    display: none;
  }

  .topmenu > li.has-sub.is-open > .submenu {
    display: block;
  }

  .topmenu > li.has-mega:hover > .mega {
    display: none;
  }

  .topmenu > li.has-mega.is-open > .mega {
    display: block;
  }

  /* 导航条右侧「写文章」隐藏 */
  .pk-navbar__write {
    display: none;
  }

  /* 三级网格改 2 列，防止面板超宽 */
  .submenu__grid {
    grid-template-columns: repeat(2, minmax(140px, 1fr));
  }
}

/* ==========================================================================
   ≤767px —— 手机：抽屉接管、卡片堆叠、页脚单列、轮播单卡
   ========================================================================== */
@media (max-width: 767px) {
  /* --- 导航切换 --- */
  .topmenu {
    display: none;
  }

  .desktop_menu {
    display: none;
  }

  .pk-hamburger {
    display: flex;
  }

  .pk-user {
    display: none;
  }

  /* 头部保持单行不换行，搜索框可伸缩 */
  .pk-header__inner {
    flex-wrap: nowrap;
    gap: 12px;
  }

  .search_form {
    flex: 1 1 auto;
    min-width: 0;
    margin-left: 0;
  }

  /* Logo 允许收缩截断，防止窄屏头部撑破 */
  .pk-logo {
    min-width: 0;
  }

  .pk-logo__text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* --- 文章卡片：图上文下 --- */
  .home_news_row__cover,
  .home_news_row__body {
    width: 100%;
  }

  /* 卡片内所有列一律整行 */
  .home_news_row__inner > [class*="col-"] {
    width: 100%;
  }

  .home_news_row__cover {
    margin-bottom: 12px;
  }

  .list_box {
    padding: 16px 0;
  }

  /* --- 订阅表单：全部整行 --- */
  .subscriber_form__grid > div {
    width: 100% !important;
  }

  .subscriber_form {
    padding: 24px 0;
  }

  /* --- 页脚：4 列 → 1 列 --- */
  .footer_box .row > [class*="col-"],
  .footer_box [class*="col-"],
  .prefooter_box .row > [class*="col-"],
  .prefooter_box [class*="col-"] {
    width: 100%;
  }

  /* --- 推荐轮播：单卡 --- */
  .pk-carousel__item {
    flex: 0 0 calc((100% - 16px) / 1);
  }

  .pk-carousel__arrow--prev {
    left: 0;
  }

  .pk-carousel__arrow--next {
    right: 0;
  }

  /* --- 分页：中间页码隐藏，仅保留上一页/下一页/当前页 --- */
  .pager__item {
    display: none;
  }

  .pager__item.is-active {
    display: flex;
  }

  /* --- 广告位隐藏 --- */
  .scl_adapt {
    display: none;
  }

  .ap_b_wrp {
    display: none;
  }

  /* --- 长文表格：内部滚动，避免撑破页面 --- */
  .article-view__body table {
    display: block;
    overflow-x: auto;
  }

  /* --- 浮动广告位收窄到边距内 --- */
  .ap_ghost {
    right: 8px;
    bottom: 8px;
    width: 160px;
    min-height: 90px;
  }

  /* --- 长文留白收紧 --- */
  .content_text {
    padding: 20px 0 32px;
  }
}

/* ==========================================================================
   ≤640px
   ========================================================================== */
@media (max-width: 640px) {
  body {
    font-size: 15px;
  }

  .pk-header__inner {
    flex-wrap: nowrap;
    gap: 10px;
  }

  .search_form {
    flex-basis: auto;
    flex-grow: 1;
    min-width: 0;
  }

  .pk-logo__text {
    font-size: 18px;
  }

  .home_news_title {
    font-size: 18px;
  }

  .home_news_text {
    font-size: 13px;
  }

  .cat-tab {
    font-size: 14px;
    padding: 6px 10px;
  }

  .default_likes__head h2 {
    font-size: 17px;
  }

  .subscriber_form h2 {
    font-size: 18px;
  }

  /* 分页按钮略微收窄，保证 prev/next/active 同屏 */
  .pager {
    gap: 3px;
  }

  .pager__item a,
  .pager__item span,
  .pager__prev a,
  .pager__next a {
    min-width: 30px;
    height: 30px;
  }
}

/* ==========================================================================
   ≤540px
   ========================================================================== */
@media (max-width: 540px) {
  :root {
    --gutter: 12px;
  }

  .pk-header__inner {
    gap: 8px;
    min-height: 56px;
  }

  .search_input {
    height: 34px;
    font-size: 13px;
  }

  .home_news_row {
    padding: 16px 0;
  }

  .home_news_title {
    font-size: 17px;
  }

  .home_news_title,
  .home_news_text {
    -webkit-line-clamp: 2;
  }

  .breadcrumb {
    font-size: 12px;
  }

  /* 案例字段表：单列堆叠 */
  .case-fields {
    grid-template-columns: 1fr;
  }

  .case-fields dt {
    border-bottom: 1px solid var(--c-border-brand);
  }

  .article-view__title {
    font-size: 24px;
  }

  .article-view__body {
    font-size: 15px;
  }

  .bottom_text h1 {
    font-size: 24px;
  }

  .bottom_text li {
    margin-bottom: 16px;
  }

  .footer_favarticles {
    gap: 6px 14px;
  }
}

/* ==========================================================================
   ≤478px
   ========================================================================== */
@media (max-width: 478px) {
  .pk-header__inner {
    gap: 6px;
  }

  .pk-logo__mark {
    width: 36px;
    height: 36px;
    font-size: 18px;
  }

  .pk-logo__text {
    font-size: 17px;
  }

  .pk-navbar .topmenu > li > a {
    padding: 10px 8px;
  }

  .home_news_title {
    font-size: 16px;
    margin-bottom: 6px;
  }

  .last_news_info {
    gap: 12px 16px;
  }

  .pk-carousel__title {
    font-size: 13px;
  }

  .pager {
    gap: 2px;
  }

  .pager__item a,
  .pager__item span,
  .pager__prev a,
  .pager__next a {
    min-width: 28px;
    height: 28px;
    padding: 0 6px;
    font-size: 12px;
  }

  .apps_icons a {
    width: 42px;
    height: 42px;
  }

  .footer_soc a {
    width: 30px;
    height: 30px;
  }
}

/* ==========================================================================
   ≤400px
   ========================================================================== */
@media (max-width: 400px) {
  :root {
    --gutter: 10px;
  }

  .pk-logo__mark {
    width: 32px;
    height: 32px;
    font-size: 16px;
    border-radius: 6px;
  }

  .pk-logo__text {
    font-size: 16px;
  }

  .search_input {
    height: 32px;
    padding: 0 32px 0 10px;
  }

  .search-close {
    right: 4px;
    font-size: 16px;
  }

  .pk-user__btn {
    padding: 5px 10px;
    font-size: 13px;
  }

  .pk-cat-badge {
    font-size: 11px;
    padding: 3px 8px;
  }

  .pk-modal__dialog {
    padding: 16px;
  }

  .pk-lightbox__img {
    max-width: 96%;
  }

  .case-fields dt,
  .case-fields dd {
    padding: 8px 10px;
    font-size: 13px;
  }

  .ap_ghost {
    width: 140px;
  }
}

/* ==========================================================================
   ≤360px
   ========================================================================== */
@media (max-width: 360px) {
  body {
    font-size: 14px;
  }

  .pk-header__inner {
    gap: 4px;
  }

  .pk-logo__mark {
    width: 30px;
    height: 30px;
    font-size: 14px;
  }

  .pk-logo__text {
    font-size: 15px;
  }

  .home_news_title {
    font-size: 15px;
  }

  .period-tabs {
    gap: 6px;
  }

  .btn-sm {
    padding: 5px 8px;
    font-size: 12px;
  }

  .pager__item a,
  .pager__item span,
  .pager__prev a,
  .pager__next a {
    min-width: 26px;
    height: 26px;
    padding: 0 5px;
  }

  .ap_ghost {
    width: 120px;
    right: 6px;
    bottom: 6px;
  }
}

/* ==========================================================================
   ≥1300px —— 大桌面：容器与长文区留白微调
   ========================================================================== */
@media (min-width: 1300px) {
  .container {
    width: var(--container-lg); /* 1170px */
  }

  .bottom_text__inner {
    max-width: 900px;
  }

  .article-view__body {
    max-width: 900px;
  }
}

/* ==========================================================================
   ≥2150px —— 超宽屏：容器加宽、长文更宽松
   ========================================================================== */
@media (min-width: 2150px) {
  .container {
    width: 1320px;
  }

  .bottom_text__inner {
    max-width: 1000px;
  }

  .article-view__body {
    max-width: 1000px;
  }
}
