/* ========================================
   Racing Pit Stop - Base Styles
   CSS Prefix: rac-
   Design: F1 Racing Pit Stop Theme
   ======================================== */

:root {
    --rac-color-primary: #1A1A1A;
    --rac-color-secondary: #333333;
    --rac-color-accent: #FF0000;
    --rac-color-highlight: #FFFF00;
    --rac-color-bg: #0D0D0D;
    --rac-color-text: #F0F0F0;
    --rac-color-text-muted: #AAAAAA;
    --rac-font-heading: 'Orbitron', 'Rajdhani', sans-serif;
    --rac-font-body: 'Roboto Condensed', 'Roboto', sans-serif;
    --rac-border-radius: 4px;
    --rac-box-shadow: 0 0 10px rgba(255,0,0,0.5);
    --rac-box-shadow-hover: 0 0 20px rgba(255,0,0,0.7);
    --rac-transition: all 0.3s ease;
}

/* Reset & Base */
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    font-family: var(--rac-font-body);
    background-color: var(--rac-color-bg);
    color: var(--rac-color-text);
    line-height: 1.7;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

a {
    color: var(--rac-color-accent);
    text-decoration: none;
    transition: var(--rac-transition);
}

a:hover {
    color: var(--rac-color-highlight);
    text-decoration: underline;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--rac-font-heading);
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 0.8em;
    color: var(--rac-color-text);
}

h1 { font-size: 2.4rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.4rem; }
h4 { font-size: 1.2rem; }

p {
    margin-bottom: 1em;
    font-size: 1rem;
    line-height: 1.7;
}

ul, ol {
    margin-bottom: 1em;
    padding-left: 1.5em;
}

li {
    margin-bottom: 0.4em;
}

table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1.5em;
}

th, td {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid var(--rac-color-secondary);
}

th {
    background-color: var(--rac-color-primary);
    color: var(--rac-color-accent);
    font-family: var(--rac-font-heading);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 1px;
}

tr:hover {
    background-color: rgba(255,0,0,0.05);
}

/* Container */
.rac-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Section spacing */
section {
    padding: 60px 0;
}

/* Utility Classes */
.rac-text-center { text-align: center; }
.rac-text-accent { color: var(--rac-color-accent); }
.rac-text-highlight { color: var(--rac-color-highlight); }
.rac-hidden-mobile { display: block; }

@media (max-width: 767px) {
    .rac-hidden-mobile { display: none; }
}
