/* Shared promotional card; dismissed state is read before the card is shown. */
.eh-promo[hidden], .eh-promo [hidden] { display: none !important; }
.eh-promo {
  position: fixed;
  z-index: 35;
  left: max(22px, env(safe-area-inset-left));
  bottom: max(22px, env(safe-area-inset-bottom));
  width: 356px;
  max-width: calc(100vw - 44px);
  padding: 20px;
  border: 1px solid #657d32;
  border-radius: 16px;
  background: radial-gradient(ellipse at top left, #283717, #131a14 75%);
  color: #f4f6f0;
  box-shadow: 0 12px 36px #0006;
  font: 400 14px/1.5 'DM Sans', system-ui, sans-serif;
  box-sizing: border-box;
  text-align: left;
}
.eh-promo *, .eh-promo *::before, .eh-promo *::after { box-sizing: border-box; }
.eh-promo .eh-promo__close {
  position: absolute;
  top: 3px;
  right: 3px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #c8d1be;
  font: 400 26px/1 system-ui, sans-serif;
  cursor: pointer;
}
.eh-promo .eh-promo__close:hover { color: #fff; background: #ffffff0b; }
.eh-promo .eh-promo__eyebrow {
  margin: 0 24px 9px 0;
  color: #d6fa46;
  font: 700 9px/1.5 'DM Sans', system-ui, sans-serif;
  letter-spacing: .8px;
}
.eh-promo__eyebrow span { font-size: 16px; vertical-align: -1px; margin-right: 3px; }
.eh-promo .eh-promo__title {
  margin: 0 18px 8px 0;
  font: 600 19px/1.3 'Space Grotesk', system-ui, sans-serif;
  letter-spacing: -.4px;
  color: #f4f6f0;
}
.eh-promo__title strong { color: #d6fa46; font-weight: 700; }
.eh-promo .eh-promo__description { margin: 0 0 15px; color: #bdc8b6; font-size: 12px; line-height: 1.5; }
.eh-promo__actions { display: flex; align-items: center; gap: 16px; }
.eh-promo .eh-promo__copy {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 15px;
  flex: 1;
  min-height: 49px;
  padding: 7px 12px;
  border: 1px solid #d6fa46;
  border-radius: 9px;
  background: #d6fa46;
  color: #172009;
  text-align: left;
  font: 600 10px/1.35 'DM Sans', system-ui, sans-serif;
  cursor: pointer;
}
.eh-promo .eh-promo__copy:hover { background: #e2ff73; border-color: #e2ff73; }
.eh-promo__code { font: 800 16px/1.2 'Space Grotesk', system-ui, sans-serif; letter-spacing: .8px; }
.eh-promo [data-eh-promo-copy-label] { grid-column: 1; }
.eh-promo__copy svg { grid-column: 2; grid-row: 1 / 3; width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.eh-promo .eh-promo__link { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; color: #edf4e6; font-size: 12px; font-weight: 600; white-space: nowrap; text-decoration: none; }
.eh-promo .eh-promo__link:hover { color: #d6fa46; text-decoration: underline; text-underline-offset: 4px; }
.eh-promo button:focus-visible, .eh-promo a:focus-visible { outline: 2px solid #f4ffb8; outline-offset: 3px; }
.eh-promo .eh-promo__status { margin: 10px 0 0; color: #e1edcf; font-size: 11px; line-height: 1.45; }
/* In normal document flow on mobile: no overlay over checkout or WhatsApp. */
@media (max-width: 760px), (max-height: 520px) {
  .eh-promo {
    position: relative;
    top: auto;
    left: auto;
    bottom: auto;
    z-index: auto;
    width: calc(100% - 32px);
    max-width: 600px;
    margin: 16px auto;
    padding: 16px;
    box-shadow: none;
  }
  .eh-promo .eh-promo__eyebrow { font-size: 8px; }
  .eh-promo .eh-promo__title { font-size: 18px; }
  .eh-promo .eh-promo__description { margin-bottom: 12px; }
  .eh-promo__actions { gap: 18px; }
}
@media print { .eh-promo { display: none !important; } }
