﻿

    /* ── 모바일 최적화 (480px 이하) ── */
    @media (max-width: 480px) {
      /* 헤더 */
      header { padding: 12px 12px 8px; }
      header h1 { font-size: 1.6rem; letter-spacing: -0.5px; }
      header p { margin-top: 3px; font-size: 0.8rem; }
      .live-badge { margin-top: 6px; font-size: 0.65rem; padding: 2px 8px; }

      /* 최애팀 칩 - 모바일에서 숨김 */
      #favChipArea { display: none; }
      .fav-chip { display: none; }
      .quick-access-btn { display: none; }

      /* 하단 팬덤 선택 바 - 모바일에서 항상 표시 */
      .fav-bar { padding: 10px 12px; display: flex !important; }
      .fav-bar-text { font-size: 0.75rem; }
      .fav-bar-btn { padding: 8px 14px; font-size: 0.75rem; }
      .fav-bar-ad-btn { padding: 6px 10px; font-size: 0.7rem; }

      /* 배틀 카드 내 광고 버튼 숨김 (모바일) */
      #adVoteCta { display: none !important; }

      /* 주요 배너들 */
      #todayVoteCountBanner { padding: 10px; margin-bottom: 8px; font-size: 0.75rem; flex-direction: column; gap: 4px; text-align: center; }
      #todayVoteCountBanner > div { width: 100%; font-size: 0.7rem; }
      #todayVoteDisplay { font-size: 0.8rem; font-weight: 700; }

      /* 상품 배너 */
      .prize-banner { padding: 16px 12px; margin-top: 12px; }
      .prize-amount { font-size: 1.4rem; margin-bottom: 4px; }
      .prize-label { font-size: 0.68rem; }

      /* 전투 카드 */
      .battle-card { margin-top: 10px; }
      .battle-header { padding: 12px; }
      .countdown { font-size: 0.95rem; margin-top: 3px; }
      .total-votes-label { font-size: 0.7rem; margin-top: 2px; }

      /* 투표 가이드 */
      .vote-guide-banner { padding: 10px 12px; margin-bottom: 8px; border-radius: 12px; }
      .vote-guide-title { font-size: 0.75rem; margin-bottom: 4px; }
      .vote-guide-sub { font-size: 0.68rem; line-height: 1.4; }

      /* 활동 피드 */
      .activity-feed { padding: 6px 8px; margin-bottom: 6px; max-height: 80px; }
      .activity-item { font-size: 0.7rem; padding: 2px 0; }
      .activity-emoji { font-size: 0.85rem; }

      /* 랭킹 섹션 */
      .section-title { font-size: 0.75rem; margin: 10px 0 6px; letter-spacing: 0.5px; }

      /* 검색 입력창 */
      /* 랭킹 아이템 */
      .rank-item {
        padding: 12px;
        gap: 10px;
        border-radius: 10px;
        margin-bottom: 6px;
      }
      .rank-emoji { font-size: 1.4rem; }
      .rank-name { font-size: 0.88rem; font-weight: 700; }
      .rank-fandom { display: none; }
      .rank-sub { font-size: 0.65rem; }
      .rank-votes { font-size: 0.85rem; }
      .rank-num { font-size: 0.95rem; min-width: 26px; }

      /* 투표 버튼 */
      .vote-rank-btn {
        padding: 12px 12px;
        font-size: 0.75rem;
        font-weight: 700;
        border-radius: 10px;
        min-width: 85px;
        white-space: normal;
        line-height: 1.2;
      }
      .vote-rank-btn:hover:not(:disabled) { transform: scale(1.06); }

      /* 퍼센트 바 */
      .rank-pct-bar-wrap { height: 6px; margin-top: 4px; }
      .rank-pct-label { font-size: 0.62rem; }
      .rank-vote-meta { gap: 4px; }

      /* 1위까지 거리 */
      .rank-info > div:last-child { font-size: 0.68rem; color: var(--primary); margin-top: 4px; }

      /* 댓글 섹션 */
      .comment-input-row {
        flex-direction: column;
        gap: 6px;
      }
      .comment-group-sel {
        padding: 11px 10px;
        font-size: 0.75rem;
        flex: none;
        width: 100%;
      }
      .comment-input {
        padding: 10px 10px;
        font-size: 0.78rem;
      }
      .comment-submit {
        padding: 10px 14px;
        font-size: 0.75rem;
        width: 100%;
      }
      .comment-item {
        padding: 10px;
        gap: 6px;
        border-radius: 8px;
      }
      .comment-text { font-size: 0.78rem; }
      .comment-meta { font-size: 0.62rem; }
      .comment-badge { font-size: 0.58rem; padding: 2px 5px; }

      /* 빠른 접근 버튼 */
      .quick-access-btn {
        margin-top: 6px;
        padding: 8px 14px;
        font-size: 0.75rem;
      }
      .quick-access-emoji { font-size: 1rem; }

      /* 모달 */
      .ad-modal-box { padding: 20px 16px 16px; }
      .ad-modal-title { font-size: 0.95rem; }
      .ad-modal-desc { font-size: 0.72rem; margin-bottom: 16px; }
      .ad-countdown-wrap { margin: 0 auto 16px; }
      .ad-skip-btn { padding: 12px; font-size: 0.85rem; }

      /* 최애 피커 */
      .fav-picker-grid { grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); }
      .fp-emoji { font-size: 1.2rem; }
      .fp-name { font-size: 0.62rem; }

      /* 여백 */
      main { padding: 0 12px 48px; }
      .fav-bar { padding: 10px 12px; }
    }

    /* ── 초소형 폰 (320px 이하) ── */
    @media (max-width: 320px) {
      header h1 { font-size: 1.5rem; }
      .vote-rank-btn { padding: 10px 8px; font-size: 0.7rem; min-width: 70px; }
      .rank-item { padding: 10px 8px; gap: 8px; }
      main { padding: 0 8px 48px; }
    }
