/* ============================================================
   Rebate popup (home page) - include/rebate-popup.php
   White card, single column, compact enough to fit one screen
   on mobile (no scrolling). Every selector scoped to .hi-rebate-popup
   ============================================================ */
.hi-rebate-popup { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: 16px; font-family: Barlow, sans-serif; opacity: 0; transition: opacity .25s ease; }
.hi-rebate-popup.is-open { opacity: 1; }
.hi-rebate-popup[hidden] { display: none; }
body.hi-rebate-popup-open { overflow: hidden; }
.hi-rebate-popup__overlay { position: absolute; inset: 0; background: rgba(15, 40, 40, .72); }
.hi-rebate-popup__box { position: relative; width: 100%; max-width: 620px; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow: auto; background: #fff; border-radius: 14px; box-shadow: 0 30px 80px rgba(0,0,0,.35); transform: translateY(16px); transition: transform .25s ease; }
.hi-rebate-popup.is-open .hi-rebate-popup__box { transform: none; }
.hi-rebate-popup__close { position: absolute; top: 10px; right: 10px; z-index: 2; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #eef4f1; color: #1f4e4e; font-size: 24px; line-height: 34px; cursor: pointer; padding: 0; }
.hi-rebate-popup__close:hover { background: #66b193; color: #fff; }

.hi-rebate-popup__content { padding: 28px 32px 22px; color: #333; }
.hi-rebate-popup__badge { display: inline-flex; align-items: center; gap: 8px; background: #e8f4ef; color: #1f4e4e; border-radius: 20px; padding: 5px 14px 5px 10px; font-size: 12px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; margin: 0 0 12px; }
.hi-rebate-popup__badge:before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #66b193; }
.hi-rebate-popup__title { color: #1f4e4e; font-size: 30px; line-height: 1.15; margin: 0 0 8px; text-transform: none; font-weight: 700; }
.hi-rebate-popup__title span { color: #66b193; }
.hi-rebate-popup__intro { color: #555; font-size: 15px; line-height: 1.5; margin: 0 0 14px; }

.hi-rebate-popup__stats { display: flex; gap: 10px; margin: 0 0 14px; }
.hi-rebate-popup__stat { flex: 1 1 0; background: #f4f9f7; border: 1px solid #dbe9e2; border-radius: 8px; padding: 10px 8px; text-align: center; }
.hi-rebate-popup__stat strong { display: block; font-size: 22px; line-height: 1.1; color: #1f4e4e; }
.hi-rebate-popup__stat:nth-child(1) strong { color: #c8781a; }
.hi-rebate-popup__stat:nth-child(2) strong { color: #3d8f5f; }
.hi-rebate-popup__stat span { display: block; font-size: 12px; line-height: 1.3; margin-top: 3px; color: #555; }

.hi-rebate-popup__stage { display: flex; gap: 12px; align-items: flex-start; background: #fff7e8; border: 1px solid #f3dfb5; border-radius: 8px; padding: 11px 14px; margin: 0 0 14px; }
.hi-rebate-popup__stage-icon { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 8px; background: #e0a12b; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 15px; }
.hi-rebate-popup__stage strong { display: block; color: #8a5a0b; font-size: 15px; margin: 0 0 2px; }
.hi-rebate-popup__stage p { margin: 0; font-size: 13.5px; line-height: 1.4; color: #6b4d18; }

.hi-rebate-popup__who { font-size: 16px; color: #1f4e4e; margin: 0 0 6px; text-transform: none; font-weight: 700; }
.hi-rebate-popup__list { list-style: none; margin: 0 0 14px; padding: 0; float: none; width: auto; column-count: auto; }
.hi-rebate-popup__list li { position: relative; padding: 0 0 0 26px !important; margin: 0 0 6px !important; font-size: 14px; line-height: 1.4; color: #333; }
.hi-rebate-popup__list li:before { content: "\f00c"; font-family: FontAwesome; position: absolute; left: 0; top: 1px; color: #66b193; float: none; }

.hi-rebate-popup__actions { display: flex; gap: 10px; margin: 0 0 12px; }
.hi-rebate-popup__btn { flex: 1 1 0; display: inline-block; text-align: center; background: #66b193; color: #fff !important; padding: 11px 14px; font-weight: 700; font-size: 13.5px; text-transform: uppercase; letter-spacing: .3px; border: 2px solid #66b193; border-radius: 6px; transition: all .25s; text-decoration: none !important; }
.hi-rebate-popup__btn:hover { background: #1f4e4e; border-color: #1f4e4e; }
.hi-rebate-popup__btn--outline { background: #fff; color: #1f4e4e !important; border-color: #1f4e4e; }
.hi-rebate-popup__btn--outline:hover { background: #1f4e4e; color: #fff !important; }
.hi-rebate-popup__foot { margin: 0; padding-top: 10px; border-top: 1px solid #e3ede9; font-size: 12px; color: #777; }

/* ---- mobile: compact so the whole card fits one screen (tested down to 360 x 640) ---- */
@media (max-width: 767px) {
  .hi-rebate-popup { padding: 10px; }
  .hi-rebate-popup__box { max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px); border-radius: 12px; }
  .hi-rebate-popup__close { top: 6px; right: 6px; width: 30px; height: 30px; line-height: 30px; font-size: 20px; }
  .hi-rebate-popup__content { padding: 16px 16px 12px; }
  .hi-rebate-popup__badge { font-size: 10px; padding: 3px 10px 3px 8px; margin-bottom: 8px; }
  .hi-rebate-popup__title { font-size: 21px; margin-bottom: 5px; }
  .hi-rebate-popup__intro { font-size: 12.5px; line-height: 1.4; margin-bottom: 10px; }
  .hi-rebate-popup__stats { gap: 6px; margin-bottom: 10px; }
  .hi-rebate-popup__stat { padding: 7px 4px; }
  .hi-rebate-popup__stat strong { font-size: 17px; }
  .hi-rebate-popup__stat span { font-size: 10px; margin-top: 2px; }
  .hi-rebate-popup__stage { gap: 9px; padding: 8px 10px; margin-bottom: 10px; }
  .hi-rebate-popup__stage-icon { flex-basis: 28px; width: 28px; height: 28px; font-size: 13px; }
  .hi-rebate-popup__stage strong { font-size: 13px; }
  .hi-rebate-popup__stage p { font-size: 11.5px; line-height: 1.35; }
  .hi-rebate-popup__who { font-size: 14px; margin-bottom: 4px; }
  .hi-rebate-popup__list { margin-bottom: 10px; }
  .hi-rebate-popup__list li { font-size: 12px; line-height: 1.35; padding-left: 20px !important; margin-bottom: 4px !important; }
  .hi-rebate-popup__actions { gap: 8px; margin-bottom: 8px; }
  .hi-rebate-popup__btn { padding: 9px 6px; font-size: 11.5px; letter-spacing: 0; }
  .hi-rebate-popup__foot { font-size: 10.5px; padding-top: 7px; }
}
/* very short screens: drop the least important lines rather than scroll */
@media (max-width: 767px) and (max-height: 600px) {
  .hi-rebate-popup__intro, .hi-rebate-popup__foot { display: none; }
  .hi-rebate-popup__list li { margin-bottom: 3px !important; }
}
