.h1,h1,.h2,h2,.h3,h3{font-family:var(--heading-font);} 
p{font-family:var(--body-font);} 
:root{
  --brand-primary:#FE0000;
  --brand-hover:#A50202;
  --text:#FFFFFF;
  --text-muted:#B9C0CC;
  --bg:#000000; /* primary + content */
  --bg-elevated:#0F172A; /* secondary */
  --bg-muted:#070614; /* subtle bg + borders */
  --bg-alt:#5A0101; /* alternate (darker) */
  --support:#222222; /* other supporting */
  --border:#070614;
  --heading-font:'Orbitron',sans-serif;
  --body-font:'Electrolize',system-ui,-apple-system,"Segoe UI",Roboto;
}
html,body{height:100%;}
body{font-family:var(--body-font);color:var(--text);background:var(--bg);} 
a{color:var(--brand-primary);} a:hover{color:var(--brand-hover);} 
.score-yellow{ color:#ffd54f !important; }
.navbar{background-color:#0f0f10!important;border-bottom:1px solid var(--border);min-height:72px;} 
.navbar .navbar-brand{font-weight:800;letter-spacing:.5px;color:#fff!important;}
.navbar .navbar-brand span{font-family:var(--heading-font);font-weight:800;}
/* Overlayed logo: keep nav condensed, overlay logo above it */
.navbar .container{position:relative;}
.navbar .navbar-brand{position:relative;padding-left:180px;}
.brand-logo{position:absolute;left:0;top:-30px;height:165px;width:149px;z-index:1100;}
.navbar{align-items:center;}
@media (max-width: 576px){
  .navbar .navbar-brand{padding-left:48px;}
  .brand-logo{position:static;height:32px;width:auto;margin-right:.5rem;}
}
.navbar .nav-link{color:rgba(255,255,255,.9)!important;font-weight:700;letter-spacing:.3px;text-transform:uppercase;font-size:.82rem!important;}
.navbar .nav-link:hover,.navbar .nav-link:focus{color:#fff!important;}
.navbar .dropdown-menu{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.35);} 
.dropdown-item{color:var(--text);} .dropdown-item:hover{background:var(--bg-muted);color:#fff;}
.btn-brand{background:var(--brand-primary);color:#fff;border:0;border-radius:8px;padding:.6rem 1rem;font-weight:800;letter-spacing:.3px;}
.btn-brand:hover{filter:brightness(.95);} 
.hero{background:linear-gradient(180deg, rgba(0,0,0,.85), rgba(0,0,0,.6)), url('/public/images/Untitled-edited.png') center/contain no-repeat;min-height:160px;display:flex;align-items:center;color:#fff;border-bottom:1px solid var(--border);} 
/* Home: small top block, image shown between blocks */
.home-hero{min-height:80px;background:none;border-bottom:0;}
.home-hero .container{padding-top:1rem!important;padding-bottom:.75rem!important;}
@media (min-width: 992px){
  .home-hero .container{padding-left:180px;}
}
.hero-band{height:200px;background: url('/public/images/Untitled-edited.png') center/cover fixed no-repeat;border-bottom:1px solid var(--border);} 
.hero h1,.hero .h1{font-family:var(--heading-font);font-weight:900;letter-spacing:.5px;}
.section{padding:3rem 0;background:var(--bg);} 
.section-title{font-family:var(--heading-font);font-weight:900;border-left:6px solid var(--brand-primary);padding-left:.75rem;margin-bottom:1rem;color:#fff;}
.lead{color:#FFFFFF;} 
.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 28px rgba(0,0,0,.25);} 
.card-title{color:#fff;font-weight:800;}
.card-text{color:#FFFFFF;} 
.card p{color:#FFFFFF;}
.card .fs-6,.card .fs-5,.card .fs-4,.card .fs-3,.card .fs-2,.card .fs-1{color:#FFFFFF;}
.card .small{color:#FFFFFF;}
.text-muted{color:#FFFFFF!important;}
.public-card{background:var(--bg-elevated);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.32);} 
.public-card .card-header{background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border-bottom:1px solid rgba(255,255,255,.08);} 
.public-card .form-label{color:#d4dcff!important;letter-spacing:.05rem;} 
.public-input, .public-card .btn-outline-secondary {
    color: var(--public-link-color);
    border-color: rgba(255,255,255,0.2);
}

/* Global outline button fixes for dark theme */
.btn-outline-secondary {
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.4);
}
.btn-outline-secondary:hover, .btn-outline-secondary:focus {
    color: #ffffff !important;
    background-color: rgba(255,255,255,0.15);
    border-color: rgba(255,255,255,0.6);
}
.btn-secondary {
    color: #ffffff !important;
    background-color: rgba(255,255,255,0.15);
    border-color: rgba(255,255,255,0.3);
}
.btn-secondary:hover, .btn-secondary:focus {
    color: #ffffff !important;
    background-color: rgba(255,255,255,0.25);
    border-color: rgba(255,255,255,0.5);
}

.avatar-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 0.75rem;
}

.avatar-option {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 0.5rem;
    background: rgba(0,0,0,0.25);
    transition: border-color 0.2s ease, transform 0.2s ease;
    cursor: pointer;
    min-height: 120px;
}

.avatar-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.avatar-option img {
    max-width: 100%;
    max-height: 90px;
    object-fit: contain;
}

.avatar-option .avatar-none {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255,255,255,0.6);
}

.avatar-preview .btn,
.avatar-picker .btn {
    font-size: 0.75rem;
    letter-spacing: 0.06em;
}

[data-avatar-picker].d-none + .avatar-picker {
    display: none;
}

.avatar-option.selected,
.avatar-option:hover {
    border-color: var(--public-accent-color);
    transform: translateY(-2px);
}

.current-avatar {
    max-width: 180px;
    border-radius: 0.75rem;
    border: 1px solid rgba(255,255,255,0.2);
}

.form-check-label.text-light {
    color: rgba(255,255,255,0.85) !important;
}
.public-input:focus, .public-card .form-control:focus{background-color:#111a33;border-color:var(--brand-primary);color:#fff;box-shadow:0 0 0 0.2rem rgba(254,0,0,.15);} 
.public-card .form-text{color:#cbd5ff!important;} 
.public-card .btn-primary{background:var(--brand-primary);border-color:var(--brand-primary);font-weight:700;letter-spacing:.04rem;} 
.public-card .btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover);} 
.public-card .link-light{color:#dbe7ff!important;} .public-card .link-light:hover{color:#a4c6ff!important;} 

/* Force Bootstrap table tokens for dark theme */
.table{
  --bs-table-color: #ffffff;
  --bs-table-bg: #000000;
  --bs-table-border-color: var(--border);
  --bs-table-striped-bg: var(--bg-alt);
  --bs-table-striped-color: #ffffff;
  --bs-table-hover-bg: var(--bg-muted);
  --bs-table-hover-color: #ffffff;
  color: var(--bs-table-color);
  background-color: var(--bs-table-bg);
}
.table thead th{color:#FFFFFF;background:var(--bg-muted);border-color:var(--border);} 
.table td,.table th{border-color:var(--border);color:#FFFFFF;}
/* Cell-level enforcement to defeat upstream Bootstrap stripe defaults */
.table tbody tr:nth-of-type(odd)>*{background-color: var(--bg-alt) !important;color:#FFFFFF !important;}
.table tbody tr:nth-of-type(even)>*{background-color: #000000 !important;color:#FFFFFF !important;}
.table-striped>tbody>tr:nth-of-type(odd)>*{background-color: var(--bg-alt) !important;color:#FFFFFF !important;}
.table-striped>tbody>tr:nth-of-type(even)>*{background-color: #000000 !important;color:#FFFFFF !important;}

/* Offset content to avoid overlay logo overlap */
.content{padding-top:68px;}
@media (max-width: 576px){ .content{padding-top:24px;} }
@media (min-width: 992px){
  .content>h1:first-child,
  .content>h2:first-child,
  .content>.row:first-child h1,
  .content>.row:first-child h2{ padding-left:180px; }
}

/* footer */
.site-footer{background:#000;border-top:1px solid var(--border);color:var(--text-muted);} 
.site-footer a{color:var(--brand-primary);} .site-footer a:hover{color:var(--brand-hover);}

/* Mobile/Tablet improvements (edge-to-edge when offcanvas is used) */
@media (max-width: 1199.98px){
  .brand-logo{ z-index: 100; }
  .content{ padding-left:0!important; padding-right:0!important; }
  .content.container, .content.container-xl{ max-width:100% !important; width:100% !important; margin-left:0; margin-right:0; }
  .content .row{ --bs-gutter-x: 0; }
}

/* Navbar adjustments at medium desktop to prevent overflow */
@media (min-width: 992px) and (max-width: 1399.98px){
  .navbar .navbar-brand{ padding-left:120px; }
  .brand-logo{ top:-22px; height:120px; width:auto; }
  .navbar .nav-link{ font-size:.9rem; letter-spacing:.2px; padding-left:.6rem; padding-right:.6rem; }
}
/* When full menu is visible but space is tight (xl - <xxl) */
@media (min-width: 1200px) and (max-width: 1399.98px){
  .navbar .nav-link{ font-size:.76rem!important; padding-left:.4rem; padding-right:.4rem; letter-spacing:.1px; }
}
@media (min-width: 992px){
  .navbar .offcanvas-body{ display:flex; justify-content: space-between; }
}

/* Larger, bolder offcanvas toggle on sub-xl */
@media (max-width: 1199.98px){
  .navbar .navbar-toggler{ padding:.6rem .9rem; border:3px solid #ffffff; border-radius:12px; background:rgba(255,255,255,.1); }
  .navbar .navbar-toggler-icon{ width:1.9em; height:1.9em; filter: drop-shadow(0 0 3px rgba(255,255,255,.65)); }
}

/* Order Equipment form: tighter spacing and label alignment */
.order-form{ --bs-gutter-y: .25rem; --bs-gutter-x: .5rem; }
.order-form .form-label{ margin-bottom:.15rem; font-weight:700; letter-spacing:.1px; font-size:.95rem; }
.order-form .form-control,.order-form .form-select{ padding:.3rem .5rem; border-radius:6px; font-size:.95rem; line-height:1.2; }
.order-form textarea.form-control{ min-height:96px; }
.order-form .btn{ padding:.45rem .8rem; }
.section-compact{ padding:1.5rem 0; }

/* Dark theme form fixes */
.form-label { color: #e0e6f0 !important; }
.form-text { color: #a0b0c8 !important; }
.form-check-label { color: #d0d8e8 !important; }
.form-check-input { background-color: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.3); }
.form-check-input:checked { background-color: var(--brand-primary); border-color: var(--brand-primary); }
.form-control, .form-select { 
    background-color: rgba(255,255,255,0.05); 
    border-color: rgba(255,255,255,0.2); 
    color: #ffffff; 
}
.form-control:focus, .form-select:focus { 
    background-color: rgba(255,255,255,0.1); 
    border-color: var(--brand-primary); 
    color: #ffffff;
    box-shadow: 0 0 0 0.2rem rgba(254,0,0,.15);
}
.form-control::placeholder { color: rgba(255,255,255,0.4); }

/* Private event card styles */
.private-event-card { background: var(--bg-elevated); border: 1px solid rgba(255,255,255,0.1); }
.private-event-card .card-header { background: rgba(255,255,255,0.03); border-bottom: 1px solid rgba(255,255,255,0.08); }
.private-event-card h5, .private-event-card h6 { color: #ffffff; }
.private-event-card .text-muted { color: #a0b0c8 !important; }

/* Public card dark theme fixes */
.public-card h2, .public-card h3, .public-card h4, .public-card h5, .public-card h6 { color: #ffffff !important; }
.public-card .card-header { color: #ffffff; }
.public-card .card-header h5 { color: #ffffff !important; }
.public-card .text-muted { color: #b0c0d8 !important; }
.public-card p { color: #e0e8f0; }
.public-card li { color: #e0e8f0; }
.public-card .list-unstyled li { color: #d8e0ec; }
.public-card .card-body { color: #e0e8f0; }
.public-card .card-body span { color: #e0e8f0; }
.public-card .lead { color: #ffffff; }
.public-card small, .public-card .small { color: #b0c0d8 !important; }

/* Page-level headings and text for dark theme */
h2, h3, h4, h5, h6 { color: #ffffff; }
.container > h2, .container > .d-flex h2 { color: #ffffff !important; }
.container .text-muted { color: #b0c0d8 !important; }

/* Modal dark theme */
.modal-content.bg-dark { color: #ffffff; }
.modal-content.bg-dark .modal-header, 
.modal-content.bg-dark .modal-body,
.modal-content.bg-dark .modal-footer { color: #ffffff; }
.modal-content.bg-dark .form-label { color: #e0e8f0; }
.modal-content.bg-dark .form-check-label { color: #d0d8e8; }

/* Form select dropdown dark theme fix */
.form-select {
    background-color: rgba(255,255,255,0.05);
    border-color: rgba(255,255,255,0.2);
    color: #ffffff;
}
.form-select option {
    background-color: #1a1a2e;
    color: #ffffff;
}
.form-select:focus {
    background-color: rgba(255,255,255,0.1);
    border-color: var(--brand-primary);
    color: #ffffff;
    box-shadow: 0 0 0 0.2rem rgba(254,0,0,.15);
}

/* Signature canvas fix */
#signatureCanvas {
    display: block;
    min-height: 150px;
    background: #ffffff !important;
    touch-action: none;
}
.tab-pane#drawnSig {
    padding: 1rem 0;
}

/* Nav tabs dark theme */
.nav-tabs {
    border-bottom-color: rgba(255,255,255,0.2);
}
.nav-tabs .nav-link {
    color: #b0c0d8;
    border-color: transparent;
}
.nav-tabs .nav-link:hover {
    color: #ffffff;
    border-color: rgba(255,255,255,0.2) rgba(255,255,255,0.2) transparent;
}
.nav-tabs .nav-link.active {
    color: #ffffff;
    background-color: var(--bg-elevated);
    border-color: rgba(255,255,255,0.2) rgba(255,255,255,0.2) var(--bg-elevated);
}
