/* Promotions follow the warm palette and typography of the updated interior pages. */
.promotions-page { background: #f7f5f0; color: #292724; }
.promotions-page .page-head { background: #eee9df; padding: 28px 0; border-bottom: 1px solid #dfd8ca; }
.promotions-page .page-title { float: none !important; padding: 0 !important; }
.promotions-page .page-title h1 { float: none; margin: 0 0 8px; color: #292724; font-family: Georgia, serif; font-size: 36px; font-weight: 400; line-height: 1.12; letter-spacing: -.6px; }
.promotions-page .promotions-intro { max-width: 620px; margin: 0; color: #625d56; font-size: 15px; line-height: 1.6; }
.promotions-page .page-content { background: transparent; background-image: none; padding: 36px 0 64px; }
.promotions-page .promotion-card { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(0, 1.5fr); overflow: hidden; border: 1px solid #e3ddd4; border-radius: 16px !important; background: #fff; box-shadow: 0 6px 24px rgba(48,36,22,.06); }
.promotions-page .promotion-offer { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 48px 28px; background: #582d35; color: #fff; text-align: center; }
.promotions-page .promotion-eyebrow { margin: 0 0 16px; color: #875343; font-size: 11px; font-weight: 700; letter-spacing: 2px; line-height: 1.6; text-transform: uppercase; }
.promotions-page .promotion-offer .promotion-eyebrow { color: #f0d9c4; }
.promotions-page .promotion-discount { margin: 0; font-family: Georgia, serif; font-size: 100px; line-height: 1.05; letter-spacing: -5px; }
.promotions-page .promotion-discount span { font-size: 52px; letter-spacing: -2px; }
.promotions-page .promotion-discount-label { margin: 12px 0 28px; font-size: 17px; }
.promotions-page .promotion-time { padding: 10px 18px; border: 1px solid rgba(255,255,255,.3); border-radius: 30px !important; font-size: 14px; }
.promotions-page .promotion-details { padding: 40px 44px; }
.promotions-page .promotion-details h2 { margin: 0 0 16px; color: #372426; font-family: Georgia, serif; font-size: 34px; font-weight: 400; line-height: 1.2; letter-spacing: -.6px; }
.promotions-page .promotion-description { margin: 0 0 24px; color: #70645e; font-size: 15px; line-height: 1.8; }
.promotions-page .promotion-terms { margin: 0 0 28px; }
.promotions-page .promotion-terms > div { display: grid; grid-template-columns: 70px minmax(0,1fr); gap: 16px; padding: 13px 0; border-top: 1px solid #eee7e1; font-size: 14px; line-height: 1.6; }
.promotions-page .promotion-terms dt { font-weight: 600; }
.promotions-page .promotion-terms dd { margin: 0; color: #625d56; }
.promotions-page .promotion-terms dd span { font-size: 12px; }
.promotions-page .promotion-link { display: inline-flex; align-items: center; gap: 24px; padding: 13px 20px; border-radius: 7px !important; background: #d9363e; color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; }
.promotions-page .promotion-link:hover { background: #b8242c; }
.promotions-page .promotion-link:focus-visible { outline: 3px solid #a17741; outline-offset: 4px; }
.promotions-page .promotions-note { margin: 24px 0 0; color: #70645e; font-size: 13px; line-height: 1.7; text-align: center; }
@media (max-width: 767px) {
    .promotions-page .page-head { padding: 22px 0; }
    .promotions-page .page-title h1 { font-size: 30px; }
    .promotions-page .page-content { padding: 24px 0 40px; }
    .promotions-page .promotion-card { grid-template-columns: minmax(0,1fr); }
    .promotions-page .promotion-offer { padding: 30px 20px; }
    .promotions-page .promotion-discount { font-size: 80px; }
    .promotions-page .promotion-discount-label { margin-bottom: 20px; }
    .promotions-page .promotion-details { padding: 28px 24px; }
    .promotions-page .promotion-details h2 { font-size: 28px; }
    .promotions-page .promotion-link { gap: 16px; }
}

.promotions-page .promotion-exclusion { margin: 14px 0 0; color: #fff; font-size: 13px; font-weight: 600; line-height: 1.6; }
.promotions-page .promotion-location-exclusion{display:inline-block;margin-left:6px;padding:3px 9px;background:#f5e8e6;color:#7b292d;border:1px solid #e5c6c3;border-radius:4px!important;font-size:14px;font-weight:700}
