/*
Theme Name: Energiestammtisch
Theme URI: https://energiestammtisch-chieming.de
Author: Energiestammtisch Chieming
Author URI: https://energiestammtisch-chieming.de
Description: A modern, clean WordPress theme designed for energy and sustainability topics. Perfect for community energy initiatives, environmental organizations, and green technology blogs. Features a responsive design with focus on readability and accessibility. Built with DaisyUI for a flat, modern design.
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: energiestammtisch
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news, energy, sustainability, green
*/

/* DaisyUI Theme Configuration */
:root {
    --color-primary: #066D96;
    --color-primary-focus: #055a7a;
    --color-primary-content: #ffffff;

    --color-secondary: #059669;
    --color-secondary-focus: #047857;
    --color-secondary-content: #ffffff;

    --color-accent: #f59e0b;
    --color-accent-focus: #d97706;
    --color-accent-content: #ffffff;

    --color-neutral: #6b7280;
    --color-neutral-focus: #374151;
    --color-neutral-content: #ffffff;

    --color-base-100: #ffffff;
    --color-base-200: #f9fafb;
    --color-base-300: #3d2b08;
    --color-base-content: #1f2937;

    --color-info: #3b82f6;
    --color-success: #10b981;
    --color-warning: #f59e0b;
    --color-error: #ef4444;
}

/* Custom DaisyUI Theme */
[data-theme="energiestammtisch"] {
    --color-primary: #066D96;
    --color-primary-focus: #055a7a;
    --color-primary-content: #ffffff;

    --color-secondary: #059669;
    --color-secondary-focus: #047857;
    --color-secondary-content: #ffffff;

    --color-accent: #f59e0b;
    --color-accent-focus: #d97706;
    --color-accent-content: #ffffff;

    --color-neutral: #6b7280;
    --color-neutral-focus: #374151;
    --color-neutral-content: #ffffff;

    --color-base-100: #ffffff;
    --color-base-200: #f9fafb;
    --color-base-300: #706959;
    --color-base-content: #1f2937;

    --color-info: #3b82f6;
    --color-success: #10b981;
    --color-warning: #f59e0b;
    --color-error: #ef4444;
}

/* Self-Hosted Inter Font */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('assets/fonts/inter/Inter-Light.woff2') format('woff2');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('assets/fonts/inter/Inter-Regular.woff2') format('woff2');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('assets/fonts/inter/Inter-SemiBold.woff2') format('woff2');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('assets/fonts/inter/Inter-Bold.woff2') format('woff2');
}

/* Force light theme */
[data-theme="light"] body,
[data-theme="energiestammtisch"] body {
    background-color: #f0eee8 !important;
    color: #1f2937 !important;
}

[data-theme="light"] .energy-theme,
[data-theme="energiestammtisch"] .energy-theme {
    background-color: #f0eee8 !important;
    color: #1f2937 !important;
}

/* Ensure light theme colors */
[data-theme="light"] {
    --color-base-100: #ffffff;
    --color-base-200: #f9fafb;
    --color-base-300: #d1cbbd;
    --color-base-content: #1f2937;
    --color-neutral: #6b7280;
    --color-neutral-content: #ffffff;
}

/* Main page background */

body {
    background-color: #f0eee8 !important;
}

#page {
    background-color: #f0eee8 !important;
}

main {
    background-color: #f0eee8 !important;
}

/* Ensure footer covers the rest of the page */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

#page {
    flex: 1;
    display: flex;
    flex-direction: column;
}

#primary {
    flex: 1;
}

/* Base styles */
body {
    line-height: 1.6;
    background-color: #ffffff;
    color: #1f2937;
}

/* Ensure proper contrast for all text */
body,
.energy-theme {
    background-color: #ffffff !important;
    color: #1f2937 !important;
}

h1 {
    font-size: 2.25rem;
    /* ~36px */
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0.5em;
}

h2 {
    font-size: 1.75rem;
    /* ~28px */
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 0.5em;
}

h3 {
    font-size: 1.375rem;
    /* ~22px */
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 0.4em;
}

h4 {
    font-size: 1.125rem;
    /* ~18px */
    font-weight: 600;
    line-height: 1.45;
    margin-bottom: 0.3em;
}

