/* RAS 2026 challenge cards – [ras26_challenges] / Elementor "RAS Challenge Cards" */
.rc-grid {
	--rc-navy: #110C2A; --rc-ink: #19132F; --rc-body: #3E3A52; --rc-rust: #B5541C; --rc-orange: #F28C27;
	--rc-card: #F5F0E8; --rc-line: #E6DCCD; --rc-white: #FFFFFF;
	display: grid; grid-template-columns: repeat(var(--rc-cols, 3), minmax(0, 1fr)); gap: 26px;
	font-family: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--rc-ink);
}
@media (max-width: 1024px) { .rc-grid { grid-template-columns: repeat(min(2, var(--rc-cols, 3)), minmax(0, 1fr)); } }
@media (max-width: 680px) { .rc-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; } }

/* Each card spans 5 grid rows and shares them with its neighbours (subgrid), so pills, prize boxes
   and buttons line up across a row. Browsers without subgrid fall back to a simple stacked card. */
.rc-card { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 0; min-width: 0; background: var(--rc-card); border: 1px solid var(--rc-line); border-radius: 22px; overflow: hidden; }
@supports not (grid-template-rows: subgrid) { .rc-card { display: flex; flex-direction: column; } .rc-pills { margin-top: auto; } }
.rc-grid { row-gap: 0; }
.rc-card { margin-bottom: 26px; }
@media (max-width: 680px) { .rc-card { margin-bottom: 20px; } }
.rc-media { position: relative; margin: 0; line-height: 0; }
.rc-media img { display: block; width: 100%; height: auto; aspect-ratio: 548 / 232; object-fit: cover; }
.rc-noimg { aspect-ratio: 548 / 232; display: grid; place-items: center; background: var(--rc-navy); color: #fff; font-size: 26px; font-weight: 800; line-height: 1.2; }

.rc-text { padding: 22px 22px 18px; display: flex; flex-direction: column; gap: 10px; }
.rc-tag { margin: 0; font-size: 17px; font-style: italic; color: var(--rc-rust); line-height: 1.4; }
.rc-desc { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--rc-body); }
.rc-note { margin: 2px 0 0; font-size: 13px; color: var(--rc-body); }

.rc-pills { align-self: end; padding: 0 22px 14px; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 12px; }
.rc-pill { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 40px; padding: 6px 10px; border: 1.5px solid var(--rc-ink); border-radius: 999px; font-size: 14px; font-weight: 600; line-height: 1.2; text-align: center; white-space: nowrap; color: var(--rc-ink); }
.rc-pill--free { background: var(--rc-orange); border-color: var(--rc-orange); font-weight: 800; font-size: 13px; letter-spacing: .05em; text-transform: uppercase; box-shadow: 0 8px 18px -10px rgba(242, 140, 39, .9); }

.rc-prizes { margin: 0 22px 18px; background: var(--rc-white); border-radius: 16px; padding: 4px 18px; }
.rc-prizes:empty { display: none; }
.rc-prize { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 0; font-size: 16px; }
.rc-prize + .rc-prize { border-top: 1px solid var(--rc-line); }
.rc-prize span { color: var(--rc-ink); }
.rc-prize b { font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }

.rc-actions { padding: 0 22px 24px; display: flex; flex-direction: column; gap: 16px; }
.rc-btn { display: flex; align-items: center; justify-content: center; min-height: 54px; padding: 10px 20px; border-radius: 999px; background: var(--rc-navy); color: #fff !important; font-size: 17px; font-weight: 700; text-decoration: none !important; text-align: center; transition: background .2s, transform .1s; }
.rc-btn:hover { background: #2A2250; }
.rc-btn:active { transform: translateY(1px); }
.rc-btn.is-closed { background: #8A8598; cursor: default; }
.rc-rules { display: block; text-align: center; font-size: 15.5px; font-weight: 700; line-height: 1.35; color: var(--rc-ink) !important; text-decoration: none !important; }
.rc-nw { white-space: nowrap; }
.rc-rules i { font-style: normal; display: inline-block; transition: transform .2s; }
.rc-rules:hover i { transform: translateX(3px); }
.rc-btn:focus-visible, .rc-rules:focus-visible { outline: 3px solid var(--rc-orange); outline-offset: 3px; }

/* Free highlight */
.rc-card.is-free { border: 2px solid var(--rc-orange); box-shadow: 0 18px 40px -26px rgba(242, 140, 39, .9); }
.rc-ribbon { margin: -22px -22px 6px; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 9px 14px; background: var(--rc-orange); color: var(--rc-ink); font-size: 13.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; line-height: 1.2; text-align: center; }
.rc-ribbon s { font-weight: 700; letter-spacing: .02em; opacity: .7; }
@media (prefers-reduced-motion: reduce) { .rc-btn, .rc-rules i { transition: none; } }

