.gift-row { margin-top: 55px; }
.gift-card { background: #fff8f3; border: 1px solid #f1d9ca; border-radius: 12px; box-shadow: 0 12px 35px rgba(73, 44, 35, .08); padding: 38px; text-align: center; }
.gift-card__eyebrow, .wedding-day__eyebrow { color: #b86e4d; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.gift-card h3 { color: #553a31; font-size: 28px; margin: 12px 0; }
.gift-card p { color: #725d55; line-height: 1.7; }
.gift-card__iban { background: #fff; border-radius: 8px; margin: 23px auto 13px; max-width: 510px; padding: 14px; }
.gift-card__iban span { display: block; color: #ad7a67; font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.gift-card__iban strong { color: #49342d; display: block; font-family: Arial, Helvetica, sans-serif; font-size: clamp(16px, 2.2vw, 19px); font-weight: 700; letter-spacing: .025em; line-height: 1.45; margin-top: 4px; overflow-wrap: anywhere; }
.gift-card__holder { font-size: 14px; }
.gift-card__copy, .wedding-day__upload { background: #b86e4d; border: 0; border-radius: 999px; color: #fff; display: inline-block; font-weight: 700; padding: 12px 25px; transition: background .2s ease, transform .2s ease; }
.gift-card__copy:hover, .gift-card__copy:focus, .wedding-day__upload:hover, .wedding-day__upload:focus { background: #925338; color: #fff; transform: translateY(-2px); }
.gift-card__feedback { color: #4f7a4c !important; font-size: 14px; margin: 12px 0 0; }

.wedding-day { background: #fff6ef; min-height: 80vh; overflow: hidden; }
.wedding-day__hero { background: linear-gradient(135deg, #fff8f3 0%, #fbe4d7 100%); min-height: 80vh; padding: 110px 24px 90px; position: relative; text-align: center; }
.wedding-day__content { margin: 0 auto; max-width: 720px; position: relative; z-index: 1; }
.wedding-day h1 { color: #553a31; font-family: "Playfair Display", serif; font-size: clamp(38px, 6vw, 64px); margin: 14px 0; }
.wedding-day__intro { color: #725d55; font-size: 18px; line-height: 1.7; margin: 0 auto; max-width: 620px; }
.wedding-day__flowers { opacity: .55; pointer-events: none; position: absolute; width: min(380px, 44vw); }
.wedding-day__flowers--top { left: -60px; top: -20px; }
.wedding-day__flowers--bottom { bottom: -30px; right: -70px; }
.wedding-day__before, .wedding-day__program, .wedding-day__photos { background: rgba(255, 255, 255, .8); border-radius: 16px; box-shadow: 0 12px 35px rgba(73, 44, 35, .09); margin-top: 35px; padding: 28px; }
.wedding-day h2 { color: #553a31; font-size: 25px; margin-bottom: 18px; }
.wedding-day__program ol { list-style: none; margin: 0; padding: 0; text-align: left; }
.wedding-day__program li { align-items: center; border-top: 1px solid #efd8ca; color: #715950; display: flex; gap: 18px; padding: 15px 0; }
.wedding-day__program li:last-child { border-bottom: 1px solid #efd8ca; }
.wedding-day__program time { color: #b86e4d; font-size: 21px; font-weight: 700; min-width: 56px; }
.wedding-day__info-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); text-align: left; }
.wedding-day__info-grid > div { border: 1px solid #efd8ca; border-radius: 10px; padding: 20px; }
.wedding-day__info-grid h3 { color: #553a31; font-size: 20px; margin: 7px 0; }
.wedding-day__info-grid p { color: #725d55; font-size: 15px; line-height: 1.6; margin-bottom: 12px; }
.wedding-day__info-grid a { color: #b86e4d; font-size: 14px; font-weight: 700; }
.wedding-day__info-icon { color: #b86e4d; font-size: 24px; }
.wedding-day__updates { color: #725d55; font-size: 15px; line-height: 1.6; margin: 22px 0 0; }
.wedding-day__photos p { color: #725d55; line-height: 1.6; }
.wedding-day__qr { align-items: center; display: flex; flex-direction: column; font-size: 13px; gap: 10px; margin-top: 27px; }
.wedding-day__qr img { background: #fff; border-radius: 8px; height: 170px; padding: 8px; width: 170px; }
.wedding-day-welcome { background: #fff6ef; inset: 0; position: fixed; z-index: 10000; }
.wedding-day-welcome__frame { border: 0; height: 100%; width: 100%; }
.wedding-day-welcome__close { align-items: center; background: #553a31; border: 0; border-radius: 50%; color: #fff; cursor: pointer; display: flex; font-size: 27px; height: 42px; justify-content: center; line-height: 1; position: absolute; right: 20px; top: 20px; width: 42px; z-index: 1; }
.wedding-day-welcome-open { overflow: hidden; }
.wedding-day-return { background: #553a31; border: 2px solid #fff; border-radius: 999px; box-shadow: 0 8px 24px rgba(73, 44, 35, .28); color: #fff; cursor: pointer; font-size: 14px; font-weight: 700; left: 50%; padding: 13px 19px; position: fixed; top: 17px; transform: translateX(-50%); transition: transform .2s ease, background .2s ease; z-index: 9999; }
.wedding-day-return:hover, .wedding-day-return:focus { background: #b86e4d; outline: none; transform: translate(-50%, -2px); }
.wedding-day-return span { margin-right: 5px; }
.wedding-day-embedded header, .wedding-day-embedded .floating-rsvp, .wedding-day-embedded footer { display: none; }
.wedding-day-embedded .wedding-day, .wedding-day-embedded .wedding-day__hero { min-height: 100vh; }
@media (max-width: 575px) { .gift-card { padding: 28px 20px; } .wedding-day__hero { padding: 90px 17px 70px; } .wedding-day__before, .wedding-day__program, .wedding-day__photos { padding: 23px 18px; } .wedding-day__info-grid { grid-template-columns: 1fr; } .wedding-day__program li { align-items: flex-start; flex-direction: column; gap: 2px; } .wedding-day-return { top: 10px; white-space: nowrap; } }