p {
    font-size: 1rem;       /* 16px */
    line-height: 1.6;
    margin-bottom: 1em;
  }

/* Ensure headings have proper contrast */
h1,
h2,
h3,
h4,
h5,
h6 {
    color: #1f2937 !important;
}





/* Ensure links have proper contrast */
a {
    color: #066D96 !important;
}

a:hover {
    color: #055a7a !important;
}

/* Ensure all text has proper contrast */
p,
span,
div,
li,
td,
th {
    color: #1f2937 !important;
}

/* Ensure bullet lists show bullets, including inside paragraphs */
/* Exclude navigation menus from bullet styling */
p ul:not(.modern-nav-menu):not(.mobile-nav-menu):not(.menu-horizontal),
p ol:not(.modern-nav-menu):not(.mobile-nav-menu):not(.menu-horizontal),
ul:not(.modern-nav-menu):not(.mobile-nav-menu):not(.menu-horizontal):not(nav ul):not(.menu):not(.event-files-list),
ol:not(.modern-nav-menu):not(.mobile-nav-menu):not(.menu-horizontal):not(nav ol):not(.menu),
.prose ul:not(.modern-nav-menu):not(.mobile-nav-menu):not(.menu-horizontal),
.prose ol:not(.modern-nav-menu):not(.mobile-nav-menu):not(.menu-horizontal),
.entry-content ul:not(.modern-nav-menu):not(.mobile-nav-menu):not(.menu-horizontal),
.entry-content ol:not(.modern-nav-menu):not(.mobile-nav-menu):not(.menu-horizontal),
.prose p ul:not(.modern-nav-menu):not(.mobile-nav-menu):not(.menu-horizontal),
.prose p ol:not(.modern-nav-menu):not(.mobile-nav-menu):not(.menu-horizontal) {
    list-style-position: outside !important;
    padding-left: 1.5rem !important;
    margin-bottom: 1em !important;
    list-style-type: disc !important;
}

p ol:not(.modern-nav-menu):not(.mobile-nav-menu):not(.menu-horizontal),
.prose ol:not(.modern-nav-menu):not(.mobile-nav-menu):not(.menu-horizontal),
.entry-content ol:not(.modern-nav-menu):not(.mobile-nav-menu):not(.menu-horizontal),
.prose p ol:not(.modern-nav-menu):not(.mobile-nav-menu):not(.menu-horizontal) {
    list-style-type: decimal !important;
}

p li:not(nav li):not(.modern-nav-menu li):not(.mobile-nav-menu li):not(.menu-horizontal li),
ul li:not(nav li):not(.modern-nav-menu li):not(.mobile-nav-menu li):not(.menu-horizontal li):not(.event-files-list li),
ol li:not(nav li):not(.modern-nav-menu li):not(.mobile-nav-menu li):not(.menu-horizontal li),
.prose li:not(nav li):not(.modern-nav-menu li):not(.mobile-nav-menu li):not(.menu-horizontal li),
.entry-content li:not(nav li):not(.modern-nav-menu li):not(.mobile-nav-menu li):not(.menu-horizontal li) {
    margin-bottom: 0.5em !important;
    display: list-item !important;
    list-style-position: outside !important;
}

/* Horizontal Rule (HR) Styling */
/* Default HR styling */
hr {
    border: 0;
    border-top: 1px solid #d1cbbd;
    margin: 1.5em 0;
}

.wp-block-separator {
    border-color: #d1cbbd!important;
}



hr.hr-primary {
    border-top-color: #066D96;
    border-top-width: 2px;
}

hr.hr-secondary {
    border-top-color: #059669;
    border-top-width: 2px;
}

hr.hr-thick {
    border-top-width: 2px;
}

hr.hr-thin {
    border-top-width: 1px;
}

.spacing-y-1 {
    margin-top: 0.25em;
    margin-bottom: 0.25em;
}

