/**
 * =========================================================
 * 大华导航 Dahua Nav
 * 默认模板响应式样式：public/themes/default/assets/css/responsive.css
 * =========================================================
 */

/* ---------------------------------------------------------
   1. 中等屏幕：平板 / 小笔记本
--------------------------------------------------------- */

@media (max-width: 1200px) {
  :root {
    --max-width: 100%;
  }

  .site-header {
    margin-left: 12px;
    margin-right: 12px;
  }

  .carousel,
  .section,
  .site-footer {
    padding-left: 12px;
    padding-right: 12px;
  }

  .slide {
    max-height: 340px;
  }
}

@media (max-width: 1024px) {
  .site-header {
    border-radius: 18px;
  }

  .nav {
    min-height: 58px;
    padding: 9px 14px;
  }

  .brand-logo {
    height: 36px;
    max-width: 160px;
  }

  .brand-text {
    font-size: 17px;
  }

  .nav-main-btn {
    min-width: 104px;
    padding: 9px 16px;
    font-size: 14px;
  }

  .carousel-wrap {
    border-radius: 22px;
  }

  .slide {
    height: 38vw;
    min-height: 200px;
    max-height: 320px;
  }

  .car-btn {
    width: 42px;
    height: 42px;
  }

  .car-btn span {
    font-size: 28px;
  }

  .icon-item {
    width: 44px;
    height: 44px;
  }

  .card-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .card {
    min-height: 76px;
  }

  .avatar {
    width: 40px;
    height: 40px;
  }

  .title {
    font-size: 10.5px;
  }
}

/* ---------------------------------------------------------
   2. 手机端基础布局
--------------------------------------------------------- */

@media (max-width: 768px) {
  body {
    background:
      radial-gradient(680px 360px at -18% -8%, rgba(56, 189, 248, 0.24), transparent 60%),
      radial-gradient(540px 320px at 120% 0%, rgba(37, 99, 235, 0.2), transparent 62%),
      linear-gradient(160deg, #eef4ff 0%, #edf3ff 100%);
  }

  .top-bg {
    top: 50px;
    height: 240px;
    opacity: 0.75;
  }

  .fixed-area {
    padding-bottom: 2px;
  }

  .site-header {
    margin: 0 auto 4px;
    border-radius: 0 0 16px 16px;
    border-left: none;
    border-right: none;
  }

  .nav {
    min-height: 48px;
    padding: 8px 12px;
    gap: 10px;
  }

  .brand {
    gap: 8px;
    min-width: 0;
  }

  .brand-logo {
    height: 28px;
    max-width: 120px;
  }

  .brand-text {
    font-size: 15px;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .nav-main-btn {
    min-width: 86px;
    padding: 7px 10px;
    border-radius: 10px;
    font-size: 12px;
    letter-spacing: 0.2px;
  }

  .carousel {
    padding: 0 10px;
    margin: 2px auto;
  }

  .carousel-wrap {
    border-radius: 18px;
    box-shadow: 0 14px 28px rgba(30, 78, 158, 0.18);
  }

  .slide {
    height: 44vw;
    min-height: 156px;
    max-height: 220px;
  }

  .slide img {
    opacity: 0.96;
  }

  .car-btn {
    width: 34px;
    height: 34px;
  }

  .car-btn span {
    font-size: 24px;
  }

  .car-prev {
    left: 8px;
  }

  .car-next {
    right: 8px;
  }

  .dots {
    bottom: 8px;
    gap: 6px;
  }

  .dot {
    width: 8px;
    height: 8px;
  }

  .dot.active {
    width: 18px;
  }

  .section {
    padding-left: 10px;
    padding-right: 10px;
  }

  .apps-section {
    margin-top: 2px;
  }

  .marquee-wrap {
    min-height: 28px;
    border-radius: 10px;
    padding: 2px 10px;
  }

  .marquee {
    width: auto;
    justify-content: flex-start;
    padding-left: 6px;
    animation-duration: 12s;
  }

  .marquee-text {
    font-size: 11px;
    white-space: nowrap;
  }

  .icon-ticker {
    margin-top: 4px;
    margin-bottom: 4px;
    padding: 6px 8px;
    border-radius: 12px;
  }

  .icon-track {
    gap: 9px;
  }

  .icon-item {
    width: 40px;
    height: 40px;
  }

  .cards-scroll {
    padding-bottom: calc(10px + var(--safe-bottom));
  }

  .section-head {
    margin: 5px 0 8px;
  }

  .category-tabs {
    width: 100%;
    justify-content: flex-start;
    padding: 5px;
    border-radius: 14px;
  }

  .tab-btn {
    padding: 6px 11px;
    border-radius: 10px;
    font-size: 12px;
  }

  .card-grid {
    gap: 10px;
    margin-top: 4px;
  }

  .card-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    padding: 7px 8px;
    border-radius: 16px;
  }

  .card {
    min-height: 72px;
    padding: 6px 4px;
    gap: 4px;
    border-radius: 12px;
  }

  .avatar {
    width: 38px;
    height: 38px;
    border-radius: 11px;
  }

  .title {
    font-size: 10px;
    line-height: 1.18;
  }

  .rec-badge {
    width: 33px;
    height: 33px;
  }

  .rec-badge-text {
    top: 12px;
    font-size: 9px;
  }

  .site-footer {
    padding-left: 10px;
    padding-right: 10px;
    margin-top: 6px;
    margin-bottom: 12px;
  }

  .brand-footer {
    gap: 5px;
    padding: 6px 0;
  }

  .footer-logo {
    height: 24px;
    max-width: 120px;
  }

  .footer-name {
    font-size: 12px;
  }

  .footer-desc,
  .footer-copy {
    font-size: 10.5px;
  }

  .page-loading .loading-card {
    padding: 24px 20px;
    border-radius: 22px;
  }

  .loading-logo {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    font-size: 27px;
  }
}

/* ---------------------------------------------------------
   3. 小手机优化
--------------------------------------------------------- */

@media (max-width: 480px) {
  .brand-logo {
    max-width: 105px;
  }

  .brand-text {
    max-width: 96px;
    font-size: 14px;
  }

  .nav-main-btn {
    min-width: 78px;
    padding: 6px 9px;
    font-size: 11.5px;
  }

  .slide {
    min-height: 150px;
  }

  .icon-item {
    width: 38px;
    height: 38px;
  }

  .card-row {
    gap: 5px;
    padding: 6px 7px;
  }

  .card {
    min-height: 69px;
    padding: 5px 3px;
  }

  .avatar {
    width: 36px;
    height: 36px;
  }

  .title {
    font-size: 9.8px;
  }

  .tab-btn {
    padding: 6px 10px;
    font-size: 11.5px;
  }
}

@media (max-width: 420px) {
  .carousel {
    padding-left: 8px;
    padding-right: 8px;
  }

  .section {
    padding-left: 8px;
    padding-right: 8px;
  }

  .card-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    padding: 6px;
  }

  .card {
    min-height: 66px;
    padding: 5px 3px;
    border-radius: 11px;
  }

  .avatar {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }

  .title {
    font-size: 9.5px;
  }

  .marquee-text {
    font-size: 10.5px;
  }
}

