/* Mobile-only overrides — loaded after didiandjoshStyle.css */
@media (max-width: 768px) {
  .rsvp-panel-inline {
    max-height: min(72vh, 520px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-right: 2px;
  }
  .rsvp-form { gap: 10px; }
  .rsvp-input,
  .rsvp-textarea {
    font-size: 16px; /* prevent iOS zoom on focus */
    padding: 10px 12px;
  }
  .rsvp-actions {
    flex-direction: column;
    gap: 8px;
  }
  .rsvp-action-btn {
    flex: 1 1 auto;
    width: 100%;
    min-height: 44px;
  }
  .rsvp-cancel-btn {
    min-height: 40px;
    padding: 10px;
  }
  .map-venue-name .venue-sep { display: none; }
  .map-venue-name .venue-part-a,
  .map-venue-name .venue-part-b { display: block; }
  .map-venue-name .venue-part-b { margin-top: 2px; }
  #map { height: 220px; }
  .card-reception .rsvp-panel-inline {
    margin-left: -4px;
    margin-right: -4px;
  }
}

@media (max-width: 549px) {
  .rsvp-actions { flex-direction: column; }
  .rsvp-action-btn { flex: 1 1 auto; width: 100%; }
  #hp-candles {
    mix-blend-mode: screen;
  }

  body.intro-candles-in #hp-candles {
    opacity: 0.78;
  }

  .hp-c-mobile {
    filter: saturate(0.9);
  }

  .hp-c-mobile .hp-g {
    opacity: 0.82;
  }

  .hp-c-mobile .hp-w {
    box-shadow:
      inset -3px 0 7px rgba(0,0,0,0.18),
      inset  1px 0 4px rgba(255,255,255,0.08),
      inset  0 -6px 9px rgba(0,0,0,0.12);
  }

  #hp-toggle {
    right: 10px;
    bottom: 10px;
    width: 52px;
    height: 52px;
  }

  .ceremony-completed {
    z-index: 2;
  }
  .ceremony-check-wrap {
    z-index: 3;
  }
}
