.page-header { background: var(--bg); padding: 80px 24px 40px; text-align: center; }
.page-header .block-label { color: var(--gold-deep); margin-bottom: 14px; }
.page-header .block-title { font-size: 42px; color: var(--text); margin: 0 0 20px 0; letter-spacing: 1px; }
.page-header .block-decor { font-size: 16px; margin-bottom: 0; }

.events { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.event-card { text-align: center; background: var(--bg-card); padding: 32px; border: 1px solid var(--border); }
.event-icon { color: var(--gold-deep); font-size: 32px; margin-bottom: 12px; }
.event-title { font-family: var(--serif-display); font-size: 30px; color: var(--text); font-weight: 500; margin: 0 0 10px; letter-spacing: 1px; }
.event-time { color: var(--gold-deep); font-size: 19px; font-style: italic; margin-bottom: 4px; }
.event-place { font-size: 17px; }
.event-address { font-size: 14px; color: var(--muted); }
.event-map { margin-top: 18px; background: linear-gradient(135deg, #d4dcc4, #b8c5a3); overflow: hidden; }
.event-map iframe { width: 100%; height: 240px; border: 0; display: block; }
.event-map-button { display: flex; align-items: center; justify-content: center; width: 100%; height: 240px; border: 0; background: transparent; color: var(--text); font-family: var(--sans); font-size: 13px; letter-spacing: 3px; text-transform: uppercase; cursor: pointer; }
.event-map-button:hover { background: rgba(255, 255, 255, 0.25); }
.event-link { display: inline-block; margin-top: 12px; color: var(--gold-deep); font-size: 12px; letter-spacing: 2px; text-transform: uppercase; border-bottom: 1px solid var(--gold-deep); padding-bottom: 2px; font-family: var(--sans); }

@media (max-width: 768px) {
    .page-header { padding: 50px 20px 30px; }
    .page-header .block-title { font-size: 32px; }
}

@media (max-width: 700px) {
    .events { grid-template-columns: 1fr; gap: 30px; }
    .event-title { font-size: 24px; }
    .event-time { font-size: 17px; }
    .event-link { font-size: 13px; }
}

.iban-gift { margin-top: 40px; text-align: center; }
.iban-intro { color: var(--gold-deep); margin: 0 0 28px; font-style: italic; font-size: 20px; font-family: var(--serif-romantic); }
.iban-box { max-width: 480px; margin: 0 auto; border: 2px solid var(--gold); padding: 32px; text-align: center; background: var(--bg-card); position: relative; }
.iban-box::before { content: '❦'; position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--bg-card); color: var(--gold); padding: 0 14px; font-size: 18px; }
.iban-box .iban-label { color: var(--gold-deep); margin-bottom: 14px; }
.iban-code { font-family: 'Courier New', monospace; font-size: 17px; letter-spacing: 2px; margin-bottom: 8px; color: var(--text); font-weight: 500; overflow-wrap: anywhere; }
.iban-holder { font-size: 14px; color: var(--muted); margin-bottom: 18px; font-style: italic; }
.iban-copy-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; background: var(--gold-deep); color: var(--bg); border: none; padding: 10px 24px; font-size: 11px; text-transform: uppercase; letter-spacing: 3px; cursor: pointer; font-family: var(--sans); }
.iban-copy-btn:hover { opacity: 0.9; }

@media (max-width: 700px) {
    .iban-intro { font-size: 17px; }
    .iban-copy-btn { font-size: 12px; }
}

@media (max-width: 480px) {
    .iban-code { font-size: 14px; letter-spacing: 1px; }
    .iban-box { padding: 24px 16px; }
}

.prose { max-width: 540px; margin: 0 auto; font-size: 17px; line-height: 1.8; color: var(--text); overflow-wrap: break-word; }
.prose > :first-child { margin-top: 0; }
.prose h2, .prose h3, .prose h4, .prose h5, .prose h6 { font-family: var(--serif-display); font-weight: 500; color: var(--text); letter-spacing: 0.5px; margin: 36px 0 10px; }
.prose h2 { font-size: 26px; }
.prose h3 { font-size: 22px; }
.prose h4, .prose h5, .prose h6 { font-size: 19px; }
.prose p { margin: 0 0 14px; }
.prose ul { list-style: disc; padding-left: 22px; margin: 0 0 14px; }
.prose ol { list-style: decimal; padding-left: 22px; margin: 0 0 14px; }
.prose li { margin-bottom: 6px; }
.prose a { text-decoration: underline; }
