/* Giveaway page — /site/giveaway/
   Page-level stylesheet: this route is a one-off promotional page whose hero,
   platform cards, and rules layout do not belong to any content section. It
   reuses global tokens, .section-panel, .breadcrumb, and .content-stack rather
   than redefining panels or colours. */

.site-giveaway-content {
    --giveaway-gap: 18px;
}

/* ── Hero ─────────────────────────────────────────────────────────────────── */

.giveaway-hero {
    display: grid;
    gap: 24px;
    align-items: center;
    border: 1px solid var(--line);
    background:
        radial-gradient(circle at top right, rgba(160, 0, 28, .28), transparent 22rem),
        var(--bg-raised);
    padding: 24px;
}

@media (min-width: 861px) {
    .giveaway-hero {
        grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
        gap: 32px;
        padding: 32px;
    }
}

.giveaway-hero-copy {
    display: grid;
    gap: 14px;
    align-content: start;
    min-width: 0;
}

.giveaway-hero h1 {
    margin: 0;
    font-size: clamp(1.9rem, 6vw, 3rem);
    line-height: 1.05;
    text-transform: uppercase;
}

.giveaway-prize-name {
    margin: 0;
    font-family: 'Oswald', Arial, sans-serif;
    font-size: clamp(1.2rem, 3.4vw, 1.6rem);
    line-height: 1.2;
    color: var(--ink);
}

.giveaway-prize-desc {
    margin: 0;
    color: var(--muted);
    font-size: 1.02rem;
    line-height: 1.6;
}

.giveaway-prize-desc a {
    border-bottom: 1px solid var(--primary-accent);
}

/* Key facts under the prize name: value, deadline, winner count. */
.giveaway-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 28px;
    margin: 2px 0 0;
}

.giveaway-facts > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.giveaway-facts dt {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.giveaway-facts dd {
    margin: 0;
    font-family: 'Oswald', Arial, sans-serif;
    font-size: 1.05rem;
    color: var(--ink);
}

.giveaway-countdown {
    margin: 0;
    color: var(--primary-accent-bright);
    font-size: .92rem;
    font-weight: 700;
}

.giveaway-notice {
    margin: 0;
    border-left: 3px solid var(--primary-accent);
    padding-left: 12px;
    color: var(--muted);
    line-height: 1.6;
}

.giveaway-notice strong {
    color: var(--ink);
}

.giveaway-cta-row {
    margin: 4px 0 0;
}

.giveaway-cta {
    display: inline-block;
    border: 1px solid var(--primary-accent-bright);
    background: var(--primary-accent);
    padding: 13px 30px;
    color: #fff;
    font-family: 'Oswald', Arial, sans-serif;
    font-size: 1.1rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.giveaway-cta:hover,
.giveaway-cta:focus-visible {
    background: var(--primary-accent-bright);
    color: #fff;
}

.giveaway-hero-media {
    margin: 0;
    min-width: 0;
}

.giveaway-hero-media img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid var(--line);
    background: var(--bg-panel);
    object-fit: cover;
}

/* ── Entry instructions ───────────────────────────────────────────────────── */

.giveaway-enter,
.giveaway-details {
    padding-bottom: 18px;
}

.giveaway-scope {
    margin: 0;
    border-bottom: 1px solid var(--line);
    padding: 14px;
    color: var(--muted);
}

.giveaway-platforms {
    display: grid;
    gap: var(--giveaway-gap);
    padding: 18px 14px;
}

@media (min-width: 700px) {
    .giveaway-platforms {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.giveaway-platform {
    display: grid;
    gap: 10px;
    align-content: start;
    border: 1px solid var(--line);
    background: var(--bg-panel);
    padding: 16px;
    min-width: 0;
}

.giveaway-platform h3 {
    display: flex;
    gap: 9px;
    align-items: center;
    margin: 0;
    font-family: 'Oswald', Arial, sans-serif;
    font-size: 1.15rem;
    text-transform: uppercase;
}

.giveaway-platform h3 .icon {
    width: 18px;
    height: 18px;
    flex: none;
}

.giveaway-platform--instagram h3 .icon { color: #e1306c; }
.giveaway-platform--threads h3 .icon { color: var(--ink); }
.giveaway-platform--facebook h3 .icon { color: #1877f2; }

.giveaway-platform ol {
    display: grid;
    gap: 7px;
    margin: 0;
    padding-left: 1.15rem;
    color: var(--muted);
    font-size: .94rem;
    line-height: 1.5;
}

/* Profile link in step 1 needs an affordance against the muted step text. */
.giveaway-platform ol a {
    color: var(--ink);
    font-weight: 700;
    border-bottom: 1px solid var(--primary-accent);
}

.giveaway-platform ol a:hover,
.giveaway-platform ol a:focus-visible {
    color: #fff;
    border-bottom-color: var(--primary-active);
}

.giveaway-platform-note {
    margin: 0;
    color: var(--moremuted);
    font-size: .85rem;
    line-height: 1.5;
}

.giveaway-platform-link {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    background: var(--bg-raised);
    padding: 11px 14px;
    color: var(--ink);
    font-weight: 700;
    font-size: .92rem;
    text-align: center;
}

.giveaway-platform-link:hover,
.giveaway-platform-link:focus-visible {
    border-color: var(--primary-accent-bright);
    color: #fff;
}

.giveaway-platform-link.is-disabled {
    border-style: dashed;
    background: transparent;
    color: var(--moremuted);
    font-weight: 400;
    cursor: not-allowed;
}

.giveaway-external {
    font-size: .9em;
}

/* ── Details grid ─────────────────────────────────────────────────────────── */

.giveaway-detail-grid {
    display: grid;
    gap: 1px;
    margin: 0;
    background: var(--line);
    border-top: 1px solid var(--line);
}

@media (min-width: 700px) {
    .giveaway-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.giveaway-detail-grid > div {
    display: grid;
    gap: 4px;
    background: var(--bg-raised);
    padding: 13px 14px;
    min-width: 0;
}

.giveaway-detail-grid dt {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.giveaway-detail-grid dd {
    margin: 0;
    color: var(--ink);
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.giveaway-detail-grid dd a {
    border-bottom: 1px solid var(--primary-accent);
}

/* ── Official rules ───────────────────────────────────────────────────────── */

.giveaway-rules-body {
    padding: 16px 14px 4px;
    color: var(--ink);
    line-height: 1.68;
}

.giveaway-rules-body h3 {
    margin: 22px 0 8px;
    font-size: 1.15rem;
}

.giveaway-rules-body h3:first-child {
    margin-top: 0;
}

.giveaway-rules-body p,
.giveaway-rules-body ul {
    margin: 0 0 14px;
    color: var(--muted);
}

.giveaway-rules-body ul {
    display: grid;
    gap: 7px;
    padding-left: 1.2rem;
}

.giveaway-rules-body a {
    color: var(--ink);
    border-bottom: 1px solid var(--primary-accent);
    overflow-wrap: anywhere;
}

.giveaway-rules-body a:hover {
    border-bottom-color: var(--primary-active);
}

.giveaway-inline-warning {
    border-left: 3px solid var(--primary-accent);
    padding-left: 12px;
}

.giveaway-inline-warning strong {
    color: var(--ink);
}
