.trip-announcement { box-sizing:border-box; width:min(620px,calc(100% - 32px)); max-height:calc(100dvh - 40px); overflow:auto; padding:48px 36px 28px; border:1px solid #ff2f92; border-radius:20px; background:#101015; color:#fff; text-align:center; box-shadow:0 24px 100px #0008; font-family:'DM Sans',sans-serif; }
.trip-announcement::backdrop { background:rgb(0 0 0 / .65); }
.announcement-close { position:absolute; right:14px; top:10px; width:44px; height:44px; border:0; background:transparent; color:white; font-size:32px; cursor:pointer; }
.announcement-eyebrow { color:#ff7cb9; letter-spacing:.16em; font-size:11px; font-weight:700; margin:0 0 20px; }
.trip-announcement h2 { font-family:'Playfair Display',serif; font-size:44px; line-height:1.12; margin:0 0 22px; }
.trip-announcement h2 em { color:#ff2f92; }
#announcement-copy { color:#e7e3e8; font-size:16px; line-height:1.6; margin:0 0 22px; }
.announcement-details { font-size:14px; line-height:1.8; color:#fff; margin:0 0 26px; }
.announcement-book { display:block; padding:16px 12px; border-radius:8px; background:#ff2f92; color:#0b0b0e; text-decoration:none; font-size:15px; font-weight:700; }
.announcement-later { display:block; margin:16px auto 0; border:0; background:transparent; color:#e7e3e8; padding:10px; text-decoration:underline; cursor:pointer; font:inherit; font-size:13px; }
.trip-announcement :focus-visible { outline:3px solid white; outline-offset:4px; }
@media(max-width:480px) { .trip-announcement { padding:48px 24px 24px; } .trip-announcement h2 { font-size:36px; } }

.announcement-form { background:white; border-radius:12px; overflow:hidden; text-align:left; }
