/* Scoped additions: existing Select buttons and booking controls keep their current design. */
.ys949-coupons { scroll-margin-top:100px; }
.ys949-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:20px; }
.ys949-eyebrow { display:block; color:#087653; font-size:.74rem; font-weight:750; letter-spacing:.065em; text-transform:uppercase; margin-bottom:6px; }
.ys949-heading h2 { margin:0 0 6px; }
.ys949-heading p { margin:0; color:#64748b; line-height:1.6; font-size:.9rem; }
.ys949-count { padding:6px 10px; border-radius:20px; background:#edf7f2; color:#116844; font-size:.8rem; white-space:nowrap; }
.ys949-offer-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:14px; }
.ys949-offer { min-width:0; display:flex; flex-direction:column; padding:20px; border:1px solid #dce5ed; border-radius:14px; background:#fff; }
.ys949-offer.is-selected { border-color:#16845e; box-shadow:inset 0 0 0 1px #16845e; background:#f6fcf9; }
.ys949-offer-top { display:flex; gap:10px; flex-wrap:wrap; justify-content:space-between; align-items:center; color:#64748b; font-size:.73rem; }
.ys949-code { border:1px dashed #94b6cf; border-radius:6px; padding:5px 9px; color:#123661; background:#f4f8fc; letter-spacing:.04em; overflow-wrap:anywhere; }
.ys949-offer h3 { font-size:1.2rem; line-height:1.4; color:#102f58; margin:16px 0 8px; }
.ys949-description { margin:0 0 10px; color:#475569; font-size:.87rem; line-height:1.6; overflow-wrap:anywhere; }
.ys949-terms { margin:0 0 18px; padding-left:17px; color:#64748b; font-size:.77rem; line-height:1.75; }
.ys949-offer-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:14px; border-top:1px solid #e4ece7; }
.ys949-saving { color:#116844; font-size:.8rem; line-height:1.5; }
.ys949-use { flex-shrink:0; background:#fff; border:1px solid #0b72d9; border-radius:8px; padding:9px 13px; color:#0967c7; font:inherit; font-size:.8rem; font-weight:700; cursor:pointer; }
.ys949-use[aria-pressed="true"] { color:#fff; background:#087653; border-color:#087653; }
.ys949-use:disabled { opacity:.55; cursor:default; }
.ys949-use:focus-visible,.ys949-remove:focus-visible,.ys949-rate-code:focus-visible { outline:3px solid #f78a1d; outline-offset:3px; }
.ys949-footer { margin-top:16px; display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.ys949-footer p { flex:1 1 260px; font-size:.8rem; line-height:1.6; color:#55677b; margin:0; }
.ys949-remove { background:none; border:0; padding:6px 0; color:#155fa3; font:inherit; font-size:.78rem; text-decoration:underline; cursor:pointer; }
.rr-rate-price .ys949-original { color:#758296; font-size:.95rem; display:block; margin-bottom:4px; font-weight:500; }
.ys949-rate-code { color:#087653; font-size:.73rem; line-height:1.55; display:block; margin-top:6px; overflow-wrap:anywhere; }
.ys949-band-original { color:#d3deec; font-size:.9rem; }
.ys949-band-code { color:#ddffe9; flex-basis:100%; font-size:.76rem; line-height:1.5; }
.ys949-total-original { color:#64748b; font-size:.85rem; }
.ys949-total-saving { color:#087653; flex-basis:100%; line-height:1.5; }
.ys949-coupons [hidden],.ys949-band-original[hidden],.ys949-band-code[hidden],.ys949-total-original[hidden],.ys949-total-saving[hidden] { display:none!important; }
@media(max-width:600px) {
 .ys949-heading { gap:10px; }
 .ys949-heading p { font-size:.83rem; }
 .ys949-offer { padding:17px; }
 .ys949-offer-grid { grid-template-columns:1fr; }
}
