/* Gimball Digital - Strong Yellow & Black Theme */

:root {
    --gimball-black: #050505;
    --gimball-dark: #0b0b0b;
    --gimball-card: #121212;
    --gimball-card-soft: #181818;
    --gimball-border: #333333;
    --gimball-yellow: #ffc107;
    --gimball-yellow-soft: #ffdd57;
    --gimball-yellow-dark: #c79000;
    --gimball-text: #f5f5f5;
    --gimball-muted: #d2d2d2;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--gimball-black) !important;
    color: var(--gimball-text) !important;
    line-height: 1.6;
}

a { color: var(--gimball-yellow); }
a:hover { color: var(--gimball-yellow-soft); }

/* Bootstrap color overrides */
.text-primary { color: var(--gimball-yellow) !important; }
.text-secondary, .text-muted { color: var(--gimball-muted) !important; }
.text-success { color: var(--gimball-yellow-soft) !important; }
.text-warning { color: var(--gimball-yellow) !important; }
.bg-dark { background-color: var(--gimball-dark) !important; }
.bg-black { background-color: #000 !important; }
.bg-secondary { background-color: #262626 !important; color: var(--gimball-muted) !important; }
.bg-primary {
    background: linear-gradient(135deg, var(--gimball-yellow), var(--gimball-yellow-dark)) !important;
    color: #000 !important;
}
.bg-info {
    background: #252525 !important;
    color: var(--gimball-yellow) !important;
    border: 1px solid rgba(255,193,7,.45);
}
.border-secondary, .border-primary { border-color: var(--gimball-border) !important; }
hr { border-color: var(--gimball-border) !important; opacity: 1; }

/* Navbar */
.navbar {
    background: #000 !important;
    border-bottom: 1px solid rgba(255, 193, 7, 0.35) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.navbar-brand {
    font-size: 1.4rem;
    letter-spacing: 1px;
}

.navbar .nav-link {
    color: #e2e2e2 !important;
    transition: color 0.2s ease;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active {
    color: var(--gimball-yellow) !important;
}

/* Hero Section */
.hero-section {
    min-height: 85vh;
    background:
        radial-gradient(circle at 50% 35%, rgba(255, 193, 7, 0.20) 0%, rgba(255, 193, 7, 0.07) 28%, transparent 58%),
        linear-gradient(135deg, #000 0%, #111 48%, #050505 100%);
    position: relative;
    overflow: hidden;
}

.hero-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><rect width="100" height="100" fill="none" stroke="%23333333" stroke-width="0.5"/></svg>');
    opacity: 0.22;
    pointer-events: none;
}

.hero-section::after {
    content: '';
    position: absolute;
    width: 420px;
    height: 420px;
    right: -140px;
    bottom: -160px;
    background: rgba(255, 193, 7, 0.15);
    filter: blur(70px);
    border-radius: 50%;
    pointer-events: none;
}

.hero-section .container { position: relative; z-index: 1; }

/* Buttons */
.btn-primary {
    background: linear-gradient(135deg, var(--gimball-yellow), var(--gimball-yellow-dark)) !important;
    border: none !important;
    color: #000 !important;
    font-weight: 800;
    transition: transform 0.2s, box-shadow 0.2s, filter 0.2s;
}

.btn-primary:hover,
.btn-primary:focus {
    color: #000 !important;
    transform: translateY(-2px);
    filter: brightness(1.07);
    box-shadow: 0 8px 24px rgba(255, 193, 7, 0.36) !important;
}

.btn-outline-light,
.btn-outline-primary {
    border-color: var(--gimball-yellow) !important;
    color: var(--gimball-yellow) !important;
    font-weight: 700;
}

.btn-outline-light:hover,
.btn-outline-light:focus,
.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: var(--gimball-yellow) !important;
    color: #000 !important;
    border-color: var(--gimball-yellow) !important;
}

.btn-outline-secondary {
    border-color: #777 !important;
    color: #eeeeee !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    background: #222 !important;
    color: var(--gimball-yellow) !important;
    border-color: var(--gimball-yellow) !important;
}

/* Cards */
.card,
.bg-card {
    background: linear-gradient(180deg, var(--gimball-card-soft), var(--gimball-card)) !important;
    border: 1px solid var(--gimball-border) !important;
    color: var(--gimball-text) !important;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
    box-shadow: 0 12px 28px rgba(0,0,0,0.26);
}

.card:hover,
.bg-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 193, 7, 0.60) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,193,7,0.10);
}

