/* Promotion details only: desktop side panel and mobile bottom sheet. */
.promotion-details-overlay{position:fixed;inset:0;z-index:1100;display:flex;justify-content:flex-end;background:rgba(31,18,15,.48);opacity:0;transition:opacity 220ms ease}.promotion-details-overlay[hidden]{display:none}.promotion-details-overlay.is-open{opacity:1}.promotion-details-panel{width:min(42vw,680px);min-width:500px;height:100dvh;overflow-y:auto;position:relative;background:#f8f3ea;color:var(--ci-red);box-shadow:-18px 0 46px rgba(0,0,0,.22);transform:translateX(100%);transition:transform 260ms ease;outline:none;padding:0 0 max(36px,env(safe-area-inset-bottom))}.promotion-details-overlay.is-open .promotion-details-panel{transform:translateX(0)}.promotion-details-close{position:sticky;z-index:2;top:18px;float:right;margin:18px 18px -58px 0;width:40px;height:40px;border:0;border-radius:50%;background:rgba(88,17,15,.92);color:#fff;font:300 2rem/1 Arial,sans-serif;cursor:pointer}.promotion-details-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#ded4c5}.promotion-details-content{clear:both;padding:30px clamp(28px,4vw,48px) 0}.promotion-details-badge{display:inline-flex;align-items:center;min-height:25px;padding:3px 10px;margin-bottom:15px;border-radius:999px;color:#fff;font-size:.7rem;letter-spacing:.08em}.promotion-details-badge.promo-label--red{background:#8a1f1c}.promotion-details-badge.promo-label--green{background:#315d40}.promotion-details-badge.promo-label--blue{background:#254f78}.promotion-details-badge.promo-label--gold{background:#a77b26}.promotion-details-badge.promo-label--orange{background:#b55b25}.promotion-details-title{margin:0;color:var(--ci-red);font-size:clamp(2rem,3vw,3.25rem);line-height:1.08}.promotion-details-preview{margin:14px 0 0;color:#5c3f36;font-size:1.05rem;line-height:1.7}.promotion-details-description{margin-top:22px;white-space:pre-wrap;color:#3f2a24;line-height:1.8}.promotion-details-terms{margin-top:26px;padding-top:22px;border-top:1px solid rgba(88,17,15,.18)}.promotion-details-terms h3{margin:0 0 8px;font-size:.88rem;letter-spacing:.04em}.promotion-details-terms div{white-space:pre-wrap;color:#4c362e;line-height:1.65}.promotion-details-period{margin:24px 0 0;color:#765e51;font-size:.86rem}.promotion-details-action{display:inline-flex;justify-content:center;align-items:center;min-height:48px;margin-top:26px;padding:11px 20px;border-radius:999px;background:var(--ci-red);color:#fff;text-decoration:none;transition:background 180ms ease}.promotion-details-action:hover,.promotion-details-action:focus-visible{background:#7b2420;color:#fff}.promo-link--details{width:100%;padding:0;border:0;background:transparent;text-align:inherit;cursor:pointer}.promo-link--details:disabled{cursor:default}.promo-link--details:focus-visible,.promotion-details-close:focus-visible{outline:3px solid #c79b42;outline-offset:3px}@media (max-width:900px){.promotion-details-overlay{align-items:flex-end}.promotion-details-panel{width:100%;min-width:0;max-height:min(92dvh,780px);height:auto;border-radius:22px 22px 0 0;transform:translateY(100%)}.promotion-details-overlay.is-open .promotion-details-panel{transform:translateY(0)}.promotion-details-content{padding:26px 24px 0}.promotion-details-close{top:14px;margin:14px 14px -54px 0}.promotion-details-image{aspect-ratio:16/10}}@media (prefers-reduced-motion:reduce){.promotion-details-overlay,.promotion-details-panel{transition:none}}