/* A travel postcard leading to a clear, optional booking offer. */
.travel-offer{overflow:hidden;max-width:600px;margin:28px auto 36px;border:1px solid #e3ddd0;border-radius:24px;background:#fffefa;color:#294837;box-shadow:0 8px 24px #2948370a;text-align:left}
.travel-visual{position:relative;margin:0;height:210px;background:#dbded1;overflow:hidden}
.travel-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.travel-postcard-label{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;max-width:calc(100% - 32px);padding:7px 10px;border:1px solid #ffffffb3;border-radius:7px;background:#fffef5ed;color:#345c45;font-size:10px;line-height:1.4;font-weight:700;letter-spacing:.1em;box-shadow:0 2px 8px #2948370a}
.travel-visual figcaption{position:absolute;bottom:12px;left:16px;right:16px;width:fit-content;max-width:calc(100% - 32px);padding:5px 9px;border-radius:7px;background:#203c36d9;color:#fffefa;font-size:12px;line-height:1.5}
.travel-offer-content{padding:26px 28px 22px}
.travel-offer .eyebrow{color:#61705c;font-size:12px;line-height:1.5;letter-spacing:.025em}
.travel-offer h2{white-space:pre-line;font-size:30px;line-height:1.35;margin:10px 0 12px;color:#294837;letter-spacing:-.035em;text-wrap:balance}
.travel-offer .promo-intro{font-size:14px;line-height:1.75;color:#566451;margin:0 0 18px}
.travel-offer .points-offer{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:18px 0;background:#f6efdf;border:1px solid #e9dfc6;border-radius:14px}
.travel-offer .points-number{font-size:34px;line-height:1;font-weight:800;letter-spacing:-.05em;color:#426346}
.travel-offer .points-offer small{display:block;font-size:12px;line-height:1.5;color:#64705b}
.travel-offer .points-offer strong{display:block;margin-top:2px;font-size:15px;line-height:1.5;color:#294837}
.travel-offer .promo-join{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;padding:14px 18px;border:1px solid #345c45;border-radius:12px;background:#345c45;color:#fffefa;font-size:15px;font-weight:700;line-height:1.5;white-space:normal;text-align:center;box-shadow:0 3px 0 #254832}
.travel-offer .promo-join:hover{background:#254832;border-color:#254832}
.travel-offer .promo-signup-note{font-size:12px;line-height:1.65;color:#63705c;text-align:center;margin:10px 0 4px}
.travel-offer .promo-chat{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 4px;color:#345c45;background:transparent;border:0;box-shadow:none;font-size:13px;line-height:1.6;text-align:center;text-decoration:underline;text-underline-offset:4px}
.travel-offer .promo-chat svg{flex-shrink:0;width:20px;height:20px}
.travel-offer .points-note{margin:15px 0 0;padding-top:16px;border-top:1px dashed #d9dacb;color:#5d6957;font-size:12px;line-height:1.75}
.travel-offer .promo-details{display:inline-flex;align-items:center;min-height:44px;padding:10px 0;color:#345c45;font-size:12px;line-height:1.65;text-decoration:underline;text-underline-offset:4px}
.travel-offer .promo-disclosure{margin:6px 0 0;color:#63705c;font-size:12px;line-height:1.75}
.travel-offer .photo-credit{margin:12px 0 0;color:#6b725f;font-size:11px;line-height:1.6}
.travel-offer .photo-credit a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.travel-offer a:focus-visible,.travel-offer button:focus-visible{outline:3px solid #b7773e;outline-offset:4px}
.travel-benefits{max-width:620px;margin:20px auto;text-align:left}.travel-benefits>h1{font-size:34px;line-height:1.35;letter-spacing:-.04em}.travel-benefits>p{line-height:1.9;font-size:15px}.travel-steps{list-style:none;padding:0;counter-reset:step;margin:26px 0}.travel-steps li{position:relative;padding:18px 0 18px 48px;border-bottom:1px solid var(--line);counter-increment:step}.travel-steps li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:21px;color:#475e9e;font-size:13px;font-weight:700}.travel-steps h2{font-size:18px;margin:0 0 9px}.travel-steps p{font-size:14px;line-height:1.8;margin:0;color:var(--muted)}.points-terms{background:#f1eee5;border-radius:18px;padding:24px;margin:24px 0}.points-terms h2{font-size:20px;margin:0 0 12px}.points-terms p{font-size:13px;line-height:1.9}.points-terms a{font-size:13px;color:#324d91;text-underline-offset:4px}.travel-benefits>.button-row{justify-content:center}
@media(max-width:680px){.travel-offer{margin:24px 0 30px;border-radius:21px}.travel-visual{height:190px}.travel-offer-content{padding:22px 20px 20px}.travel-offer h2{font-size:26px;line-height:1.4}.travel-offer .promo-join{font-size:14px;padding:14px 12px}.travel-benefits>h1{font-size:29px}.points-terms{padding:20px}.travel-steps li{padding-left:38px}}
@media print{.travel-offer{display:none}}
