/* Enhanced Widget Styles for ProNews */

:root {
    --widget-bg: #ffffff;
    --widget-dark-bg: #1e293b;
    --widget-border-radius: 1rem;
    --widget-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --widget-hover-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --widget-header-bg: #f8fafc;
    --widget-dark-header-bg: #334155;
    --widget-header-text: #334155;
    --widget-dark-header-text: #f8fafc;
    --widget-border-color: #e2e8f0;
    --widget-dark-border-color: #475569;
    --widget-transition: all 0.3s ease;
    --widget-accent-color: #3b82f6;
    --widget-dark-accent-color: #60a5fa;
}

/* Base Widget Styles */
.sidebar-widget,
.card {
    background-color: var(--widget-bg);
    border-radius: var(--widget-border-radius);
    box-shadow: var(--widget-shadow);
    transition: var(--widget-transition);
    border: none;
    overflow: hidden;
    margin-bottom: 1.5rem;
}

[data-bs-theme="dark"] .sidebar-widget,
[data-bs-theme="dark"] .card {
    background-color: var(--widget-dark-bg);
    border-color: var(--widget-dark-border-color);
}

.sidebar-widget:hover,
.card:hover {
    box-shadow: var(--widget-hover-shadow);
    transform: translateY(-3px);
}

/* Widget Headers */
.sidebar-widget-header,
.card-header {
    background-color: var(--widget-header-bg);
    color: var(--widget-header-text);
    padding: 1rem 1.25rem;
    font-weight: 600;
    border-bottom: 1px solid var(--widget-border-color);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

[data-bs-theme="dark"] .sidebar-widget-header,
[data-bs-theme="dark"] .card-header {
    background-color: var(--widget-dark-header-bg);
    color: var(--widget-dark-header-text);
    border-color: var(--widget-dark-border-color);
}

.sidebar-widget-header i,
.card-header i {
    margin-right: 0.5rem;
    color: var(--widget-accent-color);
}

[data-bs-theme="dark"] .sidebar-widget-header i,
[data-bs-theme="dark"] .card-header i {
    color: var(--widget-dark-accent-color);
}

/* Widget Content */
.sidebar-widget-content,
.card-body {
    padding: 1.25rem;
}

/* Weather Widget Enhancements */
.weather-widget {
    border-radius: var(--widget-border-radius);
    overflow: hidden;
    transition: var(--widget-transition);
}

.weather-widget:hover {
    box-shadow: var(--widget-hover-shadow);
    transform: translateY(-3px);
}

.weather-widget .card-header {
    background: linear-gradient(135deg, #4299e1, #3182ce);
    color: white;
    border-bottom: none;
}

.weather-widget .current-weather {
    background-color: rgba(66, 153, 225, 0.05);
    padding: 1.5rem;
    border-bottom: 1px solid rgba(66, 153, 225, 0.1);
}

.weather-widget .temperature {
    font-size: 2.5rem;
    font-weight: 700;
    color: #3182ce;
}

[data-bs-theme="dark"] .weather-widget .temperature {
    color: #63b3ed;
}

.weather-widget .weather-icon {
    width: 70px;
    height: 70px;
    margin-right: 0.5rem;
}

.weather-widget .weather-description {
    font-size: 1.1rem;
    font-weight: 500;
    margin-bottom: 1rem;
}

.weather-widget .weather-details {
    display: flex;
    justify-content: space-around;
    padding: 0.5rem 0;
}

.weather-widget .weather-details i {
    margin-right: 0.5rem;
}

.weather-widget .forecast .list-group-item {
    background-color: transparent;
    border-color: rgba(66, 153, 225, 0.1);
    padding: 0.75rem 1rem;
    transition: var(--widget-transition);
}

.weather-widget .forecast .list-group-item:hover {
    background-color: rgba(66, 153, 225, 0.05);
}

/* Popular Articles Widget */
.popular-articles-widget .list-group-item {
    border: none;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--widget-border-color);
    transition: var(--widget-transition);
}

[data-bs-theme="dark"] .popular-articles-widget .list-group-item {
    border-color: var(--widget-dark-border-color);
}

.popular-articles-widget .list-group-item:last-child {
    border-bottom: none;
}

.popular-articles-widget .list-group-item:hover {
    background-color: rgba(59, 130, 246, 0.05);
}

[data-bs-theme="dark"] .popular-articles-widget .list-group-item:hover {
    background-color: rgba(96, 165, 250, 0.05);
}

.popular-articles-widget .article-image {
    width: 60px;
    height: 60px;
    border-radius: 0.5rem;
    object-fit: cover;
    margin-right: 1rem;
}

.popular-articles-widget h6 {
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
    transition: var(--widget-transition);
}

.popular-articles-widget .list-group-item:hover h6 {
    color: var(--widget-accent-color);
}

[data-bs-theme="dark"] .popular-articles-widget .list-group-item:hover h6 {
    color: var(--widget-dark-accent-color);
}

/* Newsletter Widget */
.newsletter-widget {
    background: linear-gradient(135deg, #f8fafc, #e2e8f0);
    border-radius: var(--widget-border-radius);
    padding: 1.5rem;
    box-shadow: var(--widget-shadow);
    transition: var(--widget-transition);
}

[data-bs-theme="dark"] .newsletter-widget {
    background: linear-gradient(135deg, #1e293b, #0f172a);
}

.newsletter-widget:hover {
    box-shadow: var(--widget-hover-shadow);
    transform: translateY(-3px);
}

.newsletter-widget h5 {
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--widget-header-text);
}

[data-bs-theme="dark"] .newsletter-widget h5 {
    color: var(--widget-dark-header-text);
}

.newsletter-widget .form-control {
    border-radius: 0.5rem 0 0 0.5rem;
    border: none;
    padding: 0.75rem 1rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.newsletter-widget .btn {
    border-radius: 0 0.5rem 0.5rem 0;
    padding: 0.75rem 1.25rem;
    font-weight: 600;
}

/* Ad Widget */
.ad-container {
    border-radius: var(--widget-border-radius);
    overflow: hidden;
    box-shadow: var(--widget-shadow);
    transition: var(--widget-transition);
    background-color: var(--widget-bg);
    border: 1px solid var(--widget-border-color);
    padding: 0.5rem;
}

[data-bs-theme="dark"] .ad-container {
    background-color: var(--widget-dark-bg);
    border-color: var(--widget-dark-border-color);
}

.ad-container:hover {
    box-shadow: var(--widget-hover-shadow);
    transform: translateY(-3px);
}

.ad-label {
    text-align: center;
    font-size: 0.75rem;
    color: #94a3b8;
    margin-top: 0.5rem;
}

/* Category Widget */
.category-widget .list-group-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    border-color: var(--widget-border-color);
    transition: var(--widget-transition);
}

[data-bs-theme="dark"] .category-widget .list-group-item {
    border-color: var(--widget-dark-border-color);
}

.category-widget .list-group-item:hover {
    background-color: rgba(59, 130, 246, 0.05);
}

[data-bs-theme="dark"] .category-widget .list-group-item:hover {
    background-color: rgba(96, 165, 250, 0.05);
}

.category-widget .badge {
    background-color: var(--widget-accent-color);
    transition: var(--widget-transition);
}

.category-widget .list-group-item:hover .badge {
    transform: scale(1.1);
}
