:root {
    --accent-color: #BD322C; /* Bendixen Rød */
    --dark-bg: #1a1a1a;
    --font-main: 'Barlow', Arial, sans-serif;
    --font-heading: 'Barlow Condensed', sans-serif;
}

body { font-family: var(--font-main); color: #444; overflow-x: hidden; }
h1, h2, h3, .btn, .nav-link, .section-title, .kicker, th { font-family: var(--font-heading); }

/* Header & Nav */
.site-header { height: 90px; }
.text-accent { color: var(--accent-color) !important; }
.btn-accent { background-color: var(--accent-color); color: white; border: none; transition: 0.3s; }
.btn-accent:hover { background-color: #a02823; color: white; transform: translateY(-2px); }

/* --- HERO FULL WIDTH VIDEO CAROUSEL --- */
#heroCarousel { width: 100vw; position: relative; margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); }

.video-wrapper { position: relative; width: 100%; height: 75vh; min-height: 500px; max-height: 850px; background: #000; overflow: hidden; }

.hero-video-bg { position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; object-fit: cover; transform: translate(-50%, -50%); }

.hero-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.55); z-index: 1; }

.carousel-caption { position: absolute; inset: 0; z-index: 2; display: flex !important; align-items: center; justify-content: center; padding: 0; text-shadow: 2px 2px 10px rgba(0,0,0,0.5); }

.hero-text-content { max-width: 900px; padding: 0 20px; }

/* Team Section */
.trainer-card .img-wrapper {
    width: 220px; height: 220px; border-radius: 50%; overflow: hidden;
    border: 5px solid var(--accent-color);
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
    transition: transform 0.3s;
}
.trainer-card:hover .img-wrapper { transform: scale(1.05); }

/* Decoration */
.section-title::after { content: ''; display: block; width: 60px; height: 4px; background: var(--accent-color); margin: 15px auto; }
.form-control:focus, .form-select:focus { border-color: var(--accent-color); box-shadow: 0 0 0 0.25rem rgba(189, 50, 44, 0.15); }

@media (max-width: 991px) {
    .video-wrapper { height: 90vh; }
    .display-1 { font-size: 3rem; }
}