/* ---------------------------------------------------------
   4. 超小屏优化
--------------------------------------------------------- */

@media (max-width: 360px) {
  .nav {
    padding-left: 8px;
    padding-right: 8px;
  }

  .brand-logo {
    max-width: 92px;
  }

  .brand-text {
    max-width: 82px;
    font-size: 13px;
  }

  .nav-main-btn {
    min-width: 70px;
    padding: 6px 8px;
    font-size: 11px;
  }

  .slide {
    min-height: 136px;
  }

  .icon-track {
    gap: 8px;
  }

  .icon-item {
    width: 36px;
    height: 36px;
  }

  .card-row {
    gap: 4px;
    padding: 5px;
  }

  .card {
    min-height: 62px;
    padding: 4px 2px;
    gap: 3px;
  }

  .avatar {
    width: 31px;
    height: 31px;
  }

  .title {
    font-size: 9px;
  }

  .rec-badge {
    width: 30px;
    height: 30px;
  }

  .rec-badge-text {
    top: 11px;
    font-size: 8px;
  }
}

/* ---------------------------------------------------------
   5. 横屏手机优化
--------------------------------------------------------- */

@media (max-width: 900px) and (orientation: landscape) {
  .site-header {
    margin-bottom: 2px;
  }

  .nav {
    min-height: 44px;
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .brand-logo {
    height: 26px;
  }

  .nav-main-btn {
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .slide {
    height: 30vw;
    min-height: 130px;
    max-height: 180px;
  }

  .marquee-wrap {
    min-height: 26px;
  }

  .icon-ticker {
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .icon-item {
    width: 36px;
    height: 36px;
  }

  .card {
    min-height: 60px;
  }

  .avatar {
    width: 30px;
    height: 30px;
  }
}

/* ---------------------------------------------------------
   6. 大屏增强：可选 6/8 列布局
--------------------------------------------------------- */

@media (min-width: 1280px) {
  .site-header,
  .carousel,
  .section,
  .site-footer {
    max-width: 1240px;
  }

  .slide {
    max-height: 400px;
  }
}

/*
 * 默认保持 4 列，延续你原来的导航站密集风格。
 * 如果后面想电脑端变 6 列，把下面注释打开即可。
 */
/*
@media (min-width: 1280px) {
  .card-row {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
*/

/* ---------------------------------------------------------
   7. 触屏设备优化
--------------------------------------------------------- */

@media (hover: none) {
  .card:hover,
  .icon-item:hover,
  .nav-main-btn:hover,
  .car-btn:hover,
  .tab-btn:hover {
    transform: none;
  }

  .card:active {
    transform: scale(0.98);
  }

  .icon-item:active,
  .nav-main-btn:active,
  .tab-btn:active {
    transform: scale(0.96);
  }
}

/* ---------------------------------------------------------
   8. 深色系统偏好，先保持浅色模板
--------------------------------------------------------- */

@media (prefers-color-scheme: dark) {
  /*
   * default 模板固定浅色。
   * 后面 dark 模板单独写，不在这里强行切暗色。
   */
}