/* ==========================================================================
   Cover homepage (template-parts/home-cover.php).
   Black, white and gold. Desktop from 900px; phones stack the blocks and
   turn the card rows into swipeable strips.
   ========================================================================== */

.rc { --rc-gold: #FBBF00; --rc-gold-ink: #8A6A00; --rc-ink: #141414; --rc-ink2: #3A3A38; --rc-mut: #6B6B68; --rc-line: #E6E3DC; --rc-soft: #F6F4EF; --rc-g: 28px; background: var(--rc-soft); }
.rc-wrap { max-width: 1240px; margin: 0 auto; padding: 0 var(--rc-g); }
.rc-sec { padding: 52px 0; }
.rc-white { background: #fff; }
.rc-soft { background: var(--rc-soft); }
.rc-k { display: block; font: 700 11px/1.3 var(--font-body); letter-spacing: .09em; text-transform: uppercase; color: var(--rc-gold-ink); }
.rc-k--gold { color: var(--rc-gold); }
.rc-k--mute { color: #A3A39F; }
.rc-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin: 0 0 20px; }
.rc-head--tight { margin-bottom: 14px; }
.rc-head .rc-k { margin-bottom: 4px; }
.rc-h { font: 700 26px/1.15 var(--font-display); letter-spacing: -.01em; }
.rc-more { font: 700 12px var(--font-body); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.rc-more:hover { text-decoration: underline; }
.rc-empty { color: var(--rc-mut); }
.rc .is-empty { background: linear-gradient(135deg, #2B2A27, #1C1B19); }

/* ---------- cover story ---------- */
.rc-cover { position: relative; background: #141414; color: #fff; min-height: 560px; display: flex; align-items: flex-end; }
.rc-cover-img { position: absolute; inset: 0; }
.rc-cover-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.08) 25%, rgba(0,0,0,.86)); }
.rc-cover-in { position: relative; width: 100%; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 40px; align-items: end; padding-top: 140px; padding-bottom: 40px; }
.rc-cover-lead { display: block; }
.rc-cover-t { font: 800 48px/1.05 var(--font-display); letter-spacing: -.02em; margin-top: 10px; text-wrap: balance; }
.rc-cover-lead:hover .rc-cover-t { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 6px; }
.rc-also { background: rgba(20,20,20,.78); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: 14px 18px 4px; }
.rc-also a { display: block; padding: 10px 0 12px; border-bottom: 1px solid rgba(255,255,255,.12); }
.rc-also a:last-child { border-bottom: 0; }
.rc-also-t { display: block; font: 700 15px/1.3 var(--font-display); margin-top: 4px; }
.rc-also a:hover .rc-also-t { text-decoration: underline; }

/* ---------- card rows (stories, events, series) ---------- */
.rc-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.rc-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--rc-line); border-radius: 14px; overflow: hidden; transition: box-shadow .15s, transform .15s; }
.rc-card:hover { box-shadow: 0 8px 24px rgba(20,20,20,.08); transform: translateY(-2px); }
.rc-media { position: relative; display: block; height: 180px; flex: none; overflow: hidden; }
.rc-bd { display: block; padding: 14px 16px 18px; height: 124px; flex: none; }
.rc-t { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-top: 6px; font: 700 17px/1.28 var(--font-display); }
.rc-card:hover .rc-t { text-decoration: underline; }

/* events: photo with a date label */
.rc-chip { position: absolute; left: 12px; bottom: 12px; display: flex; align-items: center; gap: 9px; background: #fff; color: var(--rc-ink); border-radius: 10px; padding: 7px 11px; box-shadow: 0 2px 10px rgba(0,0,0,.15); white-space: nowrap; }
.rc-chip b { font: 700 13px var(--font-display); }
.rc-chip i { font: 700 13px var(--font-body); font-style: normal; color: var(--rc-ink2); padding-left: 9px; border-left: 2px solid var(--rc-gold); }
/* events: calendar page */
.rc-page { background: #fff; border-bottom: 1px solid var(--rc-line); display: flex; flex-direction: column; text-align: center; }
.rc-page-mon { background: #141414; color: var(--rc-gold); font: 700 12px var(--font-body); letter-spacing: .14em; text-transform: uppercase; padding: 9px 0; }
.rc-page-day { font: 800 58px/1 var(--font-display); margin: auto 0 4px; }
.rc-page-sub { font: 600 13px var(--font-body); color: var(--rc-ink2); margin: 0 0 16px; }
.rc-page-sub b { color: var(--rc-ink); }
/* events: dark */
.rc-dark { background: #141414; color: #fff; padding: 18px; display: flex; flex-direction: column; justify-content: space-between; }
.rc-dark-wd { display: block; font: 700 12px var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--rc-gold); }
.rc-dark-md { display: block; font: 800 34px/1.05 var(--font-display); margin-top: 6px; }
.rc-dark-tm { display: flex; align-items: center; gap: 7px; font: 700 14px var(--font-body); color: #ddd; }
.rc-dark-tm svg { color: var(--rc-gold); }

/* ---------- walk + find a spot ---------- */
.rc-duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 24px; align-items: stretch; }
.rc-duo--solo { grid-template-columns: 1fr; }
.rc-walk { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--rc-line); border-radius: 16px; padding: 22px; }
.rc-walk-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin-top: 10px; }
.rc-walk-big { font: 800 54px/1 var(--font-display); margin-bottom: 4px; }
.rc-walk-sub { font-size: 13px; color: var(--rc-mut); }
.rc-walk-level { background: #141414; color: var(--rc-gold); border-radius: 999px; padding: 7px 14px; font: 700 13px var(--font-body); white-space: nowrap; }
.rc-walk--caution .rc-walk-level { background: var(--rc-gold); color: #141414; }
.rc-walk--high .rc-walk-level, .rc-walk--danger .rc-walk-level { background: #B42318; color: #fff; }
.rc-spark { display: block; width: 100%; height: 64px; margin: 14px 0 8px; }
.rc-walk-ft { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: auto; font-size: 13px; color: var(--rc-ink2); }
.rc-walk-open { display: inline-flex; align-items: center; gap: 6px; font: 700 13px var(--font-body); color: var(--rc-ink); background: #fff; border: 1.5px solid var(--rc-ink); border-radius: 999px; padding: 7px 12px; cursor: pointer; white-space: nowrap; }
.rc-walk-open:hover { background: #141414; color: #fff; }
.rc-spots { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rc-spot { display: grid; grid-template-columns: 44px 1fr auto; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--rc-line); border-radius: 14px; padding: 18px; }
.rc-spot:hover { border-color: var(--rc-ink); }
.rc-spot-ic { width: 44px; height: 44px; border-radius: 12px; background: #141414; color: var(--rc-gold); display: grid; place-items: center; }
.rc-spot-t { font: 700 16px var(--font-display); }

/* chart (card and pop-up) */
.rc-spark .rc-area, .rc-chart .rc-area { fill: #FBBF00; fill-opacity: .2; }
.rc-pave { fill: none; stroke: #D9A300; stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.rc-chart .rc-pave { stroke-width: 3.5; }
.rc-air { fill: none; stroke: #8A8A86; stroke-width: 2.5; stroke-linejoin: round; }
.rc-now { stroke: #141414; stroke-opacity: .25; }
.rc-dot { fill: #141414; stroke: #FBBF00; stroke-width: 2; }
.rc-pulse { fill: #FBBF00; transform-box: fill-box; transform-origin: center; animation: rc-pulse 1.6s ease-out infinite; }
.rc-grid { stroke: #EEECE6; }
.rc-ax { font: 500 11px var(--font-body); fill: #8A8A86; }
.rc-hot { fill: #141414; fill-opacity: .06; }
.rc-limit { stroke: #141414; stroke-dasharray: 5 5; }
.rc-limit-t, .rc-now-t { font: 700 12px var(--font-body); fill: #141414; }
.rc-draw { stroke-dasharray: 2000; stroke-dashoffset: 2000; animation: rc-draw 1.4s ease-out forwards; }
.rc-area { opacity: 0; animation: rc-fade .6s .8s forwards; }
@keyframes rc-draw { to { stroke-dashoffset: 0; } }
@keyframes rc-fade { to { opacity: 1; } }
@keyframes rc-pulse { 0% { opacity: .6; transform: scale(1); } 100% { opacity: 0; transform: scale(2.6); } }
@media (prefers-reduced-motion: reduce) { .rc-draw { animation: none; stroke-dashoffset: 0; } .rc-area { animation: none; opacity: 1; } .rc-pulse { animation: none; opacity: 0; } }

/* pop-up */
.rc-modal { border: 0; padding: 0; background: transparent; max-width: min(760px, calc(100vw - 32px)); width: 100%; }
.rc-modal::backdrop { background: rgba(10,10,10,.55); }
.rc-modal-box { background: #fff; border-radius: 18px; padding: 24px 26px; animation: rc-pop .25s ease-out; }
@keyframes rc-pop { from { transform: translateY(12px); opacity: 0; } to { transform: none; opacity: 1; } }
.rc-modal-hd { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.rc-modal-t { font: 800 22px/1.2 var(--font-display); margin-top: 4px; }
.rc-modal-x { width: 36px; height: 36px; border-radius: 10px; border: 1px solid var(--rc-line); background: #fff; display: grid; place-items: center; cursor: pointer; flex: none; color: var(--rc-ink); }
.rc-legend { display: flex; flex-wrap: wrap; gap: 16px; margin: 16px 0 10px; font: 600 13px var(--font-body); color: var(--rc-ink2); }
.rc-legend i { display: inline-block; width: 18px; height: 4px; border-radius: 2px; margin-right: 6px; vertical-align: middle; }
.rc-legend .is-pave { background: #D9A300; } .rc-legend .is-air { background: #8A8A86; } .rc-legend .is-hot { background: rgba(20,20,20,.2); }
.rc-chart { display: block; width: 100%; height: auto; }
.rc-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 16px; }
.rc-facts div { background: var(--rc-soft); border-radius: 12px; padding: 12px 14px; }
.rc-facts span { display: block; font: 700 11px var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--rc-mut); }
.rc-facts b { display: block; font: 700 16px var(--font-display); margin-top: 2px; }
.rc-modal-note { margin-top: 16px; font-size: 13px; color: var(--rc-mut); }

/* ---------- account ---------- */
.rc-acct { position: relative; overflow: hidden; background: #141414; color: #fff; border-radius: 18px; padding: 34px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 34px; }
.rc-acct .rh-paw { z-index: 0; }
.rc-paw--a { right: 28px; top: 22px; width: 60px; height: 60px; opacity: .9; transform: rotate(18deg); }
.rc-paw--b { right: 100px; top: 30px; width: 28px; height: 28px; opacity: .5; transform: rotate(-12deg); }
.rc-acct > div { position: relative; z-index: 1; }
.rc-acct-t { font: 800 32px/1.1 var(--font-display); margin: 8px 0 14px; max-width: 460px; }
.rc-acct-p { color: #CFCFCB; margin-bottom: 20px; max-width: 440px; }
.rc-ticks { margin: 0 0 22px; }
.rc-ticks li { position: relative; padding: 6px 0 6px 28px; font: 600 15px var(--font-body); color: #E8E8E6; }
.rc-ticks li::before { content: ""; position: absolute; left: 2px; top: 10px; width: 14px; height: 8px; border-left: 2.5px solid var(--rc-gold); border-bottom: 2.5px solid var(--rc-gold); transform: rotate(-45deg); }
.rc-acct-btns { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.rc-btn { display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; font: 700 14px var(--font-body); padding: 12px 18px; }
.rc-btn--light { background: #fff; color: #141414; }
.rc-btn--light:hover { background: var(--rc-gold); }
.rc-acct-link { font: 700 14px var(--font-body); text-decoration: underline !important; }
.rc-digest { align-self: end; margin-top: 56px; background: #1E1E1C; border: 1px solid #2E2E2B; border-radius: 14px; padding: 18px; }
.rc-dg { display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid #2E2E2B; }
.rc-digest .rc-k + .rc-dg, .rc-dg:first-child { border-top: 0; }
.rc-dg-d { background: #fff; color: #141414; border-radius: 8px; text-align: center; padding: 5px 0; font: 700 10px var(--font-body); text-transform: uppercase; }
.rc-dg-d b { display: block; font: 800 18px/1 var(--font-display); }
.rc-dg strong { display: block; font: 700 15px/1.3 var(--font-display); }
.rc-dg strong + span { font-size: 13px; color: #9A9A96; }

/* ---------- series ---------- */
.rc-sc { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--rc-line); border-radius: 16px; overflow: hidden; }
.rc-sc-media { display: block; height: 150px; }
.rc-sc-bd { padding: 16px 18px 18px; }
.rc-sc-meta { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.rc-sc-meta a { font: 700 11px var(--font-body); letter-spacing: .06em; text-transform: uppercase; text-decoration: underline !important; }
.rc-sc-t { font: 700 18px/1.2 var(--font-display); margin: 6px 0 10px; }
.rc-sc-list li { padding: 9px 0; border-top: 1px solid var(--rc-line); font: 600 13.5px/1.35 var(--font-body); }
.rc-sc-list a:hover, .rc-sc-t a:hover { text-decoration: underline; }
.rc-new { display: inline-block; background: var(--rc-gold); color: #141414; border-radius: 999px; padding: 1px 7px; font: 700 10px var(--font-body); text-transform: uppercase; vertical-align: 1px; }

/* ---------- giveaway, dogs ---------- */
.rc-gw .gw-home { margin: 0 auto; }

/* ---------- las vegas 101 ---------- */
.rc-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
.rc-q { background: #fff; border: 1px solid var(--rc-line); border-radius: 12px; }
.rc-q summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 18px; font: 600 15px var(--font-body); }
.rc-q summary::-webkit-details-marker { display: none; }
.rc-q-sign { position: relative; flex: none; width: 24px; height: 24px; border-radius: 50%; background: #141414; }
.rc-q-sign::before, .rc-q-sign::after { content: ""; position: absolute; left: 7px; right: 7px; top: 11px; height: 2px; background: var(--rc-gold); }
.rc-q-sign::after { transform: rotate(90deg); transition: transform .15s; }
.rc-q[open] .rc-q-sign::after { transform: rotate(0); }
.rc-q p { padding: 0 18px 16px; color: var(--rc-ink2); font-size: 14.5px; }
.rc-q p a { font-weight: 700; text-decoration: underline !important; }
.rc-q--link { display: flex; justify-content: space-between; padding: 16px 18px; font: 600 15px var(--font-body); }

/* ---------- phones ---------- */
@media (max-width: 899px) {
	.rc { --rc-g: 16px; }
	.rc-sec { padding: 32px 0; }
	.rc-h { font-size: 21px; }
	.rc-cover { min-height: 500px; }
	.rc-cover-in { grid-template-columns: 1fr; padding-bottom: 24px; }
	.rc-cover-t { font-size: 31px; }
	.rc-also { display: none; }
	.rc-row { display: flex; overflow-x: auto; gap: 12px; scroll-snap-type: x mandatory; margin: 0 calc(var(--rc-g) * -1); padding: 0 var(--rc-g) 6px; scrollbar-width: none; }
	.rc-row::-webkit-scrollbar { display: none; }
	.rc-row > * { flex: 0 0 72%; scroll-snap-align: start; }
	.rc-series > * { flex-basis: 80%; }
	.rc-media { height: 150px; }
	.rc-bd { height: 116px; }
	.rc-t { font-size: 15.5px; }
	.rc-page-day { font-size: 46px; }
	.rc-dark { padding: 14px; } .rc-dark-md { font-size: 28px; }
	.rc-duo { grid-template-columns: 1fr; }
	.rc-spots { gap: 10px; }
	.rc-spot { grid-template-columns: 1fr; padding: 14px; gap: 10px; }
	.rc-spot-ar { display: none; }
	.rc-acct { grid-template-columns: 1fr; padding: 24px; gap: 20px; }
	.rc-acct-t { font-size: 24px; padding-right: 56px; }
	.rc-paw--a { right: 18px; top: 18px; width: 44px; height: 44px; }
	.rc-paw--b { display: none; }
	.rc-digest { margin-top: 0; }
	.rc-faq { grid-template-columns: 1fr; }
	.rc-modal { max-width: 100vw; margin: auto 0 0; }
	.rc-modal-box { border-radius: 18px 18px 0 0; padding: 18px; }
	.rc-facts { grid-template-columns: 1fr; }
	.rc-facts div { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
	.rc-facts b { margin: 0; text-align: right; }
}

/* Colors that must win over the theme's base heading and link rules. */
.rc .rc-cover-t, .rc .rc-acct-t, .rc .rc-also-t { color: #fff; }
.rc .rc-h, .rc .rc-sc-t, .rc .rc-modal-t { color: var(--rc-ink); }
.rc a.rc-btn--light { color: #141414; }
.rc .rc-acct a.rc-acct-link { color: #fff; }
.rc-gw { padding-top: 0; }
