.card-shop-portal--giveaway {
  --portal-focus: #8ffaff;
  background:
    radial-gradient(circle at 50% 8%, rgba(255, 224, 130, 0.22), transparent 20rem),
    radial-gradient(circle at 16% 70%, rgba(255, 124, 190, 0.15), transparent 18rem),
    #020202;
}

.card-shop-portal--giveaway .giveaway-header {
  border-block-end: 1px solid rgba(255, 224, 130, 0.18);
}

.card-shop-portal--giveaway .giveaway-section:first-child {
  border-color: rgba(255, 226, 144, 0.52);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.09), 0 0 22px rgba(255, 188, 122, 0.12);
}

.card-shop-portal--giveaway :where(.giveaway-upcoming-section, .giveaway-history-section) {
  background: linear-gradient(180deg, rgba(18, 11, 9, 0.8), rgba(3, 2, 4, 0.9));
}

.card-shop-portal--giveaway .previous-winners-list {
  display: grid;
  gap: 0.48rem;
}

.card-shop-portal--giveaway .giveaway-wheel-section {
  border-color: rgba(255, 200, 124, 0.44);
}

.giveaway-card img {
  display: block;
  inline-size: 100%;
  max-block-size: 18rem;
  object-fit: contain;
}

.card-shop-portal--giveaway [data-current-giveaways] {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
}

.card-shop-portal--giveaway [data-current-giveaways] .giveaway-card {
  inline-size: min(100%, 19.125rem);
  max-inline-size: 100%;
  min-inline-size: 0;
}

.card-shop-portal--giveaway :where(.giveaway-card-title, [data-giveaway-detail-title]) {
  max-inline-size: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

.card-shop-portal--giveaway .giveaway-card-title {
  font-size: clamp(0.72rem, 3vw, 0.94rem);
}

.giveaway-entry-status[data-tone="error"],
[data-winner-status][data-tone="error"] {
  color: #ffb5b5;
}

.giveaway-share-link {
  display: inline-flex;
  min-block-size: 2.75rem;
  align-items: center;
  justify-content: center;
  margin-block: .75rem;
  padding: .65rem 1rem;
  border: 1px solid var(--portal-focus);
  color: var(--portal-focus);
}

.giveaway-entry-share-prompt {
  margin-block: .75rem;
  padding: .85rem;
  border: 1px solid rgba(255, 226, 144, .58);
  border-radius: .8rem;
  background: rgba(22, 14, 4, .9);
  box-shadow: 0 0 18px rgba(255, 206, 92, .13);
  text-align: center;
}

.giveaway-entry-share-prompt p { margin-block: .45rem 0; }

.giveaway-entry-share-prompt[hidden],
.giveaway-share-link[hidden] {
  display: none;
}

.wheel-preview-orb.is-spinning {
  transition-duration: var(--shared-spin-duration, 3.3s);
}

.giveaway-winner-layer {
  position: fixed;
  z-index: 40;
  inset: 0;
  display: none;
  place-items: center;
  padding: 1rem;
}

.giveaway-winner-layer.is-open {
  display: grid;
}

.giveaway-winner-modal {
  position: relative;
  z-index: 1;
  inline-size: min(34rem, 100%);
  max-block-size: calc(100svh - 2rem);
  overflow: auto;
  padding: clamp(1.25rem, 4vw, 2rem);
  border: 1px solid rgba(255, 226, 144, .72);
  border-radius: 1rem;
  background: #090606;
  box-shadow: 0 1.5rem 5rem #000;
  text-align: center;
}

.giveaway-winner-handle {
  margin: .5rem 0;
  color: #fff0a8;
  font-size: clamp(1.7rem, 8vw, 3rem);
  font-weight: 900;
  overflow-wrap: anywhere;
}

.giveaway-winner-countdown {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}

.giveaway-claim-form {
  display: grid;
  gap: .75rem;
  margin-block-start: 1rem;
  text-align: start;
}

.giveaway-claim-form label,
.giveaway-claim-form input {
  display: grid;
  inline-size: 100%;
}

@media (prefers-reduced-motion: reduce) {
  .giveaway-winner-layer *,
  .giveaway-wheel-section * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
.giveaway-admin-shell,
[data-spin-wheel] { display: none !important; }
