/* ==========================================================================
   Race Car Scans: theme styles (on top of Kadence)
   Look: dark header and hero, Race Cars For You orange, Barlow type.
   ========================================================================== */

/* Kadence's color palette, remapped. html:root beats Kadence's own :root. */
html:root {
	--global-palette1: #f26a1b;  /* accent (buttons, links) */
	--global-palette2: #d9560c;  /* accent hover */
	--global-palette3: #15161a;  /* headings */
	--global-palette4: #2b2d33;  /* strong text */
	--global-palette5: #4a4d55;  /* body text */
	--global-palette6: #6b6f78;  /* muted */
	--global-palette7: #ececee;  /* subtle backgrounds */
	--global-palette8: #f3f3f4;  /* page background */
	--global-palette9: #ffffff;  /* cards */
	--global-body-font-family: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;
	--global-heading-font-family: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;

	--rcst-ink: #15161a;
	--rcst-muted: #5d6068;
	--rcst-line: #d9dadf;
	--rcst-dark: #0c0d0f;
	--rcst-dark-2: #15171b;
	--rcst-dark-line: #26292f;
	--rcst-accent: #f26a1b;
	--rcst-accent-ink: #b8490a;
	--rcst-display: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;
	--rcst-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;
}

body { font-family: var(--global-body-font-family); background: var(--global-palette8); }
h1, h2, h3, .entry-title, .site-title {
	font-family: var(--rcst-display) !important;
	font-style: italic;
	font-weight: 800 !important;
	letter-spacing: .01em;
	line-height: 1.02;
	text-wrap: balance;
}
a { color: var(--rcst-accent-ink); }
a:hover { color: var(--rcst-accent); }
:focus-visible { outline: 2px solid var(--rcst-accent); outline-offset: 2px; }

/* ---------- Header ------------------------------------------------------- */
#masthead,
#masthead .site-header-row-container-inner,
#masthead .site-main-header-inner-wrap,
#mobile-header .site-header-row-container-inner {
	background: var(--rcst-dark) !important;
	border-bottom: 1px solid #22252a;
}
#masthead .site-branding a.brand { display: flex; align-items: center; gap: 14px; }
#masthead .custom-logo, #mobile-header .custom-logo { max-height: 58px !important; width: auto !important; }
#masthead .site-title, #mobile-header .site-title {
	color: #fff !important;
	font-size: 23px !important;
	text-transform: uppercase;
	font-weight: 900 !important;
	white-space: nowrap;
	margin: 0;
}
#masthead .site-title::after, #mobile-header .site-title::after { content: " For you, by you"; color: var(--rcst-accent); }
#masthead .site-description { display: none; }