.card-header,
.card-footer {
    background: #0a0a0a !important;
    color: var(--gimball-text) !important;
    border-color: var(--gimball-border) !important;
}

.card-title,
.card h1,
.card h2,
.card h3,
.card h4,
.card h5,
.card h6 {
    color: #fff !important;
}

.card-text,
.card p,
.card li,
.card small,
.list-unstyled,
.card .text-secondary {
    color: var(--gimball-muted) !important;
}

.badge.bg-primary {
    background: linear-gradient(135deg, var(--gimball-yellow), var(--gimball-yellow-dark)) !important;
    color: #000 !important;
    font-weight: 800;
}

.card-img-top.bg-secondary {
    background: #222 !important;
    color: var(--gimball-muted) !important;
}

/* Services */
.service-icon {
    font-size: 2.5rem;
    line-height: 1;
    color: var(--gimball-yellow);
    filter: drop-shadow(0 0 10px rgba(255,193,7,0.24));
}

/* Background sections */
.bg-section {
    background: linear-gradient(180deg, #0a0a0a, #111) !important;
    border-top: 1px solid rgba(255,193,7,0.10);
    border-bottom: 1px solid rgba(255,193,7,0.10);
}

/* Breadcrumb */
.breadcrumb-item.active { color: var(--gimball-muted) !important; }

/* Forms */
.form-label,
label { color: var(--gimball-text) !important; }

.form-control.bg-dark,
.form-select.bg-dark,
.form-control,
.form-select,
textarea {
    background-color: #0d0d0d !important;
    border-color: #555 !important;
    color: var(--gimball-text) !important;
    color-scheme: dark;
}

.form-control::placeholder,
.form-select::placeholder { color: #9d9d9d !important; }

.form-control:focus,
.form-select:focus,
textarea:focus {
    border-color: var(--gimball-yellow) !important;
    box-shadow: 0 0 0 0.2rem rgba(255,193,7,.20) !important;
    background-color: #101010 !important;
    color: var(--gimball-text) !important;
}

.form-select option {
    background: #111 !important;
    color: #fff !important;
}

/* Tables */
.table,
.table-dark-custom,
.table-dark-custom td,
.table-dark-custom th {
    background-color: var(--gimball-card) !important;
    color: var(--gimball-text) !important;
    border-color: var(--gimball-border) !important;
}

.table-dark-custom th,
.table thead th {
    background-color: #000 !important;
    color: var(--gimball-yellow) !important;
}

.table-hover tbody tr:hover td,
.table-hover tbody tr:hover th {
    background: #202020 !important;
    color: #fff !important;
}

/* Alerts */
.alert-success {
    background: rgba(255,193,7,.14) !important;
    color: var(--gimball-yellow-soft) !important;
    border-color: rgba(255,193,7,.35) !important;
}

.alert-danger {
    background: rgba(176,0,32,.16) !important;
    color: #ffb4b4 !important;
    border-color: rgba(255,107,107,.35) !important;
}

/* Success page */
.success-countdown {
    color: var(--gimball-yellow);
    font-weight: 800;
}

/* Footer */
footer {
    background: #000 !important;
    border-top: 1px solid rgba(255, 193, 7, 0.25) !important;
}

@media (max-width: 767px) {
    .hero-section { min-height: 60vh; }
    .hero-section h1 { font-size: 2rem; }
}
