/* ========================================
   UWC Manta - Theme: Maritim Blau-Weiß
   Blaue Töne mit orangen Akzenten
   ======================================== */

/* CSS Variables - Maritim Theme */
:root {
    --primary-color: #0277BD;
    --primary-dark: #01579B;
    --primary-light: #4FC3F7;
    --secondary-color: #FF9800;
    --secondary-text: #E65100; /* Dunkleres Orange für besseren Kontrast (4.6:1) */
    --text-dark: #212121;
    --text-light: #616161; /* Verbessert von #757575 für besseren Kontrast (5.9:1) */
    --bg-light: #FFFFFF;
    --bg-gray: #F5F9FC;
    --bg-alt: #E3F2FD;
    --border-color: #BBDEFB;
    --accent-blue: #0288D1;
    --accent-orange: #FFB300;
    --shadow: 0 2px 8px rgba(2, 119, 189, 0.1);
    --shadow-hover: 0 4px 16px rgba(2, 119, 189, 0.2);
    --transition: all 0.3s ease;
    --font-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

/* Hero Section with Rotating Banner Images */
.hero {
    min-height: 280px;
    position: relative;
    overflow: hidden;
}

/* Rotating Banner Background */
.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #0277BD;
    background-image: url('../images/banner/banner-1.jpg');
    background-size: cover;
    background-position: center;
    animation: rotateBanner 240s ease-in-out infinite;
    z-index: 0;
}

/* Dark Overlay for text readability - transparent to show natural colors */
.hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.4) 100%);
    z-index: 1;
}

/* Animation: Rotate through 8 banner images (30 seconds each) */
@keyframes rotateBanner {
    0%, 10% { background-image: url('../images/banner/banner-1.jpg'); }
    12.5%, 22.5% { background-image: url('../images/banner/banner-2.jpg'); }
    25%, 35% { background-image: url('../images/banner/banner-3.jpg'); }
    37.5%, 47.5% { background-image: url('../images/banner/banner-4.jpg'); }
    50%, 60% { background-image: url('../images/banner/banner-5.jpg'); }
    62.5%, 72.5% { background-image: url('../images/banner/banner-6.jpg'); }
    75%, 85% { background-image: url('../images/banner/banner-7.jpg'); }
    87.5%, 97.5% { background-image: url('../images/banner/banner-8.jpg'); }
    100% { background-image: url('../images/banner/banner-1.jpg'); }
}

/* Buttons */
.btn-primary {
    background-color: var(--secondary-color);
    color: var(--bg-light);
}

.btn-primary:hover {
    background-color: var(--accent-orange);
    box-shadow: 0 4px 15px rgba(255, 152, 0, 0.3);
}

.btn-secondary {
    background-color: var(--primary-color);
    color: var(--bg-light);
}

.btn-secondary:hover {
    background-color: var(--accent-blue);
}

/* Section Title */
.section-title {
    color: var(--primary-dark);
}

.section-title::after {
    background: linear-gradient(90deg, var(--primary-color) 0%, var(--secondary-color) 100%);
}

/* Section Alt */
.section-alt {
    background-color: var(--bg-alt);
}

/* Nav Menu */
.nav-menu a:hover,
.nav-menu a.active {
    background-color: var(--primary-light);
    color: var(--bg-light);
}

.nav-menu .member-link {
    background-color: var(--secondary-color);
    color: var(--bg-light);
}

.nav-menu .member-link:hover {
    background-color: var(--accent-orange);
}

/* Cards */
.news-card,
.board-member,
.post-card,
.event-item {
    border: 1px solid var(--border-color);
}

.news-card:hover,
.board-member:hover,
.post-card:hover,
.event-item:hover {
    box-shadow: 0 6px 25px rgba(2, 119, 189, 0.15);
    border-color: var(--primary-light);
}

.news-card h3,
.post-title a,
.member-name {
    color: var(--primary-dark);
}

.news-card h3:hover,
.post-title a:hover {
    color: var(--secondary-text);
}

/* Info Card - non-clickable */
.info-card {
    border: 1px solid var(--border-color);
}

.info-card h3 {
    color: var(--primary-dark);
}

/* Info Box */
.info-box {
    background: var(--bg-alt);
    border-left: 4px solid var(--primary-color);
}

.info-box h3 {
    color: var(--primary-color);
}

.info-list li::before {
    color: var(--secondary-color);
}

/* Events */
.event-date {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
}

