.offer-hero-card {
    background: linear-gradient(135deg, var(--forest) 0%, var(--forest-deep) 100%);
    color: var(--sand);
    border-radius: var(--r-4);
    padding: 60px;
    display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px;
    align-items: center;
    position: relative;
    overflow: hidden;
  }
  @media (max-width: 900px) { .offer-hero-card { grid-template-columns: 1fr; padding: 40px; } }
  .offer-hero-card::before {
    content: ''; position: absolute; right: -100px; top: -100px;
    width: 400px; height: 400px; border-radius: 50%;
    background: radial-gradient(circle, rgba(184,152,90,0.2), transparent 70%);
  }
  .offer-hero-card h2 { color: var(--sand); font-size: 56px; margin-bottom: 12px; }
  .offer-hero-card .eyebrow { color: var(--gold-soft); }
  .offer-hero-card .code-display { background: rgba(255,255,255,0.08); border: 1px dashed var(--gold-soft); border-radius: var(--r-3); padding: 20px; margin-top: 24px; text-align: center; position: relative; z-index: 1; }
  .offer-hero-card .code-display .code { font-family: var(--font-mono); font-size: 28px; letter-spacing: 0.15em; color: var(--gold-soft); }
  .offer-hero-card .code-display .lbl { font-size: 12px; color: rgba(245,239,230,0.7); margin-top: 8px; }

  .offer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  @media (max-width: 900px) { .offer-grid { grid-template-columns: 1fr; } }
  .offer-card {
    background: var(--white); border: 1px solid var(--line); border-radius: var(--r-4);
    padding: 32px; display: flex; flex-direction: column; gap: 16px;
    position: relative; overflow: hidden;
  }
  .offer-card.featured { background: var(--forest); color: var(--sand); border-color: transparent; }
  .offer-card.featured h4 { color: var(--sand); }
  .offer-card.featured .discount { color: var(--gold-soft); }
  .offer-card .badge { position: absolute; top: 20px; right: 20px; }
  .offer-card .discount { font-family: var(--font-display); font-size: 56px; color: var(--forest); line-height: 1; }
  .offer-card .discount small { font-size: 20px; color: var(--muted); }
  .offer-card .code { font-family: var(--font-mono); background: var(--sand-warm); padding: 8px 14px; border-radius: var(--r-2); display: inline-block; letter-spacing: 0.1em; color: var(--forest-deep); font-size: 13px; }
  .offer-card.featured .code { background: rgba(255,255,255,0.15); color: var(--gold-soft); }
  .offer-card .expiry { font-size: 12px; color: var(--muted); font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.05em; }
  .offer-card.featured .expiry { color: rgba(245,239,230,0.6); }
  .offer-card .rules { font-size: 12px; color: var(--muted); }
  .offer-card.featured .rules { color: rgba(245,239,230,0.7); }
  .offer-card .btn-block { margin-top: auto; }

  .category-tabs { display: flex; gap: 8px; margin-bottom: 32px; flex-wrap: wrap; }
  .category-tab { padding: 10px 20px; border-radius: var(--r-full); border: 1px solid var(--line); font-size: 13px; cursor: pointer; }
  .category-tab.active { background: var(--forest); color: var(--sand); border-color: transparent; }
