/*
Theme Name: Rallix Motorsport Theme
Theme URI: https://senajventures.com/
Author: Senaj Ventures Ltd
Author URI: https://senajventures.com/
Description: A lightweight dark motorsport companion theme designed for the Rallix / Motorsport Manager Pro plugin. Includes full-width templates, transparent-to-solid header behaviour, responsive event cards, and high-contrast results pages.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: rallix-motorsport
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
  --rx-bg:#07090b;
  --rx-surface:#101419;
  --rx-surface-2:#171c22;
  --rx-line:#2a3139;
  --rx-text:#f7f9fb;
  --rx-muted:#bcc5cf;
  --rx-red:#e31822;
  --rx-yellow:#ffcc00;
  --rx-green:#29e36d;
  --rx-max:1380px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--rx-bg)}
body{margin:0;background:var(--rx-bg);color:var(--rx-text);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.site{min-height:100vh;background:
  radial-gradient(circle at 80% 0,rgba(227,24,34,.12),transparent 30%),
  linear-gradient(135deg,rgba(255,255,255,.018) 25%,transparent 25%) 0 0/18px 18px,
  var(--rx-bg)}
.rx-shell{width:min(calc(100% - 40px),var(--rx-max));margin-inline:auto}

.rx-header{position:fixed;inset:0 0 auto;z-index:999;background:linear-gradient(180deg,rgba(0,0,0,.86),rgba(0,0,0,0));transition:.25s ease;border-bottom:1px solid transparent}
.rx-header.is-scrolled{background:rgba(5,7,9,.96);backdrop-filter:blur(12px);border-color:rgba(255,255,255,.08);box-shadow:0 10px 30px rgba(0,0,0,.28)}
.rx-header-inner{min-height:84px;display:flex;align-items:center;gap:28px}
.rx-brand{display:flex;align-items:center;flex:0 0 auto}
.rx-brand img{width:220px;max-height:58px;object-fit:contain;object-position:left center}
.rx-nav{margin-left:auto;display:flex;align-items:center;gap:8px}
.rx-nav ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.rx-nav a{display:block;padding:13px 15px;color:#fff;font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid transparent}
.rx-nav a:hover,.rx-nav .current-menu-item>a{color:#fff;border-color:var(--rx-red)}
.rx-menu-toggle{display:none;margin-left:auto;background:#11161c;color:#fff;border:1px solid #313943;border-radius:8px;padding:10px 13px;font-weight:800}

.rx-page{padding-top:84px;min-height:70vh}
.rx-content{width:min(calc(100% - 40px),var(--rx-max));margin:0 auto;padding:42px 0 72px}
.rx-content.narrow{max-width:980px}
.entry-title,.page-title{color:#fff;font-size:clamp(30px,4vw,58px);line-height:1.02;text-transform:uppercase;font-style:italic;letter-spacing:-.03em;margin:0 0 24px}
.entry-content{color:var(--rx-text)}
.entry-content p,.entry-content li{color:var(--rx-text)}
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4{color:#fff}
.entry-content a{color:#ff5460}

/* Rallix plugin compatibility */
.rallix-app,.rallix-public,.mmp-public,.motorsport-manager-public,.rallix-results-wrap,.mmp-results-wrap{color:var(--rx-text)!important;background:transparent!important}
.rallix-app *, .rallix-public *, .mmp-public *, .motorsport-manager-public *{box-sizing:border-box}
.rallix-app h1,.rallix-app h2,.rallix-app h3,.rallix-public h1,.rallix-public h2,.rallix-public h3,.mmp-public h1,.mmp-public h2,.mmp-public h3{color:#fff!important}
.rallix-app p,.rallix-app span,.rallix-app label,.rallix-public p,.rallix-public span,.rallix-public label,.mmp-public p,.mmp-public span,.mmp-public label{color:inherit}

/* Event hub */
.rx-event-grid,.rallix-event-grid,.mmp-event-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.rx-event-card,.rallix-event-card,.mmp-event-card{position:relative;min-height:220px;border:1px solid var(--rx-line);border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#20262d,#0d1014);box-shadow:0 18px 40px rgba(0,0,0,.28);transition:.2s ease}
.rx-event-card:hover,.rallix-event-card:hover,.mmp-event-card:hover{transform:translateY(-4px);border-color:rgba(227,24,34,.8);box-shadow:0 24px 50px rgba(0,0,0,.4)}
.rx-section-title{display:flex;align-items:center;gap:12px;color:#fff;text-transform:uppercase;font-size:clamp(23px,2.4vw,34px);font-style:italic;margin:34px 0 18px}
.rx-section-title:before{content:"";width:7px;height:30px;background:var(--rx-red);transform:skew(-14deg)}

/* Results tables */
.rallix-results-wrap,.mmp-results-wrap,.results-wrapper,.rallix-table-wrap{width:min(calc(100% - 24px),1320px)!important;margin:24px auto!important;padding:0!important}
.rallix-results-wrap table,.mmp-results-wrap table,.results-table,.rallix-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;background:#101419!important;color:#fff!important;border:1px solid #2c333b!important;border-radius:12px!important;overflow:hidden!important}
.rallix-results-wrap th,.mmp-results-wrap th,.results-table th,.rallix-table th{position:sticky;top:84px;z-index:4;background:#181e25!important;color:#fff!important;text-transform:uppercase;font-size:12px;letter-spacing:.05em;border-bottom:1px solid #343c46!important;padding:13px 12px!important;white-space:nowrap}
.rallix-results-wrap td,.mmp-results-wrap td,.results-table td,.rallix-table td{color:#f6f8fb!important;background:#101419!important;border-bottom:1px solid #222931!important;padding:13px 12px!important;vertical-align:middle}
.rallix-results-wrap tr:nth-child(even) td,.mmp-results-wrap tr:nth-child(even) td,.results-table tr:nth-child(even) td,.rallix-table tr:nth-child(even) td{background:#13181e!important}
.rallix-results-wrap tr:hover td,.mmp-results-wrap tr:hover td,.results-table tr:hover td,.rallix-table tr:hover td{background:#1b222a!important}
.rallix-results-wrap td:first-child,.rallix-results-wrap th:first-child,.mmp-results-wrap td:first-child,.mmp-results-wrap th:first-child{text-align:center!important;width:65px}
.rallix-results-wrap td:last-child,.rallix-results-wrap th:last-child,.mmp-results-wrap td:last-child,.mmp-results-wrap th:last-child{text-align:right!important;font-variant-numeric:tabular-nums}
.rallix-table-scroll,.results-scroll,.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}

button,.button,input[type=submit],.wp-element-button{background:var(--rx-red);color:#fff!important;border:1px solid var(--rx-red);border-radius:7px;padding:11px 17px;font-weight:900;text-transform:uppercase;letter-spacing:.035em;cursor:pointer}
button:hover,.button:hover,input[type=submit]:hover,.wp-element-button:hover{filter:brightness(1.1);transform:translateY(-1px)}
input,select,textarea{background:#11161b;color:#fff;border:1px solid #343c45;border-radius:7px;padding:11px 12px}

.rx-footer{border-top:1px solid rgba(255,255,255,.1);background:#050607;padding:42px 0 18px;color:#fff}
.rx-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;align-items:start}
.rx-footer-logo{width:220px;margin-bottom:16px}
.rx-footer h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin:0 0 12px}
.rx-footer p,.rx-footer li,.rx-footer a{color:#c5ccd4;font-size:14px}
.rx-footer ul{list-style:none;padding:0;margin:0}
.rx-footer-bottom{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;color:#8e98a4;font-size:13px}

@media(max-width:1100px){
  .rx-event-grid,.rallix-event-grid,.mmp-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rx-nav{position:fixed;top:84px;left:0;right:0;background:#07090b;border-top:1px solid #262d35;display:none;padding:12px 20px 24px}
  .rx-nav.is-open{display:block}
  .rx-nav ul{display:block}
  .rx-nav a{padding:13px 4px;border-bottom:1px solid #20262d}
  .rx-menu-toggle{display:block}
}
@media(max-width:700px){
  .rx-shell,.rx-content{width:min(calc(100% - 24px),var(--rx-max))}
  .rx-header-inner{min-height:72px}
  .rx-brand img{width:165px;max-height:48px}
  .rx-page{padding-top:72px}
  .rx-nav{top:72px}
  .rx-event-grid,.rallix-event-grid,.mmp-event-grid{grid-template-columns:1fr}
  .rx-footer-grid{grid-template-columns:1fr}
  .rx-footer-bottom{display:block;line-height:1.9}
  .rallix-results-wrap,.mmp-results-wrap,.results-wrapper,.rallix-table-wrap{width:100%!important;margin:18px 0!important;overflow-x:auto}
  .rallix-results-wrap table,.mmp-results-wrap table,.results-table,.rallix-table{min-width:780px}
  .rallix-results-wrap th,.mmp-results-wrap th,.results-table th,.rallix-table th{top:72px}
}


/* Dynamic Motorsport Manager Pro portal integration */
body.rx-plugin-portal{overflow-x:hidden;background:#050607}
.rx-portal-site,.rx-portal-main{min-height:100vh;width:100%;margin:0;padding:0;background:#050607}
.rx-portal-main>.mmp-event-directory{margin:0!important;max-width:none!important;width:100%!important}
.rx-portal-main .mmp-event-directory,
.rx-portal-main .mmp-event-directory *{box-sizing:border-box}

/* Ensure every word remains readable on the dark portal */
.rx-portal-main .mmp-event-directory{color:#f7f9fb!important}
.rx-portal-main .mmp-event-directory h1,
.rx-portal-main .mmp-event-directory h2,
.rx-portal-main .mmp-event-directory h3,
.rx-portal-main .mmp-event-directory h4,
.rx-portal-main .mmp-event-directory strong,
.rx-portal-main .mmp-event-directory b{color:#fff!important}
.rx-portal-main .mmp-event-directory p,
.rx-portal-main .mmp-event-directory span,
.rx-portal-main .mmp-event-directory small,
.rx-portal-main .mmp-event-directory label{color:inherit}
.rx-portal-main .mmp-event-directory .mmp-event-card,
.rx-portal-main .mmp-event-directory .mmp-event-card *{color:#fff}
.rx-portal-main .mmp-event-directory .is-upcoming,
.rx-portal-main .mmp-event-directory .is-upcoming *{color:#fff}

/* Preserve the plugin's transparent header and let it become black on scroll */
.rx-portal-main .mmp-site-header{position:fixed!important;top:0;left:0;right:0;z-index:1000;background:linear-gradient(180deg,rgba(0,0,0,.88),rgba(0,0,0,0))!important;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease!important}
.rx-portal-main .mmp-site-header.is-scrolled,
.rx-portal-main .mmp-site-header.mmp-is-scrolled{background:rgba(3,4,5,.97)!important;backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 12px 35px rgba(0,0,0,.45)}

/* Full-bleed hero and professional content width */
.rx-portal-main .mmp-event-hero{padding-top:88px!important}
.rx-portal-main .mmp-event-directory>.mmp-event-sections,
.rx-portal-main .mmp-directory-stats,
.rx-portal-main .mmp-event-hub,
.rx-portal-main .mmp-home-footer{width:min(calc(100% - 40px),1450px)!important;margin-left:auto!important;margin-right:auto!important}

/* Dynamic event cards: four desktop, two tablet, one small phone */
.rx-portal-main .mmp-directory-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important}
.rx-portal-main .mmp-directory-card{min-width:0!important;height:100%!important}

/* Plugin inactive message */
.rx-plugin-required{text-align:center;padding:90px 24px;border:1px solid #29313a;border-radius:16px;background:#0e1217}
.rx-plugin-required img{width:min(320px,80%);margin-bottom:24px}
.rx-plugin-required h1{margin:0 0 14px;color:#fff}
.rx-plugin-required p{max-width:700px;margin:0 auto 24px;color:#c6ced7}

@media(max-width:1100px){
  .rx-portal-main .mmp-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .rx-portal-main .mmp-featured-live{position:static!important}
}
@media(max-width:640px){
  .rx-portal-main .mmp-event-directory>.mmp-event-sections,
  .rx-portal-main .mmp-directory-stats,
  .rx-portal-main .mmp-event-hub,
  .rx-portal-main .mmp-home-footer{width:min(calc(100% - 20px),1450px)!important}
  .rx-portal-main .mmp-directory-grid{grid-template-columns:1fr!important;gap:12px!important}
  .rx-portal-main .mmp-event-hero{padding-top:70px!important}
}