.spacing-y-2 {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

/* Line Awesome icon sizes */
.la-xs  { font-size: 0.75em; }
.la-sm  { font-size: 0.875em; }
.la-md  { font-size: 1em; }
.la-lg  { font-size: 1.25em; }
.la-xl  { font-size: 1.5em; }
.la-2x  { font-size: 2em; }
.la-3x  { font-size: 3em; }

/* Ensure secondary text has proper contrast */
.text-base-content\/70,
.text-neutral-content\/70,
.text-base-content\/80 {
    color: #3c3f46 !important
}

/* Custom utility classes for energy theme */
.energy-gradient {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
}

.energy-card {
    @apply bg-base-100 shadow-lg border border-base-300 rounded-lg;
}

.energy-card-hover {
    @apply hover:shadow-xl hover:-translate-y-1 transition-all duration-300;
}

.energy-badge {
    @apply badge badge-primary badge-sm;
}

.energy-badge-secondary {
    @apply badge badge-secondary badge-sm;
}

.energy-badge-accent {
    @apply badge badge-accent badge-sm;
}

.energy-button {
    @apply btn btn-primary;
}

.energy-button-secondary {
    @apply btn btn-secondary;
}

.energy-button-accent {
    @apply btn btn-accent;
}

.energy-button-outline {
    @apply btn btn-outline btn-primary;
}

.energy-button-ghost {
    @apply btn btn-ghost;
}

.energy-input {
    @apply input input-bordered;
}

.energy-textarea {
    @apply textarea textarea-bordered;
}

.energy-select {
    @apply select select-bordered;
}

.energy-modal {
    @apply modal-box;
}

.energy-alert {
    @apply alert;
}

.energy-alert-info {
    @apply alert alert-info;
}

.energy-alert-success {
    @apply alert alert-success;
}

.energy-alert-warning {
    @apply alert alert-warning;
}

.energy-alert-error {
    @apply alert alert-error;
}

/* Energy-specific components */
.energy-stats-card {
    @apply card bg-base-100 shadow-lg;
}

.energy-stats-value {
    @apply text-3xl font-bold text-primary;
    color: #066D96 !important;
}

.energy-stats-label {
    @apply text-sm text-base-content/70;
    color: #6b7280 !important;
}

.energy-project-card {
    @apply card bg-base-100 shadow-lg hover:shadow-xl transition-all duration-300;
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
}

.energy-project-card:hover {
    background-color: #f9fafb;
    border-color: #d1d5db;
}

.energy-project-image {
    @apply w-full h-48 object-cover rounded-t-lg;
}

.energy-project-content {
    @apply card-body;
}

.energy-project-title {
    @apply card-title text-lg;
}

.energy-project-meta {
    @apply flex gap-2 text-sm text-base-content/70;
    color: #6b7280 !important;
}

.energy-project-type {
    @apply badge badge-primary badge-sm;
}

.energy-project-status {
    @apply badge badge-sm;
}

.energy-project-status.planning {
    @apply badge-neutral;
}

.energy-project-status.in-progress {
    @apply badge-warning;
}

.energy-project-status.completed {
    @apply badge-success;
}

/* Single post styling */
.single-post {
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}

.single-post:hover {
    background-color: #f9fafb;
    border-color: #d1d5db;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Page content styling - removed white background */
.page-content {
    /* Removed white background styling - now uses standard wrapper */
}

.energy-event-card {
    @apply card bg-base-100 shadow-lg hover:shadow-xl transition-all duration-300;
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    margin-bottom: 1.5rem;
}

.energy-event-card:hover {
    background-color: #f9fafb;
    border-color: #d1d5db;
}

.energy-event-image {
    @apply w-full h-48 object-cover rounded-t-lg;
}

.energy-event-content {
    @apply card-body;
}

.energy-event-title {
    @apply card-title text-lg;
}

.energy-event-meta {
    @apply flex flex-col gap-2 text-sm text-base-content/70 mt-2;
}

.energy-event-date,
.energy-event-time,
.energy-event-location {
    @apply flex items-center;
}

.energy-event-card {
    @apply card bg-base-100 shadow-lg;
}

/* Enhanced Event Card Styles */
.energy-event-card-enhanced {
    @apply bg-white rounded-lg shadow-lg hover:shadow-xl transition-all duration-300 overflow-hidden;
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    margin-bottom: 1.5rem;
}

.energy-event-card-enhanced:hover {
    transform: translateY(-2px);
    border-color: #d1d5db;
}

.event-image-container {
    position: relative;
    overflow: hidden;
    border-radius: 8px 8px 0 0;
}

.event-date-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background-color: #066D96;
    color: white !important;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 600;
    z-index: 10;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.event-spots-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background-color: #066D96;
    color: white !important;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 600;
    z-index: 10;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.energy-event-content-enhanced {
    padding: 1.5rem;
    position: relative;
    z-index: 1;
}

.event-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.event-tag {
    background-color: white;
    color: #066D96;
    border: 1px solid #066D96;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 500;
}

.energy-event-title-enhanced {
    font-size: 1.25rem;
    font-weight: 700;
    color: #066D96;
    margin-bottom: 0.5rem;
    line-height: 1.3;
}

.energy-event-title-enhanced a {
    color: inherit;
    text-decoration: none;
}

.energy-event-title-enhanced a:hover {
    color: #055a7a;
}

.event-subtitle {
    color: #6b7280;
    font-size: 0.875rem;
    margin-bottom: 0.75rem;
}

.event-description {
    color: #374151;
    font-size: 0.875rem;
    line-height: 1.5;
    margin-bottom: 1rem;
}

.event-meta-enhanced {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.event-meta-item {
    display: flex;
    align-items: center;
    color: #374151;
    font-size: 0.875rem;
}

.event-meta-item svg {
    color: #9ca3af !important;
}

/* Event Hero Section */
.event-hero-section {
    width: 100%;
    background-color: #f5f3ef;
    color: #1f2937;
    margin-bottom: 0;
}

.event-hero-title {
    color: #1f2937;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.2;
    margin-bottom: 2rem;
}

.event-hero-meta {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .event-hero-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.event-hero-meta-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem;
    background-color: #ffffff;
    border-radius: 0.75rem;
    border: 1px solid #e5e7eb;
    transition: all 0.3s ease;
}

.event-hero-meta-item:hover {
    background-color: #f9fafb;
    border-color: #d1d5db;
}

.event-hero-meta-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 0.5rem;
}

.event-hero-meta-icon svg {
    color: currentColor;
}

/* Date icon - darker blue */
.event-hero-icon-date {
    background-color: #eff6ff;
    color: #1e40af;
}

.event-hero-icon-date svg {
    color: #1e40af;
    stroke: #1e40af;
}

/* Time icon - green */
.event-hero-icon-time {
    background-color: #ecfdf5;
    color: #059669;
}

.event-hero-icon-time svg {
    color: #059669;
    stroke: #059669;
}

/* Location icon - orange */
.event-hero-icon-location {
    background-color: #fff7ed;
    color: #f59e0b;
}

.event-hero-icon-location svg {
    color: #f59e0b;
    stroke: #f59e0b;
}

/* Speaker icon - primary blue */
.event-hero-icon-speaker {
    background-color: #eff6ff;
    color: #066D96;
}

.event-hero-icon-speaker svg {
    color: #066D96;
    stroke: #066D96;
}

.event-hero-meta-content {
    flex: 1;
    min-width: 0;
}

.event-hero-meta-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    margin-bottom: 0.375rem;
}

.event-hero-meta-value {
    font-size: 1.125rem;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.4;
    word-break: break-word;
}

/* Single Event Page Meta Styling - Simple (for fallback) */
.event-meta-simple {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2rem 2rem;
    margin-bottom: 1.5rem;
}

.event-meta-item-simple {
    display: flex;
    align-items: center;
    gap: 0;
}

.event-meta-item-simple svg {
    flex-shrink: 0;
    width: 1.375rem;
    height: 1.375rem;
}

.event-meta-label-simple {
    font-size: 1rem;
    color: #6b7280;
    margin-left: 0.25rem;
    margin-right: 0.5rem;
}

.event-meta-value-simple {
    font-size: 1.125rem;
    color: #111827;
}

/* Event Speaker Section Styling */
.event-speaker-section {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0;
    transition: all 0.2s ease;
}

.event-speaker-section:hover {
    background-color: #ffffff !important;
    border-color: #cbd5e1;
}

.event-speaker-section svg {
    color: #066D96 !important;
}

/* Event Files Downloads Section */
.event-files-section {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #e5e7eb;
}

.event-files-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.event-file-item {
    margin: 0;
    padding: 0;
}

.event-file-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    background-color: #f9fafb;
    border-radius: 0.5rem;
    text-decoration: none;
    transition: all 0.2s;
    border: 1px solid #e5e7eb;
}

