/* Points de rupture responsive partagés (pages ami uniquement). */

@media (max-width: 768px) {
  .site-shell {
    padding: 0 18px;
  }

  .topbar {
    height: 70px;
  }

  .brand {
    font-size: 11px;
  }

  footer {
    padding-top: 32px;
  }

  .calendar-intro {
    display: block;
    padding: 58px 0 32px;
  }

  .intro-note {
    margin: 22px 0 0;
  }

  .calendar-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
  }

  .day-card {
    padding: 12px;
  }

  .day-label {
    left: 12px;
    bottom: 12px;
    font-size: 10px;
  }

  .day-icon {
    right: 10px;
    bottom: 8px;
  }

  .lock-icon {
    right: 12px;
    top: 10px;
  }

  .photo-view {
    margin: 16px auto 35px;
  }

  .photo-frame {
    padding: 7px;
    box-shadow: 8px 8px 0 var(--gold);
  }
}

/* Téléphone en paysage : la hauteur d'écran est la contrainte, pas la largeur. */
@media (orientation: landscape) and (max-height: 480px) {
  .topbar {
    height: 56px;
  }

  .calendar-intro {
    padding: 20px 0 16px;
  }

  .photo-view {
    margin: 16px auto;
  }

  .photo-frame img {
    max-height: 55vh;
  }

  .photo-frame-empty {
    min-height: 140px;
  }
}
