/* Shared offer presentation; offer eligibility and countdown remain runtime-owned. */
.offer-countdown.offer-ticket {
  --ticket-outline: #d62d1a;
  position: relative;
  top: auto;
  z-index: auto;
  display: block;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  margin: 0 0 24px;
  padding: 0;
  border: 1px solid var(--ticket-outline);
  border-radius: 16px;
  background: #ff3b24;
  color: #fff;
}
.offer-ticket .offer-ticket-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 19px 20px;
}
.offer-ticket .offer-ticket-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.offer-ticket .offer-ticket-heading strong {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.02em;
}
.offer-ticket .offer-ticket-details {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 15px 20px;
  border-top: 1px dashed rgba(255, 255, 255, .6);
}
.offer-ticket .offer-ticket-details::before,
.offer-ticket .offer-ticket-details::after {
  content: "";
  position: absolute;
  top: -10px;
  width: 10px;
  height: 20px;
  background: #fff;
  border: 1px solid var(--ticket-outline);
}
.offer-ticket .offer-ticket-details::before {
  left: -1px;
  border-left: 0;
  border-radius: 0 12px 12px 0;
}
.offer-ticket .offer-ticket-details::after {
  right: -1px;
  border-right: 0;
  border-radius: 12px 0 0 12px;
}
.offer-ticket .offer-ticket-details small,
.offer-ticket .offer-clock {
  margin: 0;
  border: 0;
  border-radius: 8px;
  background: #dc2e1b;
  color: #fff;
}
.offer-ticket .offer-ticket-details small {
  padding: 9px 11px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.3;
}
.offer-ticket .offer-clock {
  padding: 7px 12px;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.offer-countdown.offer-ticket.expired {
  --ticket-outline: #e7e5e4;
  background: #f5f3ef;
  color: #57534e;
}
.offer-ticket.expired .offer-ticket-details {
  justify-content: flex-end;
  border-top-color: #d6d3d1;
}
.offer-ticket.expired .offer-clock {
  background: #e7e5e4;
  color: #78716c;
}
@media (max-width: 360px) {
  .offer-ticket .offer-ticket-heading { padding: 17px 16px; }
  .offer-ticket .offer-ticket-heading strong { font-size: 16px; }
  .offer-ticket .offer-ticket-details { padding: 14px 16px; }
  .offer-ticket .offer-ticket-details small { padding: 9px 8px; }
  .offer-ticket .offer-clock { padding: 7px 10px; }
}