.event-file-link:hover {
    background-color: #f3f4f6;
    border-color: #d1d5db;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.event-file-link i {
    flex-shrink: 0;
}

.event-file-link .flex-1 {
    flex: 1;
    min-width: 0;
}

.register-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background-color: #066D96;
    color: white !important;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
}

.register-button:hover {
    background-color: #055a7a;
    color: white !important;
    transform: translateY(-1px);
}

/* Custom breakpoint for navigation at 1000px */
@media (max-width: 999px) {
    .nav-desktop-only {
        display: none !important;
    }
    .nav-mobile-only:not(.hidden) {
        display: block !important;
    }
    .nav-mobile-only.hidden {
        display: none !important;
    }
}

@media (min-width: 1000px) {
    .nav-desktop-only {
        display: block !important;
    }
    .nav-mobile-only {
        display: none !important;
    }
}

/* Modern Navigation Styles */
.modern-nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 2.5rem;
    align-items: center;
}

.modern-nav-menu li {
    display: flex;
    align-items: center;
}

.modern-nav-menu a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #374151 !important;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.875rem;
    transition: color 0.2s;
    padding: 0.5rem 0;
}

.modern-nav-menu a:hover {
    color: #066D96 !important;
}

/* Navigation item with About Us icon (user-friends SVG) */
.nav-about-us a::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 1.25rem;
    height: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    order: -1;
}