.filter-btn,
.category-btn {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.filter-btn:hover,
.filter-btn.active,
.category-btn:hover,
.category-btn.active {
    background-color: var(--primary-color);
    color: var(--bg-light);
}

.event-category.training {
    background-color: #E3F2FD;
    color: var(--primary-dark);
}

.event-category.dive {
    background-color: #B3E5FC;
    color: #01579B;
}

.event-category.meeting {
    background-color: #FFE0B2;
    color: #E65100;
}

.event-category.social {
    background-color: #FFF3E0;
    color: var(--secondary-text);
}

/* Page Header - same rotating banner as hero */
.page-header {
    position: relative;
    overflow: hidden;
}

.page-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('../images/banner/banner-1.jpg');
    background-size: cover;
    background-position: center;
    animation: rotateBanner 240s ease-in-out infinite;
    z-index: 0;
}

.page-header::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.45) 100%);
    z-index: 1;
}

/* Widget Headers */
.widget-header {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--accent-blue) 100%);
}

/* Footer */
.footer-column h4 {
    color: var(--accent-orange);
}

.footer-links a:hover {
    color: var(--primary-light);
}

/* Links */
a {
    color: var(--primary-color);
}

a:hover {
    color: var(--secondary-text);
}

/* Gallery Overlay */
.gallery-overlay {
    background: linear-gradient(to top, rgba(2, 119, 189, 0.9), transparent);
}

/* Forms */
.form-group input:focus {
    border-color: var(--primary-color);
}

/* Statute */
.statute-article h2 {
    color: var(--primary-color);
}

.statute-nav a:hover,
.statute-nav a.active {
    color: var(--secondary-text);
    border-left-color: var(--secondary-color);
}

.statute-note {
    border-left: 4px solid var(--primary-color);
}

.download-box {
    border: 2px solid var(--border-color);
}

/* Sidebar */
.sidebar-widget {
    border: 1px solid var(--border-color);
}

.sidebar-widget h3 {
    color: var(--primary-color);
    border-bottom-color: var(--primary-color);
}

/* Post Category */
.post-category {
    background: var(--bg-alt);
    color: var(--primary-color);
}

/* Member Events */
.member-event-item {
    background: var(--bg-alt);
    border-left-color: var(--secondary-color);
}

.member-event-item h4 {
    color: var(--primary-dark);
}

/* Documents List */
.documents-list a {
    border: 1px solid var(--border-color);
}

.documents-list a:hover {
    background: var(--bg-alt);
    border-color: var(--primary-color);
    color: var(--primary-dark);
}

/* Contact Box */
.contact-box {
    border: 2px solid var(--border-color);
}

.contact-item {
    background: var(--bg-alt);
}

.contact-item h4 {
    color: var(--primary-color);
}

/* Pagination */
.pagination button {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.pagination button:hover,
.pagination button.active {
    background: var(--primary-color);
    color: var(--bg-light);
}

/* Member Photo Placeholder */
.member-photo {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
}

/* Header */
.header {
    background-color: var(--bg-light);
    border-bottom: 2px solid var(--bg-alt);
}

/* Login Box */
.login-box {
    border: 2px solid var(--border-color);
}

.login-header h1 {
    color: var(--primary-color);
}

/* Special Highlights */
.news-card-header h3,
.event-details h3 {
    color: var(--primary-dark);
}

.news-date,
.event-time {
    color: var(--secondary-text);
}

/* Info Message */
.info-message {
    background: var(--bg-alt);
    border: 1px solid var(--border-color);
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .nav-menu {
        background-color: var(--bg-light);
        border: 1px solid var(--border-color);
    }
}

/* ========================================
   DARK MODE - Maritim Theme
   ======================================== */

[data-theme="dark"] {
    --primary-color: #4FC3F7;
    --primary-dark: #29B6F6;
    --primary-light: #81D4FA;
    --secondary-color: #FFB74D;
    --text-dark: #E8E8E8;
    --text-light: #B0B0B0;
    --bg-light: #1A1D21;
    --bg-gray: #252A30;
    --bg-alt: #1F2428;
    --border-color: #3A4550;
    --accent-blue: #4FC3F7;
    --accent-orange: #FFCC80;
    --shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    --shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .hero::after {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.6) 100%);
}

[data-theme="dark"] .hero-overlay {
    background: transparent;
}

[data-theme="dark"] .btn-primary {
    background-color: var(--secondary-color);
    color: #1A1D21;
}

[data-theme="dark"] .btn-primary:hover {
    background-color: var(--accent-orange);
}

[data-theme="dark"] .btn-secondary {
    background-color: var(--primary-color);
    color: #1A1D21;
}

[data-theme="dark"] .btn-secondary:hover {
    background-color: var(--primary-light);
}

[data-theme="dark"] .header {
    background-color: #151820;
    border-bottom: 1px solid var(--border-color);
}

[data-theme="dark"] .footer {
    background-color: #0D1117;
}

