/* ===== 响应式样式 ===== */

/* Tablet (≤768px) */
@media screen and (max-width: 768px) {
  .hero-names {
    font-size: 3rem;
  }

  .hero-frame {
    width: 85%;
    height: 85%;
    top: 7.5%;
    left: 7.5%;
  }

  .hero-subtitle-zh {
    font-size: 1.2rem;
  }

  .hero-date {
    font-size: 1.1rem;
  }

  .section-title {
    font-size: 2rem;
  }

  .section-subtitle {
    font-size: 0.8rem;
  }

  .countdown-section {
    padding: 3rem 1.5rem;
  }

  .countdown-grid {
    gap: 0.6rem;
  }

  .countdown-item {
    min-width: 72px;
    padding: 1rem 1.3rem;
  }

  .countdown-num {
    font-size: 2.2rem;
  }

  .countdown-sep {
    font-size: 1.6rem;
  }

  .couple-grid {
    gap: 1.5rem;
  }

  .couple-card {
    min-width: 220px;
    padding: 2rem 1.5rem;
  }

  .details-grid {
    gap: 1.5rem;
  }

  .detail-card {
    min-width: 260px;
  }

  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 180px;
  }

  .gallery-item-lg {
    grid-row: span 2;
  }

  .rsvp-external-btn {
    padding: 1rem 2.5rem;
    font-size: 1rem;
    letter-spacing: 0.1em;
  }

  .ring-1 { width: 200px; height: 200px; }
  .ring-2 { width: 150px; height: 150px; }
  .ring-3 { width: 100px; height: 100px; }
}

/* Mobile (≤480px) */
@media screen and (max-width: 480px) {
  html {
    font-size: 14px;
  }

  .hero {
    min-height: 520px;
  }

  .hero-names {
    font-size: 2.2rem;
  }

  .name-amp svg {
    width: 28px;
    height: 28px;
  }

  .hero-subtitle-zh {
    font-size: 1rem;
    letter-spacing: 0.3em;
  }

  .hero-date {
    font-size: 0.95rem;
  }

  .hero-btn {
    padding: 0.75rem 2rem;
    font-size: 0.9rem;
  }

  .hero-frame {
    display: none;
  }

  .section-title {
    font-size: 1.8rem;
  }

  .section-subtitle {
    font-size: 0.75rem;
    margin-bottom: 2rem;
  }

  .section-separator {
    padding: 1.5rem 0;
  }

  .countdown-section {
    padding: 2.5rem 1rem;
  }

  .countdown-grid {
    gap: 0.3rem;
  }

  .countdown-item {
    min-width: 60px;
    padding: 0.8rem 0.8rem;
  }

  .countdown-num {
    font-size: 1.6rem;
  }

  .countdown-label {
    font-size: 0.65rem;
  }

  .countdown-sep {
    font-size: 1.2rem;
    margin: 0;
  }

  .countdown-date-text {
    font-size: 0.8rem;
  }

  .couple-grid {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }

  .couple-heart-center {
    order: -1;
  }

  .couple-card {
    min-width: unset;
    max-width: 100%;
    width: 100%;
    padding: 2rem 1.5rem;
  }

  .love-letter {
    max-width: 100%;
  }

  .love-letter-text {
    font-size: 0.95rem;
  }

  .detail-card {
    min-width: unset;
    max-width: 100%;
    width: 100%;
    padding: 2rem 1.5rem;
  }

  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 150px;
    gap: 0.5rem;
  }

  .gallery-placeholder {
    font-size: 0.8rem;
  }

  .gallery-overlay-text {
    font-size: 0.9rem;
  }

  .rsvp-external-btn {
    padding: 0.9rem 2rem;
    font-size: 0.9rem;
    max-width: 100%;
    display: flex;
    width: 100%;
  }

  .footer-names {
    font-size: 1.8rem;
  }

  .footer-quote {
    font-size: 1rem;
  }

  .back-to-top {
    bottom: 1rem;
    right: 1rem;
    width: 36px;
    height: 36px;
  }

  .music-btn {
    top: 1rem;
    right: 1rem;
    width: 40px;
    height: 40px;
  }

  .music-icon {
    width: 18px;
    height: 18px;
  }
}
