.wa-contact { position: fixed; right: max(18px,env(safe-area-inset-right)); bottom: max(18px,env(safe-area-inset-bottom)); z-index: 900; display: flex; align-items: center; gap: 8px; background: rgb(8, 124, 72); border: 2px solid rgb(255, 255, 255); border-radius: 999px; padding: 13px 17px; box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 20px; font: 600 15px / 1.2 system-ui; min-height: 54px; box-sizing: border-box; color: rgb(255, 255, 255) !important; text-decoration: none !important; }
.wa-contact svg, .trip-promo-cta svg { width: 27px; height: 27px; flex-shrink: 0; }
.wa-contact:hover { background: rgb(5, 91, 52); }
.trip-promo { padding: 0px; border: 0px; border-radius: 18px; width: min(460px, -28px + 100vw); max-height: 90dvh; overflow: auto; background: rgb(251, 248, 239); color: rgb(20, 63, 54); box-shadow: rgba(0, 0, 0, 0.333) 0px 20px 80px; }
.trip-promo:not([open]) { display: none; }
.trip-promo::backdrop { background: rgba(0, 26, 24, 0.65); }
.trip-promo-open { overflow: hidden; }
.trip-promo-close { position: absolute; right: 10px; top: 10px; border: 0px; border-radius: 50%; background: rgb(255, 255, 255); color: rgb(20, 63, 54); width: 44px; height: 44px; font: 30px / 1 system-ui; cursor: pointer; z-index: 1; box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 10px; }
.trip-promo-photo { display: block; width: 100%; height: auto; object-fit: contain; }
.trip-promo-credit { display: block; padding: 4px 20px; font: 10px / 1.3 system-ui; }
.trip-promo-copy { padding: 18px 28px 22px; text-align: center; }
.trip-promo-copy p { font: 15px / 1.5 system-ui; margin: 10px 0px; }
.trip-promo-copy .trip-promo-brand { font-size: 11px; letter-spacing: 1.5px; }
.trip-promo-copy .trip-promo-date { font-size: 13px; font-weight: 700; color: rgb(114, 90, 38); letter-spacing: 1px; }
.trip-promo-copy h2 { font: 36px / 1.1 Georgia, serif; margin: 12px 0px; }
.trip-promo-cta { display: flex; justify-content: center; align-items: center; background: rgb(8, 124, 72); border-radius: 50%; width: 56px; height: 56px; box-sizing: border-box; margin: 18px auto 12px; font: 600 16px / 1.4 system-ui; color: white !important; text-decoration: none !important; }
.trip-promo-copy small { display: block; font: 12px / 1.5 system-ui; color: rgb(86, 102, 94); }
.trip-promo-dismiss { display: block; background: transparent; border: 0px; text-decoration: underline; color: rgb(54, 88, 77); padding: 12px; margin: 4px auto 0px; cursor: pointer; font: 14px system-ui; }
.wa-contact:focus-visible, .trip-promo :focus-visible { outline: rgb(199, 156, 62) solid 3px; outline-offset: 3px; }
@media (max-width: 480px) {
  .wa-contact { padding: 12px; }
  .wa-contact span { display: none; }
  .trip-promo-copy { padding: 14px 20px; }
  .trip-promo-copy h2 { font-size: 31px; }
}
@media print {
  .wa-contact, .trip-promo { display: none !important; }
}
@media (max-width: 760px) {
  body:has(input:focus, textarea:focus, select:focus) .wa-contact { visibility: hidden; }
}
.trip-promo-poster-link { display: block; line-height: 0; }
.trip-promo-poster-link:focus-visible { outline-offset: -4px; }