/* Modern CTA Button */
.modern-cta-button {
    display: none;
    align-items: center;
    justify-content: center;
    background-color: #066D96;
    color: white !important;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: 600;
    font-size: 0.875rem;
    text-decoration: none;
    transition: all 0.2s;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}

@media (min-width: 768px) {
    .modern-cta-button {
        display: inline-flex;
    }
}

.modern-cta-button:hover {
    background-color: #055a7a;
    color: white !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Fix DaisyUI primary button contrast */
.btn.btn-primary {
    background-color: #066D96 !important;
    color: white !important;
    border-color: #066D96 !important;
}

.btn.btn-primary:hover {
    background-color: #055a7a !important;
    color: white !important;
    border-color: #055a7a !important;
}

/* Fix any other primary buttons */
.btn-primary,
.btn-primary:focus,
.btn-primary:active {
    background-color: #066D96 !important;
    color: white !important;
    border-color: #066D96 !important;
}

.btn-primary:hover {
    background-color: #055a7a !important;
    color: white !important;
    border-color: #055a7a !important;
}

/* Mobile Navigation */
.mobile-nav-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-nav-menu li {
    border-bottom: 1px solid #e5e7eb;
}

.mobile-nav-menu li:last-child {
    border-bottom: none;
}

.mobile-nav-menu a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0;
    color: #000000 !important;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.mobile-nav-menu a:hover {
    color: #066D96 !important;
}

/* Mobile CTA Button */
.modern-cta-button-mobile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #066D96;
    color: white !important;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: 600;
    font-size: 0.875rem;
    text-decoration: none;
    width: 100%;
    transition: background-color 0.2s, transform 0.2s, box-shadow 0.2s;
}

