.wedding .invitation-map { padding: clamp(32px, 7vw, 80px) 16px; color: var(--design-ink, #183931); background: var(--design-paper, #f4f8f5); }
.wedding .invitation-map-inner { max-width: 640px; margin: 0 auto; padding: clamp(16px, 4vw, 32px); background: #fff; color: #19342e; border: 1px solid #d8e4de; border-radius: 14px; text-align: center; overflow-wrap: anywhere; }
.wedding .invitation-map h2 { color: #19342e; font-size: clamp(24px, 5vw, 38px); line-height: 1.15; margin: 0; }
.wedding .invitation-map p { color: #38544c; margin: 10px 0; }
.wedding .invitation-map-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 18px; }
.wedding .invitation-map-actions a {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 42px;
  padding: 8px 14px; border: 1px solid #c3d8cf; border-radius: 7px; color: #165947;
  background: #fff; text-decoration: none; font-weight: 650;
}
.wedding .invitation-map-actions svg { width: 18px; height: 18px; flex: none; }
.wedding .invitation-map-preview { margin-top: 16px; }
.wedding .invitation-map-preview summary { display: list-item; cursor: pointer; color: #165947; }
.wedding .invitation-map-preview iframe { display: block; margin: 12px 0 0; width: 100%; height: 280px; border: 0; border-radius: 8px; }
.wedding .invitation-footer-gap { height: clamp(32px, 5vw, 64px); }
.album-guest-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 124px), 1fr)); gap: 12px; margin: 20px 0 0; padding: 0; list-style: none; }
.album-guest-cards li { min-width: 0; }
.album-guest-cards a { display: block; height: 100%; overflow: hidden; border: 1px solid #c3d8cf; border-radius: 10px; background: #fff; color: #165947; text-align: start; text-decoration: none; }
.album-guest-cards a:hover { border-color: #16725d; background: #f1f8f4; }
.album-guest-cards a:focus-visible { outline: 2px solid #16725d; outline-offset: 2px; }
.album-guest-cards strong { display: block; padding: 10px 12px; line-height: 1.25; overflow-wrap: anywhere; }
.album-guest-cover { display: grid; place-items: center; aspect-ratio: 3 / 2; overflow: hidden; background: #e6f2ea; }
.album-guest-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.album-guest-cover svg { width: 32px; height: 32px; }