#masthead .header-navigation .menu > li > a,
#masthead .main-navigation .primary-menu-container > ul > li.menu-item > a {
	color: #a4a8b0 !important;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding-left: .7em;
	padding-right: .7em;
}
#masthead .header-navigation .menu > li > a:hover,
#masthead .header-navigation .menu > li.current-menu-item > a { color: #fff !important; }
#masthead .header-navigation .menu > li.current-menu-item > a { box-shadow: inset 0 -2px 0 var(--rcst-accent); }
#masthead .header-navigation .menu > li.rcst-menu-cta > a,
#masthead .main-navigation .primary-menu-container > ul > li.menu-item.rcst-menu-cta > a {
	background: var(--rcst-accent);
	color: #1a0d04 !important;
	border-radius: 4px;
	padding: .55em 1em;
	margin-left: .6em;
	line-height: 1.2;
}
#masthead .header-navigation .menu > li.rcst-menu-cta > a:hover,
#masthead .main-navigation .primary-menu-container > ul > li.menu-item.rcst-menu-cta > a:hover { background: #ff8a45; color: #1a0d04 !important; }
#mobile-header .menu-toggle-open, #mobile-header .menu-toggle-open .menu-toggle-icon { color: #fff !important; }
.drawer-inner { background: var(--rcst-dark) !important; }
.drawer-inner .menu a, .drawer-inner a { color: #e6e7ea !important; }

/* ---------- Shared bits -------------------------------------------------- */
.rcst-wrap { max-width: 1200px; margin: 0 auto; padding-inline: 20px; }
.rcst-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--rcst-accent); }
.rcst-lede { color: var(--rcst-muted); font-size: 17px; max-width: 56ch; }
.rcst-muted { color: var(--rcst-muted); }
.rcst-btn, .rcs-btn {
	display: inline-block;
	background: var(--rcst-accent);
	color: #1a0d04 !important;
	border: 1px solid var(--rcst-accent);
	border-radius: 5px;
	padding: 12px 18px;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .05em;
	text-transform: uppercase;
	text-decoration: none !important;
	line-height: 1.2;
}
.rcst-btn:hover, .rcs-btn:hover { background: #ff8a45; border-color: #ff8a45; }
.rcst-btn--ghost, .rcs-btn--ghost { background: transparent; color: var(--rcst-ink) !important; border-color: var(--rcst-line); }
.rcst-btn--ghost:hover, .rcs-btn--ghost:hover { background: transparent; border-color: var(--rcst-accent); }
.rcst-btn--small { padding: 9px 14px; font-size: 13px; }

/* ---------- Home: hero --------------------------------------------------- */
.rcst-home, .rcst-archive { margin-top: 0; }
.rcst-hero { background: radial-gradient(110% 90% at 75% 40%, #1b1d22 0%, var(--rcst-dark) 62%); color: #f1f2f4; }
.rcst-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: center; padding-block: 52px 44px; }
.rcst-hero h1 { color: #fff; font-size: clamp(44px, 6.4vw, 76px); margin: 12px 0 16px; }
.rcst-hero h1 em { color: var(--rcst-accent); font-style: italic; }
.rcst-hero .rcst-lede { color: #a3a8b1; }
.rcst-search { display: flex; max-width: 540px; margin: 22px 0 14px; background: #fff; border-radius: 5px; overflow: hidden; }
.rcst-search input[type=search] { flex: 1; min-width: 0; border: 0; padding: 13px 14px; font: inherit; color: #15161a; background: #fff; border-radius: 0; }
.rcst-search button { border: 0; border-radius: 0; background: var(--rcst-accent); color: #1a0d04; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; padding: 0 20px; cursor: pointer; }
.rcst-ctas { display: flex; gap: 10px; flex-wrap: wrap; }
.rcst-hero .rcst-btn--ghost { color: #f1f2f4 !important; border-color: #3a3d44; }
.rcst-stats { display: flex; gap: 22px; flex-wrap: wrap; margin-top: 20px; color: #a4a8b0; font-size: 14px; }
.rcst-stats b { color: #fff; font-family: var(--rcst-mono); font-weight: 600; }
.rcst-hero__model { position: relative; }
.rcst-hero__model .rcs-viewer { margin: 0; background: transparent; }
.rcst-hero__model .rcs-viewer canvas { aspect-ratio: 16 / 11; }
.rcst-hero__model .rcs-viewer figcaption { left: auto; right: 0; bottom: -2px; }
.rcst-hero__link { display: inline-block; margin-top: 10px; color: #ff9a5c; font-weight: 600; font-size: 14px; }

/* ---------- Home: band + sections --------------------------------------- */
.rcst-band { background: #fff; border-bottom: 1px solid var(--rcst-line); }
.rcst-band__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 2fr); gap: 28px; padding-block: 34px; align-items: start; }
.rcst-band h2 { font-size: clamp(28px, 3vw, 36px); margin: 6px 0 0; }
.rcst-why { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 26px; }
.rcst-why li { border-top: 2px solid var(--rcst-accent); padding-top: 10px; color: var(--rcst-muted); font-size: 15px; }
.rcst-why b { display: block; color: var(--rcst-ink); font-size: 16px; margin-bottom: 2px; }

.rcst-section { padding-block: 40px; }
.rcst-section--alt { background: #eaeaec; }
.rcst-section__head { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; margin-bottom: 16px; flex-wrap: wrap; }
.rcst-section__head h2 { font-size: 32px; margin: 0; }
.rcst-section__head a { font-weight: 600; font-size: 14px; }
.rcst-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.rcst-panel { background: #fff; border: 1px solid var(--rcst-line); border-radius: 8px; padding: 22px; }
.rcst-list { list-style: none; margin: 0; padding: 0; }
.rcst-list li { padding: 9px 0; border-top: 1px solid var(--rcst-line); }
.rcst-list li:first-child { border-top: 0; }
.rcst-list a { color: var(--rcst-ink); font-weight: 600; }

.rcst-rcfy { background: var(--rcst-dark); color: #a3a8b1; }
.rcst-rcfy__row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-block: 30px; flex-wrap: wrap; }
.rcst-rcfy p { margin: 0; max-width: 62ch; }
.rcst-rcfy b { color: #fff; }
.rcst-rcfy .rcst-btn--ghost { color: #f1f2f4 !important; border-color: #3a3d44; }

/* ---------- Archive head ------------------------------------------------ */
.rcst-pagehead { background: radial-gradient(110% 120% at 80% 20%, #1b1d22 0%, var(--rcst-dark) 60%); color: #f1f2f4; padding-block: 40px 34px; }
.rcst-pagehead h1 { color: #fff; font-size: clamp(38px, 5vw, 58px); margin: 8px 0 8px; }
.rcst-pagehead .rcst-lede { color: #a3a8b1; margin: 0; }
.rcst-pagination { margin-top: 24px; }

/* ---------- Cards + grid ------------------------------------------------- */
.rcs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.rcs-card { background: #fff; border: 1px solid var(--rcst-line); border-radius: 8px; overflow: hidden; transition: border-color .15s, transform .15s; }
.rcs-card:hover { border-color: var(--rcst-accent); transform: translateY(-2px); }
.rcs-card__link { display: flex; flex-direction: column; height: 100%; color: inherit !important; text-decoration: none !important; }
.rcs-card__media { aspect-ratio: 16 / 10; background: #101114; display: grid; place-items: center; overflow: hidden; }
.rcs-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rcs-card__ph { color: #6f747c; font-family: var(--rcst-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.rcs-card__body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 5px; flex: 1; }
.rcs-card__car { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rcst-accent-ink); }
.rcs-card__title { font-size: 22px !important; font-weight: 700 !important; margin: 0; color: var(--rcst-ink); }
.rcs-card__meta { font-size: 13px; color: var(--rcst-muted); font-family: var(--rcst-mono); }
.rcs-card__foot { display: flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 10px; border-top: 1px solid var(--rcst-line); }
.rcs-card__price { font-family: var(--rcst-display); font-style: italic; font-weight: 800; font-size: 20px; color: #1e8a4c; }
.rcs-card__type { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; background: #ececee; color: var(--rcst-muted); border-radius: 3px; padding: 2px 7px; }
.rcs-card__count { font-size: 12px; color: var(--rcst-muted); margin-left: auto; }
.rcs-empty { padding: 36px; text-align: center; color: var(--rcst-muted); border: 1px dashed var(--rcst-line); border-radius: 8px; background: #fff; }

/* ---------- Filter chips ------------------------------------------------- */
.rcs-filters { display: grid; gap: 10px; margin-bottom: 26px; }
.rcs-filters__row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.rcs-filters__label { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--rcst-muted); min-width: 60px; }
.rcs-chip { border: 1px solid var(--rcst-line); background: #fff; border-radius: 999px; padding: 5px 13px; font-size: 13px; font-weight: 600; color: var(--rcst-ink) !important; text-decoration: none !important; }
.rcs-chip:hover { border-color: var(--rcst-accent); }
.rcs-chip.is-on { background: var(--rcst-ink); border-color: var(--rcst-ink); color: #fff !important; }
.rcs-filters__row--sub .rcs-chip { font-weight: 500; }

/* ---------- Single listing ---------------------------------------------- */
.single-download .entry-title { font-size: clamp(34px, 4.4vw, 48px); }
.single-download .rcs-viewer { border-radius: 8px; }
.rcs-download .rcs-free { font-family: var(--rcst-display); }

/* ---------- Forums (bbPress) -------------------------------------------- */
#bbpress-forums { font-size: 15px; }
#bbpress-forums li.bbp-header { background: var(--rcst-dark); color: #d7d9dd; border: 0; border-radius: 6px 6px 0 0; text-transform: uppercase; letter-spacing: .06em; font-size: 12px; }
#bbpress-forums ul.bbp-forums, #bbpress-forums ul.bbp-topics, #bbpress-forums ul.bbp-replies { border-color: var(--rcst-line); border-radius: 6px; overflow: hidden; }
#bbpress-forums li.bbp-body ul.forum, #bbpress-forums li.bbp-body ul.topic { border-top-color: var(--rcst-line); }
#bbpress-forums a.bbp-forum-title, #bbpress-forums a.bbp-topic-permalink { font-weight: 700; color: var(--rcst-ink); font-size: 16px; }
#bbpress-forums .bbp-forums-list li a { color: var(--rcst-accent-ink); }
#bbpress-forums fieldset.bbp-form { border-color: var(--rcst-line); border-radius: 8px; background: #fff; }
#bbpress-forums .bbp-submit-wrapper button { background: var(--rcst-accent); color: #1a0d04; border: 0; border-radius: 5px; padding: 10px 16px; font-weight: 700; text-transform: uppercase; }

/* ---------- Footer ------------------------------------------------------- */
.site-footer, .site-footer .site-footer-row-container-inner { background: var(--rcst-dark) !important; color: #7d828b; }
.site-footer a { color: #a3a8b1; }

/* ---------- Small screens ----------------------------------------------- */
@media (max-width: 900px) {
	.rcst-hero__grid, .rcst-band__grid, .rcst-two { grid-template-columns: 1fr; }
	.rcst-hero__model { order: -1; }
}
@media (max-width: 560px) {
	.rcst-why { grid-template-columns: 1fr; }
	#masthead .site-title, #mobile-header .site-title { font-size: 17px !important; }
	#mobile-header .custom-logo { max-height: 42px !important; }
}
@media (prefers-reduced-motion: reduce) { .rcs-card { transition: none; } }

/* Tighter menu on laptop-width screens so it stays on one line */
@media (max-width: 1440px) {
	#masthead .header-navigation .menu > li > a,
	#masthead .main-navigation .primary-menu-container > ul > li.menu-item > a { padding-left: .5em; padding-right: .5em; font-size: 12px; letter-spacing: .04em; }
	#masthead .site-title::after { content: ""; }
}

/* Keep the menu on one line */
#masthead .header-navigation ul.menu { flex-wrap: nowrap; }
#masthead .header-navigation ul.menu > li > a { white-space: nowrap; }
@media (max-width: 1280px) {
	#masthead .site-title { font-size: 19px !important; }
	#masthead .custom-logo { max-height: 48px !important; }
}

/* ---------- Listing page (single-download.php) -------------------------- */
.rcst-single__bar { background: var(--rcst-dark); border-bottom: 1px solid #22252a; }
.rcst-single__bar .rcst-wrap { padding-block: 12px; }
.rcst-single__bar a { color: #a4a8b0; font-weight: 600; font-size: 14px; text-decoration: none; }
.rcst-single__bar a:hover { color: #fff; }
.rcst-single__grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 26px; align-items: start; padding-block: 26px 40px; }
.rcst-single__main .rcs-viewer { margin: 0; border-radius: 10px; }
.rcst-single__main .rcs-viewer canvas { aspect-ratio: 4 / 3; }
.rcst-single__img { width: 100%; height: auto; border-radius: 10px; display: block; }
.rcst-prose { background: #fff; border: 1px solid var(--rcst-line); border-radius: 10px; padding: 6px 22px 16px; margin-top: 18px; font-size: 16px; }
.rcst-single__main .rcs-related { background: #fff; border: 1px solid var(--rcst-line); border-radius: 10px; padding: 6px 22px 14px; margin-top: 18px; }
.rcst-single__side { display: grid; gap: 16px; position: sticky; top: 90px; }
.rcst-sidecard { background: #fff; border: 1px solid var(--rcst-line); border-radius: 10px; padding: 20px 22px; }
.rcst-sidecard .rcs-details .rcs-h { margin-top: 0; }
.rcst-single__car { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--rcst-accent-ink); }
.rcst-single__title { font-size: clamp(32px, 3.4vw, 44px) !important; margin: 6px 0 10px; color: var(--rcst-ink); }
.rcst-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.rcst-tag { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; background: #ececee; color: var(--rcst-muted) !important; border-radius: 3px; padding: 3px 8px; text-decoration: none !important; }
.rcst-tag--kind { background: #fde6d6; color: var(--rcst-accent-ink) !important; }
.rcst-tag--ok { background: #dcf2e5; color: #1e8a4c !important; }
.rcst-sidecard .rcs-download { margin: 0 0 10px; border: 0; padding: 0; }
.rcst-sidecard .rcs-free { font-size: 30px; }
.rcst-sidecard .rcs-files .rcs-btn { width: 100%; text-align: center; box-sizing: border-box; }
.rcst-sidecard .rcs-files li { display: grid; gap: 6px; }
.rcst-sidecard .rcs-file { margin: 0; }
.rcst-shared { color: var(--rcst-muted); font-size: 13px; margin: 8px 0 0; }
.rcst-single__side .rcs-rcfy { margin: 0; background: #fff; }
.rcs-details td { font-family: var(--rcst-mono); font-size: 13px; }
@media (max-width: 960px) {
	.rcst-single__grid { grid-template-columns: 1fr; }
	.rcst-single__side { position: static; }
}

/* Hero caption sits under the model instead of over it */
.rcst-hero__model .rcs-viewer figcaption { position: static; text-align: right; margin-top: 2px; color: #6f747c; }

/* ---------- Members, account, projects ---------------------------------- */
.rcst-pagehead__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.rcst-member-grid { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 26px; align-items: start; }
.rcs-member { background: #fff; border: 1px solid var(--rcst-line); border-radius: 10px; padding: 20px; position: sticky; top: 90px; }
.rcs-member__top { display: flex; gap: 14px; align-items: center; }
.rcs-member__avatar { border-radius: 50%; }
.rcs-member__name { font-family: var(--rcst-display); font-style: italic; font-weight: 800; font-size: 26px; line-height: 1.05; }
.rcs-member__since { color: var(--rcst-muted); font-size: 13px; }
.rcs-member__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 16px 0; text-align: center; }
.rcs-member__stats div { background: #f3f3f4; border-radius: 6px; padding: 8px; font-size: 12px; color: var(--rcst-muted); text-transform: uppercase; letter-spacing: .06em; }
.rcs-member__stats b { display: block; font-family: var(--rcst-mono); font-size: 20px; color: var(--rcst-ink); letter-spacing: 0; }
.rcs-member__facts { list-style: none; margin: 0; padding: 0; font-size: 14px; }
.rcs-member__facts li { padding: 7px 0; border-top: 1px solid var(--rcst-line); }
.rcs-member__facts span { display: block; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rcst-muted); }
.rcs-member__bio { color: var(--rcst-muted); font-size: 14px; margin: 12px 0 0; }

.rcs-account__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 26px; align-items: start; }
.rcs-account__form, .rcs-account__list { background: #fff; border: 1px solid var(--rcst-line); border-radius: 10px; padding: 18px 20px; }
.rcs-account__list + .rcs-account__list { margin-top: 18px; }
.rcs-account__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.rcs-account__head .rcs-h { margin: 0; }
.rcs-btn--small { padding: 8px 12px; font-size: 12px; }
.rcs-rows { list-style: none; margin: 10px 0 0; padding: 0; }
.rcs-rows li { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 9px 0; border-top: 1px solid var(--rcst-line); }
.rcs-rows li a { font-weight: 600; color: var(--rcst-ink); flex: 1; min-width: 160px; }
.rcs-rows__meta { color: var(--rcst-muted); font-size: 12px; }
.rcs-status { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; border-radius: 3px; padding: 2px 7px; }
.rcs-status--publish { background: #dcf2e5; color: #1e8a4c; }
.rcs-status--pending, .rcs-status--draft { background: #fde6d6; color: var(--rcst-accent-ink); }

.rcs-pickfiles { border: 1px solid var(--rcst-line); border-radius: 8px; padding: 10px 14px; margin: 6px 0 12px; }
.rcs-pickfiles legend { font-weight: 700; font-size: 14px; padding: 0 4px; }
.rcs-pickfiles__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 4px 16px; max-height: 240px; overflow: auto; }

/* Page content (share, account, post a project, dmca) */
.page .entry-content-wrap, .page .entry.content-bg { border-radius: 10px; }
.rcst-comments { max-width: 860px; }
.rcst-comments .comment-respond, .rcst-comments .comments-area { background: #fff; border: 1px solid var(--rcst-line); border-radius: 10px; padding: 18px 22px; }
.rcst-agent, .rcst-agent a { font-size: 16px; }

/* Forums: nicer "log in to post" box */
#bbpress-forums .bbp-template-notice { border-radius: 6px; border-color: #f3c3a2; background: #fff5ee; color: #7a3208; }

@media (max-width: 900px) {
	.rcst-member-grid, .rcs-account__grid { grid-template-columns: 1fr; }
	.rcs-member { position: static; }
}
