/* Voucher Codes page only — v3.70.0 unlock-state UI. */
.voucher-page .voucher-code-card {
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, opacity .2s ease;
}

.voucher-page .voucher-code-card__icon svg,
.voucher-page .voucher-lock-button svg {
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.voucher-page .voucher-code-card__status {
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  margin:0 0 11px;
  padding:5px 9px;
  border-radius:999px;
  background:#eaf8f1;
  color:#12734a;
  font-size:.76rem;
  font-weight:800;
  line-height:1;
  letter-spacing:.025em;
}

.voucher-page .voucher-code-card__status--locked {
  background:#f1f4f9;
  color:#66738d;
}

.voucher-page .voucher-code-card--available {
  border:1.5px solid #2a66e9;
  background:linear-gradient(145deg,#ffffff 0%,#f5f8ff 62%,#eef4ff 100%);
  box-shadow:0 18px 42px rgba(36,86,230,.14);
}

.voucher-page .voucher-code-card--available::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,#2456e6,#4c7cff);
  border-radius:20px 0 0 20px;
}

.voucher-page .voucher-code-card--available::after {
  width:170px;
  height:170px;
  right:-62px;
  bottom:-70px;
  background:rgba(36,86,230,.07);
}

.voucher-page .voucher-code-card--available .voucher-code-card__icon {
  background:linear-gradient(145deg,#2456e6,#173fa9);
  color:#fff;
  box-shadow:0 10px 24px rgba(36,86,230,.2);
}

.voucher-page .voucher-code-card--available .voucher-code-card__discount {
  background:#2456e6;
  color:#fff;
}

.voucher-page .voucher-code-card__code {
  display:inline-block;
  color:#2456e6;
  font-weight:800;
  letter-spacing:.025em;
}

.voucher-page .voucher-code-card--locked {
  border-color:#e2e7f0;
  background:linear-gradient(145deg,#fff,#f8f9fc);
  box-shadow:0 8px 22px rgba(20,64,143,.045);
}

.voucher-page .voucher-code-card--locked .voucher-code-card__icon {
  background:#f1f4f9;
  color:#78859c;
}

.voucher-page .voucher-code-card--locked .voucher-code-card__discount {
  background:#f1f4f9;
  color:#66738d;
}

.voucher-page .voucher-code-card--locked h2,
.voucher-page .voucher-code-card--locked p {
  color:#68758d;
}

.voucher-page .voucher-lock-button {
  display:inline-flex;
  width:100%;
  min-height:46px;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 16px;
  border:1px solid #d5dce8;
  border-radius:10px;
  background:#eef1f6;
  color:#657188;
  font:700 .95rem/1.2 var(--font-head,"Poppins",sans-serif);
  cursor:pointer;
  transition:border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease;
}

.voucher-page .voucher-lock-button:hover,
.voucher-page .voucher-lock-button:focus-visible {
  border-color:#bdc8d9;
  background:#e8edf4;
  color:#4e5e79;
}

.voucher-page .voucher-lock-button:focus-visible {
  outline:3px solid rgba(36,86,230,.17);
  outline-offset:3px;
}

.voucher-page .voucher-lock-message {
  display:none;
  margin:10px 0 0 !important;
  padding:9px 11px;
  border:1px solid #d9e4f7;
  border-radius:10px;
  background:#f5f8ff;
  color:#2456e6 !important;
  font-size:.88rem !important;
  font-weight:750;
  line-height:1.35 !important;
  text-align:center;
}

.voucher-page .voucher-code-card--locked.is-unlock-message-visible .voucher-lock-message {
  display:block;
}

@media (hover:hover) {
  .voucher-page .voucher-code-card--available:hover {
    transform:translateY(-3px);
    box-shadow:0 22px 46px rgba(36,86,230,.17);
  }
}

@media (max-width:650px) {
  .voucher-page .voucher-code-card__status {
    margin-bottom:9px;
  }
  .voucher-page .voucher-lock-button {
    min-height:48px;
  }
}

/* v3.71.0 — compact, balanced voucher-card rhythm only. */
.voucher-page .voucher-code-card {
  padding:22px;
}

.voucher-page .voucher-code-card__top {
  align-items:flex-start;
  margin-bottom:13px;
}

.voucher-page .voucher-code-card__icon {
  width:48px;
  height:48px;
  flex-basis:48px;
  border-radius:14px;
}

.voucher-page .voucher-code-card__discount {
  padding:6px 10px;
  font-size:.8rem;
  line-height:1.15;
}

.voucher-page .voucher-code-card__status {
  margin:0 0 8px;
  padding:5px 9px;
}

.voucher-page .voucher-code-card h2 {
  margin:0 0 9px;
  font-size:clamp(1.25rem,1.8vw,1.58rem);
  line-height:1.24;
}

.voucher-page .voucher-code-card__code {
  padding:2px 6px;
  border:1px solid #d8e4ff;
  border-radius:7px;
  background:#f2f6ff;
  line-height:1.45;
  white-space:nowrap;
}

.voucher-page .voucher-code-card p {
  margin:0 0 16px;
  font-size:.95rem;
  line-height:1.55;
}

.voucher-page .voucher-code-card__actions {
  margin-top:auto;
  padding-top:2px;
}

.voucher-page .voucher-buy-button,
.voucher-page .voucher-lock-button {
  min-height:44px;
}

.voucher-page .voucher-lock-message {
  margin-top:8px !important;
}

@media (max-width:650px) {
  .voucher-page .voucher-code-card {
    padding:20px;
  }

  .voucher-page .voucher-code-card__top {
    margin-bottom:11px;
  }

  .voucher-page .voucher-code-card p {
    margin-bottom:14px;
  }

  .voucher-page .voucher-buy-button,
  .voucher-page .voucher-lock-button {
    min-height:48px;
  }
}

/* v3.72.0 — polished active 30% voucher + refined locked-state presentation. */
.voucher-page .voucher-codes-grid {
  align-items:stretch;
}

.voucher-page .voucher-code-card {
  position:relative;
  isolation:isolate;
  padding:23px;
  border-radius:21px;
}

.voucher-page .voucher-code-card__top {
  gap:14px;
  margin-bottom:12px;
}

.voucher-page .voucher-code-card__icon {
  box-shadow:inset 0 0 0 1px rgba(36,86,230,.04);
}

.voucher-page .voucher-code-card__discount {
  letter-spacing:.015em;
  box-shadow:inset 0 0 0 1px rgba(36,86,230,.04);
}

.voucher-page .voucher-code-card__status {
  min-height:26px;
  margin-bottom:9px;
  padding:6px 10px;
  font-size:.73rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.voucher-page .voucher-code-card h2 {
  margin-bottom:9px;
  letter-spacing:-.012em;
}

.voucher-page .voucher-code-card p {
  margin-bottom:17px;
  color:#5b6981;
}

.voucher-page .voucher-code-card__actions {
  padding-top:4px;
}

/* The only unlocked voucher is intentionally unmistakable. */
.voucher-page .voucher-code-card--available {
  border:2px solid #2456e6;
  background:
    radial-gradient(circle at 92% 8%,rgba(54,108,255,.14),transparent 31%),
    linear-gradient(145deg,#ffffff 0%,#f5f8ff 52%,#edf3ff 100%);
  box-shadow:
    0 20px 48px rgba(36,86,230,.18),
    0 0 0 5px rgba(36,86,230,.055);
}

.voucher-page .voucher-code-card--available::before {
  width:6px;
  background:linear-gradient(180deg,#2f6bff 0%,#2456e6 48%,#173fa9 100%);
  box-shadow:2px 0 10px rgba(36,86,230,.16);
}

.voucher-page .voucher-code-card--available::after {
  width:190px;
  height:190px;
  right:-72px;
  bottom:-80px;
  background:rgba(36,86,230,.085);
}

.voucher-page .voucher-code-card--available .voucher-code-card__top {
  margin-bottom:11px;
}

.voucher-page .voucher-code-card--available .voucher-code-card__icon {
  width:50px;
  height:50px;
  flex-basis:50px;
  background:linear-gradient(145deg,#2f6bff,#173fa9);
  box-shadow:0 12px 27px rgba(36,86,230,.25);
}

.voucher-page .voucher-code-card--available .voucher-code-card__discount {
  padding:7px 12px;
  background:linear-gradient(135deg,#2f6bff,#2456e6);
  color:#fff;
  box-shadow:0 8px 18px rgba(36,86,230,.18);
}

.voucher-page .voucher-code-card--available .voucher-code-card__status {
  background:#eaf1ff;
  color:#173fa9;
  border:1px solid #cbdcff;
  box-shadow:0 5px 13px rgba(36,86,230,.08);
}

.voucher-page .voucher-code-card--available h2 {
  color:#0f2f78;
}

.voucher-page .voucher-code-card--available .voucher-code-card__code {
  padding:3px 8px;
  border-color:#bdd2ff;
  background:#fff;
  color:#2456e6;
  box-shadow:inset 0 0 0 1px rgba(36,86,230,.025);
}

.voucher-page .voucher-code-card--available .voucher-buy-button {
  border-color:#2456e6;
  background:linear-gradient(135deg,#2f6bff,#2456e6);
  color:#fff;
  box-shadow:0 10px 22px rgba(36,86,230,.2);
}

.voucher-page .voucher-code-card--available .voucher-buy-button:hover,
.voucher-page .voucher-code-card--available .voucher-buy-button:focus-visible {
  background:linear-gradient(135deg,#2456e6,#173fa9);
  box-shadow:0 13px 27px rgba(36,86,230,.25);
}

/* Locked vouchers stay intentionally secondary, without looking disabled or broken. */
.voucher-page .voucher-code-card--locked {
  border:1px solid #e2e7f0;
  background:linear-gradient(145deg,#ffffff,#fafbfe);
  box-shadow:0 7px 19px rgba(20,64,143,.04);
}

.voucher-page .voucher-code-card--locked::after {
  opacity:.55;
}

.voucher-page .voucher-code-card--locked .voucher-code-card__icon {
  background:#f2f4f8;
  color:#7a879c;
  box-shadow:none;
}

.voucher-page .voucher-code-card--locked .voucher-code-card__discount,
.voucher-page .voucher-code-card--locked .voucher-code-card__status--locked {
  background:#f1f3f7;
  color:#6d788d;
  box-shadow:none;
}

.voucher-page .voucher-code-card--locked h2 {
  color:#5f6d84;
}

.voucher-page .voucher-code-card--locked p {
  color:#748096;
}

.voucher-page .voucher-code-card--locked .voucher-lock-button {
  border-color:#d9dfe8;
  background:#f0f2f6;
  color:#68758a;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}

@media (hover:hover) {
  .voucher-page .voucher-code-card--available:hover {
    transform:translateY(-4px);
    box-shadow:
      0 24px 52px rgba(36,86,230,.22),
      0 0 0 5px rgba(36,86,230,.065);
  }
}

@media (max-width:650px) {
  .voucher-page .voucher-code-card {
    padding:20px;
    border-radius:19px;
  }

  .voucher-page .voucher-code-card--available {
    box-shadow:
      0 16px 34px rgba(36,86,230,.16),
      0 0 0 4px rgba(36,86,230,.045);
  }

  .voucher-page .voucher-code-card__status {
    min-height:25px;
    padding:6px 9px;
  }
}