[data-theme="dark"] .footer-bottom {
    border-top-color: var(--border-color);
}

[data-theme="dark"] .news-card,
[data-theme="dark"] .info-card,
[data-theme="dark"] .board-member,
[data-theme="dark"] .post-card,
[data-theme="dark"] .event-item {
    background-color: var(--bg-alt);
    border-color: var(--border-color);
}

[data-theme="dark"] .news-card:hover,
[data-theme="dark"] .board-member:hover,
[data-theme="dark"] .post-card:hover,
[data-theme="dark"] .event-item:hover {
    box-shadow: 0 6px 25px rgba(79, 195, 247, 0.15);
    border-color: var(--primary-color);
}

[data-theme="dark"] .info-box {
    background: var(--bg-gray);
    border-left-color: var(--primary-color);
}

[data-theme="dark"] .info-box h3 {
    color: var(--primary-color);
}

[data-theme="dark"] .info-list li {
    color: #C0C0C0;
    border-bottom-color: var(--border-color);
}

[data-theme="dark"] .info-list li::before {
    color: var(--secondary-color);
}

[data-theme="dark"] .news-card h3 {
    color: var(--text-dark);
}

[data-theme="dark"] .news-card p {
    color: #B8B8B8;
}

[data-theme="dark"] .section-alt {
    background-color: var(--bg-gray);
}

[data-theme="dark"] .contact-box {
    background-color: #2D333B;
    border-color: var(--border-color);
}

[data-theme="dark"] .contact-item {
    background-color: #1A1D21;
    border: 1px solid var(--border-color);
}

[data-theme="dark"] .widget-header {
    background: linear-gradient(135deg, var(--primary-dark) 0%, #1565C0 100%);
}

[data-theme="dark"] .login-box {
    background-color: var(--bg-alt);
}

[data-theme="dark"] .page-header::after {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.65) 100%);
}

[data-theme="dark"] .page-header h1,
[data-theme="dark"] .page-header p {
    color: #FFFFFF;
}

[data-theme="dark"] #aktuelle-sicht {
    background: linear-gradient(135deg, #1565C0 0%, #0D47A1 100%) !important;
}

[data-theme="dark"] .cta-gradient {
    background: linear-gradient(135deg, #1565C0 0%, #0D47A1 100%);
}

[data-theme="dark"] .btn-cta-white {
    background: #e0e0e0;
    color: #0D47A1;
}

[data-theme="dark"] .dropdown {
    background-color: var(--bg-alt);
    border-color: var(--border-color);
}

[data-theme="dark"] .dropdown a:hover {
    background-color: var(--bg-gray);
}



[data-theme="dark"] .nav-menu a {
    color: var(--text-dark);
}

[data-theme="dark"] .nav-menu a:hover,
[data-theme="dark"] .nav-menu a.active {
    background-color: rgba(79, 195, 247, 0.15);
    color: var(--primary-color);
}

/* Event Categories - Dark Mode */
[data-theme="dark"] .event-category.training {
    background-color: #1a3a52;
    color: #81D4FA;
}

[data-theme="dark"] .event-category.dive {
    background-color: #1a3a36;
    color: #80DEEA;
}

[data-theme="dark"] .event-category.meeting {
    background-color: #3a2a1a;
    color: #FFB74D;
}

[data-theme="dark"] .event-category.social {
    background-color: #2a1a3a;
    color: #CE93D8;
}

/* Info-Card Styles - Dark Mode */
[data-theme="dark"] .info-card {
    background-color: var(--bg-alt);
    border-color: var(--border-color);
}

[data-theme="dark"] .info-card h3,
[data-theme="dark"] .info-card h4 {
    color: var(--text-dark);
}

[data-theme="dark"] .info-card p {
    color: #B8B8B8;
}

/* News-card header colors - Dark Mode */
[data-theme="dark"] .news-card-header h3 {
    color: var(--text-dark);
}

/* Content columns - Dark Mode */
[data-theme="dark"] .content-columns h3,
[data-theme="dark"] .content-columns h4 {
    color: var(--text-dark);
}

[data-theme="dark"] .content-columns p {
    color: #B8B8B8;
}

@media (max-width: 1024px) {
    [data-theme="dark"] .nav-menu {
        background-color: var(--bg-alt);
        border-color: var(--border-color);
    }
}

/* Tablet & Mobile: nur 1 Bannerbild statt 8-Bilder-Rotation (spart ~40 MB, verhindert schwarze Blitze) */
@media (max-width: 1200px) {
    .hero::before,
    .page-header::before {
        animation: none;
        background-image: url('../images/banner/banner-6.jpg');
    }
}
