/* Full-bleed photography, with no white wash at any breakpoint. */
.promotions-hero { min-height: 480px; height: clamp(480px, 33vw, 620px); background: #173e32; }
.promotions-hero .luanda-hero-image { object-position: center; height: 100%; }
.promotions-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, #092b25d9 0%, #092b2590 38%, #092b2512 75%); }
.promotions-hero .hero-content { position: relative; padding-top: 32px; padding-bottom: 32px; }
.promotions-hero .hero-eyebrow { color: #ffd09a; }
.promotions-hero .hero-content h1 { color: #fffdf7; text-shadow: 0 2px 12px #07281c40; }
.promotions-hero .hero-description { color: #fffdf7; max-width: 650px; }
.promotions-hero .hero-search { width: min(800px, 70%); }
.promotions-hero .hero-search > button { background: #ef9b45; color: #143c31; }
.promotions-hero .hero-search > button:hover { background: #ffb765; }
.promotions-hero input, .promotions-hero select { color: #31443d; }
.promotion-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.promotion-grid-compact { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 14px; }
.promotion-card { height: 100%; overflow: hidden; }
.promotion-card h3 { white-space: normal; line-height: 1.3; overflow-wrap: anywhere; }
.promotion-card .shop-slide-location { white-space: normal; }
.promotion-kind { color: #9a4d0e; text-transform: uppercase; letter-spacing: .08em; font-size: 10px; font-weight: 750; margin: 0 0 7px; }
.promotion-shop { color: #356151; font-size: 12px; font-weight: 650; margin: 9px 0 3px; overflow-wrap: anywhere; }
.promotion-period { color: #657369; font-size: 11px; line-height: 1.5; margin: 10px 0 0; }
.promotion-discount, .promotion-upcoming { position: absolute; top: 10px; border-radius: 6px; padding: 5px 9px; font-size: 12px; font-weight: 800; }
.promotion-discount { left: 10px; background: #ef9b45; color: #183e30; }
.promotion-upcoming { right: 10px; background: #fffdf5; color: #315647; }
.promotion-card.shop-slot-compact .promotion-upcoming { top: auto; bottom: 5px; right: 5px; font-size: 10px; padding: 3px 5px; }
.promotion-card.shop-slot-compact .promotion-discount { top: 5px; left: 5px; font-size: 11px; }
.promotion-card.shop-slot-compact .promotion-shop { font-size: 11px; }
.promotion-report textarea { display: block; width: 100%; min-height: 90px; border: 1px solid #ccd6ce; padding: 10px; margin: 10px 0; }
.promotion-report button { padding: 10px 18px; background: #075b48; color: white; border-radius: 8px; }
.promotion-detail h1 { font-size: clamp(30px, 4vw, 50px); line-height: 1.15; color: #103e36; }
@media (max-width: 1200px) {
  .desktop-module-nav a { padding-left: 9px; padding-right: 9px; }
}
@media (max-width: 1100px) {
  .promotion-grid-compact { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .desktop-module-nav { scrollbar-width: thin; }
  .desktop-module-nav a { flex: 0 0 auto; padding: 9px 10px; }
  .promotions-hero { min-height: 520px; height: auto; }
  .promotions-hero .luanda-hero-image { height: 100%; object-position: 60% center; }
  .promotions-shade { background: #082b26a8; }
  .promotions-hero .hero-content { padding-top: 46px; padding-bottom: 42px; min-height: 520px; }
  .promotions-hero .hero-content h1 { font-size: 44px; }
  .promotions-hero .hero-description { font-size: 17px; }
  .promotions-hero .hero-search { width: 100%; }
  .promotion-grid, .promotion-grid-compact { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
@media (max-width: 380px) {
  .promotion-grid { grid-template-columns: 1fr; }
}
