/* ============================================
   开元棋牌 — 响应式样式
   kp-responsive.css
   ============================================ */

/* === Tablet (768px - 1023px) === */
@media (max-width: 1023px) {
  .kp-books-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .kp-artifacts-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .kp-masters-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .kp-articles-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .kp-footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }

  .kp-trust-inner {
    gap: 30px;
  }

  .kp-fupan-layout {
    flex-direction: column;
  }

  .kp-fupan-board-wrapper {
    max-width: 100%;
  }

  .kp-two-col {
    flex-direction: column;
  }
}

/* === Mobile (< 768px) === */
@media (max-width: 767px) {
  html {
    font-size: 15px;
  }

  h1 { font-size: 1.8rem; }
  h2 { font-size: 1.4rem; }

  /* Navigation */
  .kp-nav-inner {
    height: 60px;
  }

  .kp-nav-menu {
    display: none;
    position: absolute;
    top: 60px;
    left: 0;
    right: 0;
    background: var(--kp-color-nav-bg);
    flex-direction: column;
    padding: 10px 0;
    border-top: 1px solid rgba(228,180,103,0.3);
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  }

  .kp-nav-menu.kp-menu-open {
    display: flex;
  }

  .kp-nav-menu li a {
    padding: 12px 20px;
    font-size: 0.95rem;
  }

  .kp-nav-cta {
    display: none;
  }

  .kp-hamburger {
    display: flex;
  }

  /* Hero */
  .kp-hero {
    height: 60vh;
    min-height: 400px;
  }

  .kp-hero-content {
    padding: 20px;
  }

  .kp-hero-content h1 {
    font-size: 1.8rem;
    letter-spacing: 2px;
  }

  .kp-hero-content p {
    font-size: 0.9rem;
  }

  /* Weekly Game */
  .kp-weekly-game-inner {
    flex-direction: column;
  }

  /* Grids */
  .kp-books-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }

  .kp-masters-grid {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin: 0 auto;
  }

  .kp-articles-grid {
    grid-template-columns: 1fr;
  }

  .kp-artifacts-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }

  /* Trust */
  .kp-trust-inner {
    flex-direction: column;
    gap: 30px;
  }

  /* Footer */
  .kp-footer-inner {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  /* Section */
  .kp-section {
    padding: 40px 0;
  }

  .kp-section-title h2::before,
  .kp-section-title h2::after {
    width: 30px;
  }

  /* Page Banner */
  .kp-page-banner {
    height: 200px;
  }

  .kp-page-banner-content h1 {
    font-size: 1.6rem;
  }

  /* Fupan */
  .kp-fupan-layout {
    flex-direction: column;
  }

  .kp-fupan-controls {
    justify-content: center;
  }

  /* Scroll Top */
  .kp-scroll-top {
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
  }
}

/* === Small Mobile (< 480px) === */
@media (max-width: 479px) {
  .kp-books-grid {
    grid-template-columns: 1fr;
    max-width: 300px;
    margin: 0 auto;
  }

  .kp-artifacts-grid {
    grid-template-columns: 1fr;
    max-width: 300px;
    margin: 0 auto;
  }

  .kp-hero-content h1 {
    font-size: 1.5rem;
  }

  .kp-btn-seal {
    padding: 10px 24px;
    font-size: 0.9rem;
  }
}
