/**
 * AfD Brandenburg Resolutionen Plugin Styles
 * Version: 2.0.0
 * Vollständig gescoped um Theme-Konflikte zu vermeiden
 */

/* Basis Container - Full Width */
.afd-resolutionen-container {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    background-color: #ffffff;
    color: #222;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

:root {
    --afd-blue: #009ee0;
    --afd-red: #e3000f;
    --afd-dark: #0b2333;
    --section-bg: #f5f7fa;
}

.afd-resolutionen-container .resolutionen-section {
    padding: 3rem 0 !important;
    width: 100% !important;
    background-color: var(--section-bg);
}

.afd-resolutionen-container .section-title {
    color: var(--afd-dark);
    font-weight: 600;
    margin-bottom: 1rem;
}

/* Resolution Cards */
.afd-resolutionen-container .resolution-card {
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: 1rem;
    overflow: hidden;
    transition: all 0.3s ease;
    background: #fff;
}

.afd-resolutionen-container .resolution-card:hover {
    box-shadow: 0 16px 40px rgba(15, 23, 42, .08);
    transform: translateY(-2px);
}

.afd-resolutionen-container .resolution-thumb {
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.afd-resolutionen-container .resolution-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Buttons mit !important um Theme-Overrides zu verhindern */
.afd-resolutionen-container .btn,
.afd-resolutionen-container a.btn,
.afd-resolutionen-container button.btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.75rem 1.5rem !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
    cursor: pointer !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    transition: all 0.3s ease !important;
}

.afd-resolutionen-container .btn-primary,
.afd-resolutionen-container a.btn-primary,
.afd-resolutionen-container button.btn-primary {
    color: #ffffff !important;
    background: var(--afd-blue) !important;
    background-color: var(--afd-blue) !important;
    border-color: var(--afd-blue) !important;
}

.afd-resolutionen-container .btn-primary:hover,
.afd-resolutionen-container .btn-primary:focus,
.afd-resolutionen-container .btn-primary:active,
.afd-resolutionen-container a.btn-primary:hover,
.afd-resolutionen-container a.btn-primary:focus {
    color: #ffffff !important;
    background: #008ac4 !important;
    background-color: #008ac4 !important;
    border-color: #008ac4 !important;
    text-decoration: none !important;
    opacity: 1 !important;
}

/* Button Text immer lesbar */
.afd-resolutionen-container .btn *,
.afd-resolutionen-container .btn span,
.afd-resolutionen-container .btn svg {
    color: inherit !important;
    fill: currentColor !important;
}

/* Grid System - Full Width & Scoped */
.afd-resolutionen-container .container,
.afd-resolutionen-container .container-fluid {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 15px !important;
    padding-left: 15px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.afd-resolutionen-container .row {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-right: -15px !important;
    margin-left: -15px !important;
}

.afd-resolutionen-container [class*="col-"] {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.afd-resolutionen-container .col-12 {
    flex: 0 0 100%;
    max-width: 100%;
}

@media (min-width: 768px) {
    .afd-resolutionen-container .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    .afd-resolutionen-container .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    
    .afd-resolutionen-container .col-md-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    
    .afd-resolutionen-container .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }
}

/* Spacing Utilities */
.afd-resolutionen-container .g-4 {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem;
}

.afd-resolutionen-container .g-4 > * {
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-bottom: var(--bs-gutter-y);
}

.afd-resolutionen-container .mb-0 { margin-bottom: 0 !important; }
.afd-resolutionen-container .mb-2 { margin-bottom: 0.5rem !important; }
.afd-resolutionen-container .mb-3 { margin-bottom: 1rem !important; }
.afd-resolutionen-container .mb-4 { margin-bottom: 1.5rem !important; }
.afd-resolutionen-container .py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
.afd-resolutionen-container .p-4 { padding: 1.5rem !important; }

/* Typography */
.afd-resolutionen-container .h3 {
    font-size: calc(1.3rem + 0.6vw);
}

.afd-resolutionen-container .h5 {
    font-size: 1.25rem;
}

.afd-resolutionen-container .small {
    font-size: 0.875rem;
}

.afd-resolutionen-container .text-muted {
    color: #6c757d !important;
}

/* Display & Sizing */
.afd-resolutionen-container .w-100 {
    width: 100% !important;
}

.afd-resolutionen-container .h-100 {
    height: 100% !important;
}

/* Card Styles */
.afd-resolutionen-container .card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0,0,0,.125);
    border-radius: 1rem;
}

.afd-resolutionen-container .card-body {
    flex: 1 1 auto;
    padding: 1.5rem;
}

/* Alert Styles */
.afd-resolutionen-container .alert {
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.375rem;
}

.afd-resolutionen-container .alert-info {
    color: #055160;
    background-color: #cff4fc;
    border-color: #b6effb;
}

/* Links */
.afd-resolutionen-container a {
    color: var(--afd-blue);
    text-decoration: none;
}

.afd-resolutionen-container a:hover {
    text-decoration: underline;
}

/* Button Visited States */
.afd-resolutionen-container a.btn:visited,
.afd-resolutionen-container a.btn-primary:visited {
    color: #ffffff !important;
}

/* Responsive */
@media (max-width: 768px) {
    .afd-resolutionen-container .resolution-thumb {
        height: 150px;
    }
    
    .afd-resolutionen-container .resolutionen-section {
        padding: 2rem 0 !important;
    }
    
    .afd-resolutionen-container .mb-4 {
        margin-bottom: 1rem !important;
    }
}

/* Theme-Override Prevention */
.afd-resolutionen-container section {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