.modern-cta-button-mobile:hover {
    background-color: #055a7a;
    color: white !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Site branding */
.site-branding h1 a {
    color: #1f2937;
    text-decoration: none;
}

.site-branding h1 a:hover {
    color: #066D96;
}

.site-branding p {
    color: #6b7280;
}

/* Custom logo styling */
.custom-logo-link img {
    max-width: 300px;
    height: auto;
}

/* Modern Footer Styles */
.modern-footer {
    background-color: #1a202c;
    color: #ffffff;
    padding: 3rem 0 1rem 0;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 640px) {
    .footer-container {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

@media (min-width: 1024px) {
    .footer-container {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-bottom: 2rem;
}

.footer-column {
    display: flex;
    flex-direction: column;
}

.footer-brand {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
}

.footer-brand-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.25rem 0;
}

.footer-brand-description {
    font-size: 0.875rem;
    color: #e2e8f0;
    margin: 0;
}

.footer-about {
    color: #e2e8f0;
    font-size: 0.875rem;
    line-height: 1.6;
    margin-top: 1rem;
}

.footer-heading {
    font-size: 1.125rem;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 1rem;
}

.footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-links li {
    margin-bottom: 0.5rem;
}

.footer-links a {
    color: #e2e8f0;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s;
}

.footer-links a:hover {
    color: #066D96;
}

.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.contact-item {
    display: flex;
    align-items: center;
    color: #e2e8f0;
    font-size: 0.875rem;
}

.contact-icon {
    width: 1.25rem;
    height: 1.25rem;
    color: #066D96;
    margin-right: 0.5rem;
    flex-shrink: 0;
}

.footer-bottom {
    border-top: 1px solid #2d3748;
    padding-top: 1.5rem;
}

.footer-bottom-content {
    display: flex;
    flex-direction: column;
    md: flex-row;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.footer-copyright {
    color: #a0aec0;
    font-size: 0.875rem;
}

.footer-legal-links {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
}

.footer-legal-links a {
    color: #e2e8f0;
    text-decoration: none;
    transition: color 0.2s;
}

.footer-legal-links a:hover {
    color: #066D96;
}

.footer-legal-separator {
    color: #a0aec0;
}

.footer-social {
    display: flex;
    gap: 1rem;
}

.social-link {
    color: #e2e8f0;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.375rem;
    background-color: #2d3748;
}

.social-link:hover {
    color: #066D96;
    background-color: #374151;
}

@media (min-width: 768px) {
    .footer-bottom-content {
        flex-direction: row;
    }
}

/* Footer Widget Styles */
.modern-footer .widget {
    margin-bottom: 1rem;
}

.modern-footer .widget:last-child {
    margin-bottom: 0;
}

.modern-footer .widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.modern-footer .widget ul li {
    margin-bottom: 0.5rem;
}

.modern-footer .widget ul li:last-child {
    margin-bottom: 0;
}

.modern-footer .widget ul li a {
    color: #e2e8f0;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s;
}

.modern-footer .widget ul li a:hover {
    color: #066D96;
}

.modern-footer .widget p {
    color: #e2e8f0;
    font-size: 0.875rem;
    line-height: 1.6;
    margin-bottom: 0.5rem;
}

.modern-footer .widget p:last-child {
    margin-bottom: 0;
}

/* WordPress block list styling to match footer-links */
.modern-footer .wp-block-list,
.modern-footer .wp-block-list li,
.modern-footer .wp-block-list a {
    font-size: 0.875rem;
    line-height: 1.5;
}

.modern-footer .wp-block-list li {
    margin-bottom: 0.5rem;
}

/* Footer text color overrides to ensure visibility */
.modern-footer,
.modern-footer * {
    color: #ffffff !important;
}

.modern-footer .text-base-content,
.modern-footer .text-base-content\/70 {
    color: #e2e8f0 !important;
}

.modern-footer .footer-heading,
.modern-footer .footer-brand-title {
    color: #ffffff !important;
}

.modern-footer .footer-copyright {
    color: #a0aec0 !important;
}

.modern-footer .footer-links a,
.modern-footer .contact-item {
    color: #e2e8f0 !important;
}

.modern-footer .footer-links a:hover {
    color: #066D96 !important;
}

.modern-footer .social-link {
    color: #e2e8f0 !important;
}

.modern-footer .social-link:hover {
    color: #066D96 !important;
}

/* Menu styling */
.menu-horizontal {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 1rem;
}

/* Menu item icons */
.menu-horizontal a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    line-height: 1;
    flex-direction: row;
    text-decoration: none;
    color: #374151 !important;
    font-weight: 500;
    padding: 0.5rem 0;
}

.menu-horizontal a::before {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    width: 1.25rem;
    height: 1.25rem;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    order: -1;
    margin-right: 0;
    background: none !important;
    color: #374151;
}

/* Icon classes for menu items */
.icon-home a::before {
    content: "🏠";
    background: none;
    color: #374151;
}

.icon-events a::before {
    content: "📅";
    background: none;
    color: #374151;
}

.icon-community a::before {
    content: "👥";
    background: none;
    color: #374151;
}

.icon-newsletter a::before {
    content: "📧";
    background: none;
    color: #374151;
}

.icon-about a::before {
    content: "ℹ️";
    background: none;
    color: #374151;
}

.icon-contact a::before {
    content: "📞";
    background: none;
    color: #374151;
}

/* SVG Icon version (alternative) */
.icon-home-svg a::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 1.25rem;
    height: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    order: -1;
}

.icon-events-svg a::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 1.25rem;
    height: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    order: -1;
}

.icon-community-svg a::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197m13.5-9a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 1.25rem;
    height: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.icon-newsletter-svg a::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 8l7.89 4.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 1.25rem;
    height: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.icon-wissen-austausch-svg a::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 1.25rem;
    height: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    order: -1;
}

.menu-horizontal li {
    display: inline-block;
    margin: 0;
    padding: 0;
}

.menu-horizontal a {
    color: #1f2937 !important;
    text-decoration: none;
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    transition: all 0.2s;
    display: block;
    cursor: pointer;
}

.menu-horizontal a:hover {
    color: #066D96 !important;
    background-color: transparent;
}

/* Ensure all menu links are clickable */
.menu a,
.menu-horizontal a,
.menu-sm a {
    color: #1f2937 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

.menu a:hover,
.menu-horizontal a:hover,
.menu-sm a:hover {
    color: #066D96 !important;
    background-color: #f3f4f6 !important;
}

/* Mobile dropdown menu */
.dropdown-content {
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
}

.dropdown-content a {
    color: #1f2937;
}

.dropdown-content a:hover {
    color: #066D96;
    background-color: #f3f4f6;
}

.energy-nav-brand {
    @apply navbar-start;
}

.energy-nav-menu {
    @apply navbar-center hidden lg:flex;
}

.energy-nav-menu ul {
    @apply menu menu-horizontal;
}

.energy-nav-toggle {
    @apply navbar-end lg:hidden;
}

.energy-nav-mobile {
    @apply menu menu-sm dropdown-content mt-3 z-[1] p-2 shadow bg-base-100 rounded-box w-52;
}

/* Footer */
.energy-footer {
    @apply footer footer-center p-10 bg-base-200 text-base-content;
}

.energy-footer-stats {
    @apply grid grid-flow-col gap-4;
}

.energy-footer-links {
    @apply grid grid-flow-col gap-4;
}

/* Search */
.energy-search {
    @apply join;
}

.energy-search-input {
    @apply input input-bordered join-item;
}

.energy-search-button {
    @apply btn btn-primary join-item;
}

/* Breadcrumbs */
.energy-breadcrumb {
    @apply breadcrumbs text-sm;
}

.energy-breadcrumb ol {
    @apply breadcrumbs;
}

/* Pagination */
.energy-pagination {
    @apply join;
}

.energy-pagination .page-numbers {
    @apply join-item btn;
}

.energy-pagination .current {
    @apply btn-active;
}

/* Widgets */
.energy-widget {
    @apply card bg-base-100 shadow-lg;
}

.energy-widget-title {
    @apply card-title text-lg;
}

.energy-widget-content {
    @apply card-body;
}

/* Forms */
.energy-form {
    @apply space-y-4;
}

.energy-form-group {
    @apply form-control;
}

.energy-form-label {
    @apply label;
}

.energy-form-input {
    @apply input input-bordered;
}

.energy-form-textarea {
    @apply textarea textarea-bordered;
}

.energy-form-select {
    @apply select select-bordered;
}

.energy-form-checkbox {
    @apply checkbox checkbox-primary;
}

.energy-form-radio {
    @apply radio radio-primary;
}

/* Alerts and notifications */
.energy-alert-success {
    @apply alert alert-success;
}

.energy-alert-info {
    @apply alert alert-info;
}

.energy-alert-warning {
    @apply alert alert-warning;
}

.energy-alert-error {
    @apply alert alert-error;
}

/* Loading states */
.energy-loading {
    @apply loading loading-spinner loading-md;
}

.energy-skeleton {
    @apply skeleton;
}

/* Responsive utilities */
.energy-container {
    @apply mx-auto;
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 640px) {
    .energy-container {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

@media (min-width: 1024px) {
    .energy-container {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

.energy-grid {
    @apply grid gap-6;
}

.energy-grid-cols-1 {
    @apply grid-cols-1;
}

.energy-grid-cols-2 {
    @apply grid-cols-1 md:grid-cols-2;
}

.energy-grid-cols-3 {
    @apply grid-cols-1 md:grid-cols-2 lg:grid-cols-3;
}

.energy-grid-cols-4 {
    @apply grid-cols-1 md:grid-cols-2 lg:grid-cols-4;
}

/* Content wrapper for better readability */
.energy-content-wrapper {
    @apply mx-auto;
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 640px) {
    .energy-content-wrapper {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

@media (min-width: 1024px) {
    .energy-content-wrapper {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

/* Animation utilities */
.energy-fade-in {
    animation: fadeIn 0.6s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.energy-slide-up {
    animation: slideUp 0.5s ease-out;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Accessibility */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Focus styles */
.energy-button:focus,
.energy-input:focus,
.energy-textarea:focus,
.energy-select:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

/* Print styles */
@media print {

    .energy-nav,
    .energy-footer,
    .energy-button {
        display: none !important;
    }

    body {
        background: white !important;
        color: black !important;
    }
}

/* Brevo Form Styles */
.sib-email-area,
.sib-FIRSTNAME-area,
.sib-LASTNAME-area {
    margin-bottom: 1.5rem;
    color: #1f2937 !important;
    font-size: 0.875rem;
    line-height: 1.5;
    font-weight: 500;
    font-style: normal !important;
}

/* Ensure all text in form fields is not italic */
.sib-email-area *,
.sib-FIRSTNAME-area *,
.sib-LASTNAME-area * {
    font-style: normal !important;
}

/* Make inputs appear on new line and style them */
.sib-email-area input[type="email"],
.sib-FIRSTNAME-area input[type="text"],
.sib-LASTNAME-area input[type="text"] {
    display: block;
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    background-color: #ffffff;
    color: #1f2937 !important;
    font-size: 0.875rem;
    line-height: 1.5;
    transition: all 0.2s;
    box-sizing: border-box;
    margin-top: 0.5rem;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.sib-email-area input[type="email"]:focus,
.sib-FIRSTNAME-area input[type="text"]:focus,
.sib-LASTNAME-area input[type="text"]:focus {
    outline: none;
    border-color: #066D96;
    box-shadow: 0 0 0 3px rgba(6, 109, 150, 0.1);
}

.sib-email-area input[type="email"]::placeholder,
.sib-FIRSTNAME-area input[type="text"]::placeholder,
.sib-LASTNAME-area input[type="text"]::placeholder {
    color: #9ca3af;
}

/* Style the submit button container */
form>p:has(.sib-default-btn),
p:has(.sib-default-btn) {
    margin-top: 1.5rem;
    margin-bottom: 0;
}

.sib-default-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #066D96 !important;
    color: white !important;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: 600;
    font-size: 0.875rem;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    width: auto;
    min-width: 120px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.sib-default-btn:hover {
    background-color: #055a7a !important;
    color: white !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.sib-default-btn:focus {
    outline: 2px solid #066D96;
    outline-offset: 2px;
}

.sib-default-btn:active {
    transform: translateY(0);
}

/* Upcoming Event Section */
.upcoming-event-section {
    background-color: #ffffff;
}

/* Unsere Themen Section Grid */
.unsere-themen-section .grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .unsere-themen-section .grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .unsere-themen-section .grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Unsere Themen Cards */
.themen-card {
    background-color: #ffffff !important;
}

/* Post Navigation Styling */
.post-navigation {
    margin-top: 3rem;
    margin-bottom: 2rem;
}

.post-navigation .nav-links {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.post-navigation .nav-previous {
    flex: 1;
    min-width: 0;
}

.post-navigation .nav-next {
    flex: 1;
    min-width: 0;
    text-align: right;
}

.post-navigation .nav-previous a,
.post-navigation .nav-next a {
    display: inline-block;
    text-decoration: none;
}

.post-navigation .nav-previous a:hover,
.post-navigation .nav-next a:hover {
    opacity: 0.8;
}

@media (max-width: 640px) {
    .post-navigation .nav-links {
        flex-direction: column;
    }
    
    .post-navigation .nav-next {
        text-align: left;
    }
}