/* Badge of Dishonor Frontend Styles */

/* Reset and Base Styles */
.bod-container * {
    box-sizing: border-box;
}

.bod-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    line-height: 1.6;
    color: #333;
}

/* Header Section */
.bod-header {
    background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
    color: white;
    padding: 40px 30px;
    border-radius: 12px;
    margin-bottom: 30px;
    text-align: center;
}

.bod-main-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0 0 10px 0;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.bod-subtitle {
    font-size: 1.2rem;
    margin: 0 0 20px 0;
    opacity: 0.9;
}

.bod-member-count {
    background: rgba(255,255,255,0.2);
    display: inline-block;
    padding: 10px 20px;
    border-radius: 25px;
    font-size: 1.1rem;
    margin-bottom: 30px;
}

/* The Plan Section */
.bod-plan-section {
    text-align: left;
    max-width: 800px;
    margin: 30px auto;
    padding: 30px;
    background: rgba(255,255,255,0.1);
    border-radius: 12px;
    backdrop-filter: blur(10px);
}

.bod-plan-section h2 {
    font-size: 2rem;
    margin-bottom: 25px;
    text-align: center;
    color: white;
    font-weight: 700;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.bod-plan-steps {
    display: grid;
    gap: 20px;
    margin-bottom: 30px;
}

.bod-plan-step {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    background: rgba(255,255,255,0.05);
    padding: 20px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.1);
}

.bod-step-number {
    background: #e74c3c;
    color: white;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.bod-plan-step .bod-step-content h3 {
    margin: 0 0 8px 0;
    font-size: 1.2rem;
    color: white !important;
    font-weight: 600;
}

.bod-plan-step .bod-step-content p {
    margin: 0;
    color: rgba(255,255,255,0.95) !important;
    line-height: 1.6;
    opacity: 1 !important;
}

.bod-plan-conclusion {
    background: rgba(231, 76, 60, 0.2);
    border: 2px solid rgba(231, 76, 60, 0.3);
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
}

.bod-plan-conclusion p {
    margin: 0;
    color: white !important;
    line-height: 1.7;
    font-size: 1.1rem;
    opacity: 1 !important;
    text-shadow: none !important;
    font-weight: normal !important;
    filter: none !important;
}

/* Mobile responsive for The Plan section */
@media (max-width: 768px) {
    .bod-plan-section {
        padding: 20px;
        margin: 20px auto;
    }
    
    .bod-plan-step {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
    
    .bod-step-number {
        align-self: center;
    }
    
    .bod-plan-step .bod-step-content h3 {
        font-size: 1.1rem;
    }
    
    .bod-plan-step .bod-step-content p {
        font-size: 0.95rem;
    }
}

/* Pledges Section */
.bod-pledges {
    text-align: left;
    max-width: 800px;
    margin: 0 auto;
}

.bod-pledges h2 {
    font-size: 1.8rem;
    margin-bottom: 15px;
    text-align: center;
}

.bod-pledges-list {
    display: grid;
    gap: 20px;
    margin-top: 25px;
}

.bod-pledge-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    background: rgba(255,255,255,0.1);
    padding: 20px;
    border-radius: 8px;
    backdrop-filter: blur(10px);
}

.bod-pledge-number {
    background: #e74c3c;
    color: white;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    flex-shrink: 0;
}

.bod-pledge-content h3 {
    margin: 0 0 8px 0;
    font-size: 1.2rem;
}

.bod-pledge-content p {
    margin: 0;
    opacity: 0.9;
}

/* User Section */
.bod-user-section {
    background: #f8f9fa;
    padding: 15px 20px;
    border-radius: 8px;
    margin-bottom: 25px;
    text-align: center;
}

.bod-welcome-message {
    color: #27ae60;
    font-weight: 500;
}

.bod-logout-link {
    color: #e74c3c;
    text-decoration: none;
    margin-left: 10px;
}

.bod-join-message {
    color: #2c3e50;
}

.bod-join-link, .bod-login-link {
    color: #3498db;
    text-decoration: none;
    font-weight: 500;
}

/* Prominent Member Status Banner */
.bod-member-status-banner {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 25px 0;
    border-radius: 15px;
    margin-bottom: 30px;
    box-shadow: 0 10px 30px rgba(102, 126, 234, 0.3);
}

.bod-member-status-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.bod-member-welcome h3 {
    font-size: 2rem;
    margin: 0 0 10px 0;
    font-weight: 700;
    background: linear-gradient(45deg, #fff, #f8f9ff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.bod-member-welcome p {
    margin: 0;
    font-size: 1.2rem;
    opacity: 0.9;
}

.bod-member-actions {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
}

.bod-member-actions .bod-btn {
    text-decoration: none;
    font-weight: 600;
    border-radius: 10px;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.bod-member-actions .bod-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

/* Filter Section */
.bod-filters {
    background: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    margin-bottom: 30px;
}

.bod-filter-row {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
}

.bod-filter-row label {
    font-weight: 500;
    white-space: nowrap;
}

.bod-select, .bod-search-input {
    padding: 10px 15px;
    border: 2px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    transition: border-color 0.3s ease;
}

.bod-select:focus, .bod-search-input:focus {
    outline: none;
    border-color: #3498db;
}

.bod-search-input {
    flex: 1;
    min-width: 200px;
}

/* Button Styles */
.bod-btn {
    display: inline-block;
    padding: 10px 20px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
}

.bod-btn-primary {
    background: #3498db;
    color: white;
}

.bod-btn-primary:hover {
    background: #2980b9;
    transform: translateY(-1px);
}

.bod-btn-secondary {
    background: #95a5a6;
    color: white;
}

.bod-btn-secondary:hover {
    background: #7f8c8d;
}

.bod-btn-full {
    width: 100%;
}

/* Company Columns */
.bod-columns-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 25px;
    margin-bottom: 40px;
}

.bod-column {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: transform 0.3s ease;
}

.bod-column:hover {
    transform: translateY(-2px);
}

.bod-column-header {
    padding: 25px 20px;
    text-align: center;
}

.bod-honor-column .bod-column-header {
    background: linear-gradient(135deg, #27ae60, #2ecc71);
    color: white;
}

.bod-neutral-column .bod-column-header {
    background: linear-gradient(135deg, #95a5a6, #bdc3c7);
    color: white;
}

.bod-dishonor-column .bod-column-header {
    background: linear-gradient(135deg, #e74c3c, #c0392b);
    color: white;
}

.bod-column-header h2 {
    margin: 0 0 10px 0;
    font-size: 1.5rem;
}

.bod-column-count {
    background: rgba(255,255,255,0.2);
    display: inline-block;
    padding: 5px 12px;
    border-radius: 15px;
    font-size: 0.9rem;
    margin-bottom: 10px;
}

.bod-column-header p {
    margin: 0;
    opacity: 0.9;
    font-size: 0.95rem;
}

/* Company Items */
.bod-companies-list {
    max-height: 500px;
    overflow-y: auto;
    padding: 0 10px 20px 10px;
}

.bod-company-item {
    background: #f8f9fa;
    margin: 10px;
    padding: 15px;
    border-radius: 8px;
    border-left: 4px solid #ddd;
    transition: all 0.3s ease;
}

.bod-honor-column .bod-company-item {
    border-left-color: #27ae60;
}

.bod-neutral-column .bod-company-item {
    border-left-color: #95a5a6;
}

.bod-dishonor-column .bod-company-item {
    border-left-color: #e74c3c;
}

.bod-company-item:hover {
    transform: translateX(3px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.bod-company-name {
    font-weight: 600;
    font-size: 1.1rem;
    color: #2c3e50;
    margin-bottom: 5px;
}

.bod-company-category {
    font-size: 0.9rem;
    color: #7f8c8d;
    margin-bottom: 8px;
}

.bod-company-status {
    font-size: 0.85rem;
    font-weight: 500;
}

.bod-honor-column .bod-company-status {
    color: #27ae60;
}

.bod-neutral-column .bod-company-status {
    color: #95a5a6;
}

.bod-dishonor-column .bod-company-status {
    color: #e74c3c;
}

.bod-empty-message {
    text-align: center;
    padding: 40px 20px;
    color: #7f8c8d;
}

/* Call to Action Section */
.bod-cta-section {
    background: linear-gradient(135deg, #3498db, #2980b9);
    color: white;
    padding: 40px 30px;
    border-radius: 12px;
    text-align: center;
    margin-bottom: 30px;
}

.bod-cta-content h2 {
    margin: 0 0 15px 0;
    font-size: 2rem;
}

.bod-cta-buttons {
    margin-top: 25px;
}

.bod-cta-buttons .bod-btn {
    margin: 0 10px;
}

.bod-share-section {
    margin-top: 25px;
}

.bod-share-buttons {
    margin-top: 15px;
}

.bod-share-btn {
    display: inline-block;
    padding: 8px 16px;
    margin: 0 5px;
    background: rgba(255,255,255,0.2);
    color: white;
    text-decoration: none;
    border-radius: 4px;
    font-size: 0.9rem;
    transition: background 0.3s ease;
}

.bod-share-btn:hover {
    background: rgba(255,255,255,0.3);
}

/* Statistics Section */
.bod-stats-section {
    background: white;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

.bod-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

.bod-stat-item {
    text-align: center;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 8px;
}

.bod-stat-number {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 5px;
}

.bod-stat-label {
    font-size: 0.9rem;
    color: #7f8c8d;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Form Styles */
.bod-register-container, .bod-login-container {
    max-width: 500px;
    margin: 0 auto;
    padding: 20px;
}

.bod-register-form-wrapper, .bod-login-form-wrapper {
    background: white;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

.bod-register-header, .bod-login-header {
    text-align: center;
    margin-bottom: 30px;
}

.bod-register-header h1, .bod-login-header h1 {
    color: #2c3e50;
    margin-bottom: 10px;
}

.bod-register-benefits {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 30px;
}

.bod-register-benefits h3 {
    margin: 0 0 15px 0;
    color: #2c3e50;
}

.bod-register-benefits ul {
    margin: 0;
    padding-left: 0;
    list-style: none;
}

.bod-register-benefits li {
    margin-bottom: 8px;
    color: #27ae60;
}

.bod-form-group {
    margin-bottom: 20px;
}

.bod-form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: 500;
    color: #2c3e50;
}

.bod-input {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #ddd;
    border-radius: 6px;
    font-size: 16px;
    transition: border-color 0.3s ease;
}

.bod-input:focus {
    outline: none;
    border-color: #3498db;
}

.bod-help-text {
    display: block;
    margin-top: 5px;
    font-size: 0.9rem;
    color: #7f8c8d;
}

.bod-checkbox-label {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.bod-checkbox-label input[type="checkbox"] {
    margin-top: 3px;
}

.bod-message {
    padding: 15px;
    border-radius: 6px;
    margin-top: 15px;
    text-align: center;
    font-weight: 500;
}

.bod-message-success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.bod-message-error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.bod-register-footer, .bod-login-footer {
    text-align: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.bod-privacy-note, .bod-login-info {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    margin-top: 30px;
}

.bod-privacy-note h4, .bod-login-info h4 {
    margin: 0 0 10px 0;
    color: #2c3e50;
}

.bod-link {
    color: #3498db;
    text-decoration: none;
}

.bod-link:hover {
    text-decoration: underline;
}

/* Notice Styles */
.bod-notice {
    padding: 15px 20px;
    border-radius: 6px;
    margin-bottom: 20px;
}

.bod-notice-info {
    background: #d1ecf1;
    color: #0c5460;
    border: 1px solid #bee5eb;
}

/* Message to Businesses Section */
.bod-message-section {
    background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
    color: white;
    padding: 50px 20px;
    margin: 40px 0;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(44, 62, 80, 0.3);
}

.bod-message-content {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.bod-message-content h2 {
    font-size: 2.5rem;
    margin-bottom: 30px;
    color: #fff;
    font-weight: 700;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.bod-message-text {
    font-size: 1.2rem;
    line-height: 1.7;
    text-align: left;
}

.bod-message-text p {
    margin-bottom: 20px;
}

.bod-message-text strong {
    color: #ecf0f1;
    font-weight: 700;
}

.bod-message-list {
    background: rgba(255, 255, 255, 0.1);
    padding: 25px;
    border-radius: 8px;
    margin: 25px 0;
    backdrop-filter: blur(10px);
}

.bod-message-list li {
    margin-bottom: 15px;
    font-size: 1.1rem;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.bod-message-list li:last-child {
    margin-bottom: 0;
}

.bod-message-conclusion {
    background: rgba(231, 76, 60, 0.2);
    border: 2px solid #e74c3c;
    border-radius: 8px;
    padding: 25px;
    margin-top: 30px;
}

.bod-message-conclusion p {
    margin-bottom: 10px;
    font-weight: 600;
}

.bod-message-conclusion p:last-child {
    margin-bottom: 0;
    font-style: italic;
}

/* How Can You Help Section */
.bod-help-section {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 20px;
    padding: 60px 30px;
    margin: 40px 0;
    border: none;
    box-shadow: 0 20px 40px rgba(102, 126, 234, 0.3);
    position: relative;
    overflow: hidden;
}

.bod-help-section::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
    animation: shimmer 6s ease-in-out infinite;
}

@keyframes shimmer {
    0%, 100% { transform: rotate(0deg); }
    50% { transform: rotate(180deg); }
}

.bod-help-content {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 1;
}

.bod-help-content h2 {
    font-size: 3rem;
    color: white;
    margin-bottom: 15px;
    font-weight: 800;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.bod-help-content > p {
    font-size: 1.3rem;
    color: rgba(255,255,255,0.95);
    margin-bottom: 50px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
    line-height: 1.7;
}

.bod-help-steps {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    text-align: left;
}

.bod-help-step {
    background: linear-gradient(135deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.9) 100%);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    align-items: flex-start;
    gap: 25px;
    border: 2px solid rgba(255,255,255,0.3);
    transition: all 0.4s ease;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(10px);
    position: relative;
    overflow: hidden;
}

.bod-help-step::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(135deg, #ff6b6b 0%, #4ecdc4 25%, #45b7d1 50%, #f9ca24 75%, #6c5ce7 100%);
    transform: scaleX(0);
    transition: transform 0.4s ease;
}

.bod-help-step:hover::before {
    transform: scaleX(1);
}

.bod-help-step:hover {
    border-color: rgba(255,255,255,0.8);
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
    background: linear-gradient(135deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0.95) 100%);
}

.bod-step-number {
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
    color: white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    font-weight: 900;
    flex-shrink: 0;
    box-shadow: 0 8px 25px rgba(255, 107, 107, 0.4);
    position: relative;
    transition: all 0.3s ease;
}

.bod-step-number::before {
    content: '';
    position: absolute;
    top: -3px;
    left: -3px;
    right: -3px;
    bottom: -3px;
    background: linear-gradient(135deg, #ff6b6b, #ee5a24, #ff6b6b);
    border-radius: 50%;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.bod-help-step:hover .bod-step-number::before {
    opacity: 1;
}

.bod-help-step:hover .bod-step-number {
    transform: scale(1.1);
}

.bod-step-content {
    flex: 1;
}

/* Removed conflicting CSS rules that were overriding The Plan section text colors */

.bod-step-btn {
    background: linear-gradient(135deg, #00d2ff 0%, #3a7bd5 100%);
    color: white;
    padding: 12px 24px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 700;
    display: inline-block;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    box-shadow: 0 6px 20px rgba(0, 210, 255, 0.3);
    position: relative;
    overflow: hidden;
}

.bod-step-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: left 0.5s ease;
}

.bod-step-btn:hover::before {
    left: 100%;
}

.bod-step-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0, 210, 255, 0.4);
    color: white;
    text-decoration: none;
}

.bod-step-completed {
    color: #00d084;
    font-weight: 700;
    font-size: 1.2rem;
    background: linear-gradient(135deg, #00d084 0%, #7ed321 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.bod-step-info {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 10px 16px;
    border-radius: 25px;
    font-size: 0.95rem;
    font-weight: 600;
    display: inline-block;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.bod-social-share {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.bod-social-share .bod-share-btn {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 10px 18px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    display: inline-block;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    font-size: 0.9rem;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.bod-social-share .bod-share-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
    color: white;
}

/* Supporting Business Styles */
.bod-supporting-section {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 12px;
    padding: 2rem;
    margin-top: 2rem;
    border: 1px solid #dee2e6;
}

.bod-supporting-section h2 {
    color: #2c3e50;
    text-align: center;
    margin-bottom: 1rem;
    font-size: 1.8rem;
}

.bod-supporting-section > p {
    text-align: center;
    color: #6c757d;
    margin-bottom: 2rem;
    font-size: 1.1rem;
}

.bod-supporting-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    max-width: 800px;
    margin: 0 auto;
}

.bod-supporting-option {
    background: white;
    border-radius: 8px;
    padding: 1.5rem;
    text-align: center;
    border: 2px solid #e9ecef;
    transition: all 0.3s ease;
}

.bod-supporting-option:hover {
    border-color: #007bff;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0, 123, 255, 0.1);
}

.bod-supporting-option h3 {
    color: #2c3e50;
    margin-bottom: 0.5rem;
    font-size: 1.2rem;
}

.bod-supporting-option p {
    color: #6c757d;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

/* Business Benefits Section */
.bod-business-benefits {
    margin: 30px 0;
    padding: 0;
}

.bod-benefits-highlight {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: white;
    padding: 30px;
    border-radius: 15px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(40, 167, 69, 0.3);
    margin: 20px 0;
}

.bod-benefits-highlight h2 {
    font-size: 2.2em;
    margin-bottom: 15px;
    font-weight: 700;
    text-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.bod-benefits-text {
    font-size: 1.2em;
    line-height: 1.6;
    margin-bottom: 25px;
}

.bod-benefits-text strong {
    font-weight: 700;
}

.bod-benefits-points {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 20px;
}

.bod-benefit-point {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.1);
    padding: 12px 20px;
    border-radius: 25px;
    backdrop-filter: blur(10px);
    font-weight: 500;
}

.bod-benefit-icon {
    font-size: 1.2em;
}

/* Form Styles */
.bod-form-section {
    background: #f8f9fa;
    padding: 3rem 0;
    margin: 2rem 0;
}

.bod-form-container {
    max-width: 600px;
    margin: 0 auto;
    background: white;
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.bod-form-container h2 {
    color: #2c3e50;
    text-align: center;
    margin-bottom: 1rem;
}

.bod-form-container > p {
    text-align: center;
    color: #6c757d;
    margin-bottom: 2rem;
}

.bod-form {
    width: 100%;
}

.bod-form-row {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.bod-form-row:last-child {
    margin-bottom: 0;
}

.bod-form-group-full {
    flex: 1;
}

.bod-form-group-full label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: #2c3e50;
}

.bod-form-input,
.bod-form-select {
    width: 100%;
    padding: 0.75rem;
    border: 2px solid #e9ecef;
    border-radius: 6px;
    font-size: 1rem;
    transition: border-color 0.3s ease;
}

.bod-form-input:focus,
.bod-form-select:focus {
    outline: none;
    border-color: #007bff;
}

.bod-form-help {
    display: block;
    margin-top: 0.25rem;
    color: #6c757d;
    font-size: 0.875rem;
}

.bod-pledge-agreement {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 1.5rem;
    border: 1px solid #dee2e6;
}

.bod-pledge-agreement h3 {
    color: #2c3e50;
    margin-bottom: 1rem;
}

.bod-agreement-text {
    margin-bottom: 1.5rem;
}

.bod-agreement-text ul {
    margin: 1rem 0;
    padding-left: 1.5rem;
}

.bod-agreement-text li {
    margin-bottom: 0.5rem;
    color: #495057;
}

.bod-agreement-note {
    background: #e7f3ff;
    border-left: 4px solid #007bff;
    padding: 1rem;
    margin-top: 1rem;
    border-radius: 0 4px 4px 0;
    font-style: italic;
}

.bod-checkbox-text {
    flex: 1;
    line-height: 1.5;
}

.bod-form-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-top: 2rem;
    flex-wrap: wrap;
}

/* Search Section Styles */
.bod-search-section {
    background: white;
    margin: 2rem 0;
    padding: 2rem 0;
}

.bod-search-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 1rem;
}

.bod-search-container h2 {
    text-align: center;
    color: #2c3e50;
    margin-bottom: 1rem;
}

.bod-search-container > p {
    text-align: center;
    color: #6c757d;
    margin-bottom: 2rem;
}

.bod-location-search {
    text-align: center;
    background: #f8f9fa;
    border-radius: 12px;
    padding: 2rem;
    margin-bottom: 2rem;
}

.bod-location-search h3 {
    color: #2c3e50;
    margin-bottom: 0.5rem;
}

.bod-location-search p {
    color: #6c757d;
    margin-bottom: 1.5rem;
}

.bod-search-divider {
    text-align: center;
    margin: 2rem 0;
    position: relative;
}

.bod-search-divider::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: #dee2e6;
}

.bod-search-divider span {
    background: white;
    padding: 0 1rem;
    color: #6c757d;
    font-weight: 600;
}

.bod-manual-search {
    background: white;
    border: 2px solid #e9ecef;
    border-radius: 12px;
    padding: 2rem;
}

.bod-manual-search h3 {
    color: #2c3e50;
    margin-bottom: 1.5rem;
    text-align: center;
}

.bod-search-tabs {
    display: flex;
    margin-bottom: 2rem;
    border-bottom: 2px solid #e9ecef;
}

.bod-tab-btn {
    flex: 1;
    padding: 1rem;
    background: none;
    border: none;
    cursor: pointer;
    font-weight: 600;
    color: #6c757d;
    border-bottom: 3px solid transparent;
    transition: all 0.3s ease;
}

.bod-tab-btn.active,
.bod-tab-btn:hover {
    color: #007bff;
    border-bottom-color: #007bff;
}

.bod-search-tab {
    display: none;
}

.bod-search-tab.active {
    display: block;
}

.bod-status-message {
    margin-top: 1rem;
    padding: 0.75rem;
    border-radius: 6px;
    text-align: center;
    font-weight: 500;
}

.bod-status-message.error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.bod-status-message.success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

/* Results Section */
.bod-results-section {
    background: #f8f9fa;
    padding: 3rem 0;
    margin-top: 2rem;
}

.bod-results-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

.bod-results-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.bod-results-header h2 {
    color: #2c3e50;
    margin: 0;
}

.bod-results-filters {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.bod-results-filters label {
    font-weight: 600;
    color: #495057;
}

.bod-businesses-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.5rem;
}

.bod-business-card {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #e9ecef;
}

.bod-business-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.bod-business-header {
    margin-bottom: 1rem;
}

.bod-business-name {
    color: #2c3e50;
    font-size: 1.3rem;
    margin-bottom: 0.5rem;
    font-weight: 700;
}

.bod-business-category {
    background: #e7f3ff;
    color: #0056b3;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.875rem;
    font-weight: 600;
    display: inline-block;
}

.bod-business-location {
    margin-bottom: 1rem;
    color: #6c757d;
}

.bod-business-city {
    font-weight: 600;
    margin-right: 0.5rem;
}

.bod-business-zip {
    background: #f8f9fa;
    padding: 0.125rem 0.5rem;
    border-radius: 4px;
    font-size: 0.875rem;
}

.bod-business-status {
    color: #155724;
    font-weight: 600;
    background: #d4edda;
    padding: 0.5rem;
    border-radius: 6px;
    text-align: center;
    border: 1px solid #c3e6cb;
}

.bod-no-results {
    text-align: center;
    background: white;
    border-radius: 12px;
    padding: 3rem 2rem;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.bod-no-results h3 {
    color: #2c3e50;
    margin-bottom: 1rem;
}

.bod-no-results p {
    color: #6c757d;
    margin-bottom: 2rem;
}

.bod-no-results-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.bod-loading {
    text-align: center;
    padding: 2rem;
    color: #6c757d;
    font-size: 1.1rem;
}

.bod-error {
    text-align: center;
    padding: 2rem;
    color: #721c24;
    background: #f8d7da;
    border-radius: 8px;
    border: 1px solid #f5c6cb;
}

/* Info Grid */
.bod-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.bod-info-item {
    text-align: center;
    padding: 1.5rem;
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    border: 1px solid #e9ecef;
}

.bod-info-item h3 {
    color: #2c3e50;
    margin-bottom: 1rem;
    font-size: 1.2rem;
}

.bod-info-item p {
    color: #6c757d;
    line-height: 1.6;
}

/* Responsive Design */
@media (max-width: 768px) {
    .bod-container {
        padding: 15px;
    }
    
    .bod-main-title {
        font-size: 2rem;
    }
    
    .bod-subtitle {
        font-size: 1rem;
    }
    
    .bod-header {
        padding: 30px 20px;
    }
    
    .bod-pledges-list {
        gap: 15px;
    }
    
    .bod-pledge-item {
        flex-direction: column;
        text-align: center;
    }
    
    .bod-pledge-number {
        align-self: center;
    }
    
    .bod-columns-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .bod-filter-row {
        flex-direction: column;
        align-items: stretch;
    }
    
    .bod-filter-row label {
        margin-bottom: 5px;
    }
    
    .bod-search-input {
        min-width: auto;
    }
    
    .bod-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .bod-stat-number {
        font-size: 2rem;
    }
    
    .bod-cta-content h2 {
        font-size: 1.5rem;
    }
    
    .bod-cta-buttons .bod-btn {
        display: block;
        margin: 10px 0;
    }
    
    .bod-share-btn {
        display: block;
        margin: 5px 0;
    }
    
    .bod-register-form-wrapper, .bod-login-form-wrapper {
        padding: 30px 20px;
    }
    
    .bod-supporting-buttons {
        grid-template-columns: 1fr;
    }
    
    .bod-form-row {
        flex-direction: column;
    }
    
    .bod-results-header {
        flex-direction: column;
        align-items: stretch;
    }
    
    .bod-results-filters {
        justify-content: center;
    }
    
    .bod-businesses-grid {
        grid-template-columns: 1fr;
    }
    
    .bod-form-actions {
        flex-direction: column;
    }
    
    .bod-no-results-actions {
        flex-direction: column;
    }
    
    .bod-search-tabs {
        flex-direction: column;
    }
    
    .bod-tab-btn {
        border-bottom: 1px solid #e9ecef;
        border-right: 3px solid transparent;
    }
    
    .bod-tab-btn.active,
    .bod-tab-btn:hover {
        border-right-color: #007bff;
        border-bottom-color: #e9ecef;
    }

    /* Business Benefits Mobile */
    .bod-benefits-points {
        flex-direction: column;
        align-items: center;
    }
    
    .bod-benefit-point {
        max-width: 300px;
    }
    
    .bod-benefits-highlight h2 {
        font-size: 1.8em;
    }
    
    .bod-benefits-text {
        font-size: 1.1em;
    }
    
    /* Message Section Mobile */
    .bod-message-content h2 {
        font-size: 2rem;
    }
    
    .bod-message-text {
        font-size: 1.1rem;
    }
    
    .bod-message-list li {
        font-size: 1rem;
    }
    
    /* Help Section Mobile */
    .bod-help-content h2 {
        font-size: 2rem;
    }
    
    .bod-help-content > p {
        font-size: 1.1rem;
    }
    
    .bod-help-step {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
    
    .bod-step-number {
        align-self: center;
    }
    
    .bod-step-content h3 {
        font-size: 1.2rem;
    }
    
    .bod-social-share {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .bod-main-title {
        font-size: 1.8rem;
    }
    
    .bod-header {
        padding: 25px 15px;
    }
    
    .bod-pledge-item {
        padding: 15px;
    }
    
    .bod-column-header {
        padding: 20px 15px;
    }
    
    .bod-column-header h2 {
        font-size: 1.3rem;
    }
    
    .bod-stats-grid {
        grid-template-columns: 1fr;
    }
    
    .bod-stat-number {
        font-size: 1.8rem;
    }
}

/* Member Dashboard Section on Home Page */
.bod-member-dashboard-section {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 60px 0;
    text-align: center;
}

.bod-member-dashboard-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.bod-member-dashboard-section h2 {
    font-size: 2.5rem;
    margin-bottom: 20px;
    background: linear-gradient(45deg, #fff, #f8f9ff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.bod-member-dashboard-section p {
    font-size: 1.2rem;
    margin-bottom: 40px;
    opacity: 0.9;
}

.bod-dashboard-features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 40px;
}

.bod-dashboard-feature {
    background: rgba(255, 255, 255, 0.1);
    padding: 30px;
    border-radius: 15px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
}

.bod-dashboard-feature:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.15);
}

.bod-dashboard-feature h3 {
    font-size: 1.3rem;
    margin-bottom: 15px;
    color: #fff;
}

.bod-dashboard-feature p {
    font-size: 1rem;
    opacity: 0.9;
    margin-bottom: 0;
}

.bod-dashboard-cta {
    margin-top: 40px;
}

.bod-btn-large {
    padding: 15px 40px;
    font-size: 1.3rem;
    font-weight: 600;
    border-radius: 10px;
    background: linear-gradient(45deg, #ff6b6b, #ee5a24);
    color: white;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.bod-btn-large:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.2);
    background: linear-gradient(45deg, #ff5252, #d63031);
}

/* Dashboard link in header */
.bod-dashboard-link {
    color: #667eea;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

.bod-dashboard-link:hover {
    color: #764ba2;
    text-decoration: underline;
}

/* Member Dashboard Styles */
.bod-dashboard {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.bod-dashboard-header {
    text-align: center;
    margin-bottom: 30px;
    padding: 30px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(102, 126, 234, 0.3);
}

.bod-dashboard-header h1 {
    font-size: 2.5rem;
    margin-bottom: 10px;
    font-weight: 700;
}

.bod-dashboard-header p {
    font-size: 1.2rem;
    opacity: 0.9;
}

.bod-dashboard-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 30px;
    justify-content: center;
    background: white;
    border-radius: 12px;
    padding: 15px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.bod-dashboard .bod-tab-btn {
    padding: 10px 20px;
    border: none;
    background: #f8f9fa;
    color: #6c757d;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
}

.bod-dashboard .bod-tab-btn:hover {
    background: #e9ecef;
    color: #495057;
}

.bod-dashboard .bod-tab-btn.active {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.bod-tab-content {
    display: none;
    background: white;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.bod-tab-content.active {
    display: block;
}

.bod-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.bod-dashboard-card {
    background: #f8f9fa;
    border-radius: 10px;
    padding: 25px;
    border: 1px solid #e9ecef;
}

.bod-dashboard-card h3 {
    color: #2c3e50;
    margin-bottom: 15px;
    font-size: 1.3rem;
}

.bod-dashboard .bod-stats {
    display: flex;
    justify-content: space-around;
    text-align: center;
}

.bod-dashboard .bod-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.bod-dashboard .bod-stat strong {
    font-size: 2rem;
    color: #667eea;
    margin-bottom: 5px;
}

.bod-dashboard .bod-stat span {
    font-size: 0.9rem;
    color: #6c757d;
}

.bod-badges {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.bod-badge {
    display: flex;
    align-items: center;
    gap: 15px;
    background: white;
    padding: 15px;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.bod-badge-icon {
    font-size: 1.5rem;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 50%;
}

.bod-badge-info strong {
    color: #2c3e50;
    display: block;
    margin-bottom: 5px;
}

.bod-badge-info p {
    color: #6c757d;
    font-size: 0.9rem;
    margin: 0;
}

.bod-recent-updates {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.bod-update-preview {
    background: white;
    padding: 15px;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.bod-update-preview strong {
    color: #2c3e50;
    display: block;
    margin-bottom: 5px;
}

.bod-update-preview p {
    color: #6c757d;
    margin: 5px 0;
}

.bod-update-preview small {
    color: #adb5bd;
    font-size: 0.8rem;
}

.bod-watchlist-section {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.bod-add-to-watchlist {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 10px;
    border: 1px solid #e9ecef;
}

.bod-add-to-watchlist h4 {
    color: #2c3e50;
    margin-bottom: 15px;
}

.bod-dashboard .bod-form-row {
    display: flex;
    gap: 15px;
    align-items: center;
}

.bod-dashboard .bod-form-select {
    flex: 1;
    padding: 10px;
    border: 1px solid #ced4da;
    border-radius: 6px;
    font-size: 1rem;
}

.bod-watchlist-items {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.bod-watchlist-item {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: box-shadow 0.3s ease;
}

.bod-watchlist-item:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.bod-watchlist-info h4 {
    color: #2c3e50;
    margin-bottom: 5px;
}

.bod-watchlist-info p {
    color: #6c757d;
    margin: 2px 0;
}

.bod-watchlist-info small {
    color: #adb5bd;
    font-size: 0.8rem;
}

.bod-watchlist-actions {
    display: flex;
    gap: 10px;
}

.bod-btn-small {
    padding: 8px 15px;
    font-size: 0.9rem;
}

.bod-btn-danger {
    background: #dc3545;
    color: white;
}

.bod-btn-danger:hover {
    background: #c82333;
}

.bod-status-honor {
    color: #28a745;
    font-weight: 600;
}

.bod-status-neutral {
    color: #6c757d;
    font-weight: 600;
}

.bod-status-dishonor {
    color: #dc3545;
    font-weight: 600;
}

.bod-feed-section {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Feed stats and empty state */
.bod-feed-stats {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding: 15px;
    background: #e8f4f8;
    border-radius: 8px;
    border-left: 4px solid #007cba;
}

.bod-feed-count {
    font-weight: 600;
    color: #007cba;
}

.bod-view-all-link {
    color: #007cba;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
}

.bod-view-all-link:hover {
    text-decoration: underline;
}

.bod-empty-feed {
    text-align: center;
    padding: 40px 20px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 2px dashed #dee2e6;
}

.bod-empty-feed h3 {
    margin: 0 0 10px 0;
    color: #6c757d;
    font-size: 18px;
}

.bod-empty-feed p {
    margin: 0 0 20px 0;
    color: #6c757d;
    font-size: 14px;
}

.bod-empty-actions {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

.bod-empty-actions .bod-btn {
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 500;
    display: inline-block;
    transition: all 0.3s ease;
}

.bod-empty-actions .bod-btn-primary {
    background: #007cba;
    color: white;
}

.bod-empty-actions .bod-btn-primary:hover {
    background: #005a8b;
}

.bod-empty-actions .bod-btn-secondary {
    background: #6c757d;
    color: white;
}

.bod-empty-actions .bod-btn-secondary:hover {
    background: #545b62;
}

.bod-feed-items {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.bod-feed-item {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 20px;
    transition: box-shadow 0.3s ease;
}

.bod-feed-item:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.bod-feed-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 15px;
}

.bod-feed-header h4 {
    color: #2c3e50;
    margin: 0;
    flex: 1;
}

.bod-feed-meta {
    display: flex;
    gap: 10px;
    align-items: center;
}

.bod-company-tag {
    background: #667eea;
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 500;
}

.bod-update-type {
    background: #6c757d;
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 500;
}

.bod-feed-content {
    margin-bottom: 15px;
}

.bod-feed-content p {
    color: #495057;
    line-height: 1.6;
}

.bod-source-link {
    color: #667eea;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
}

.bod-source-link:hover {
    text-decoration: underline;
}

.bod-feed-actions {
    display: flex;
    gap: 15px;
    align-items: center;
    margin-bottom: 10px;
}

.bod-vote-btn,
.bod-comment-btn {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    padding: 8px 12px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.3s ease;
}

.bod-vote-btn:hover,
.bod-comment-btn:hover {
    background: #e9ecef;
}

.bod-feed-meta-info {
    color: #6c757d;
    font-size: 0.8rem;
    border-top: 1px solid #e9ecef;
    padding-top: 10px;
}

.bod-hashtag-section {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.bod-hashtag-refresh {
    text-align: center;
}

.bod-hashtag-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.bod-hashtag-item {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 20px;
    transition: box-shadow 0.3s ease;
}

.bod-hashtag-item:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.bod-hashtag-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.bod-hashtag-source {
    background: #28a745;
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 500;
}

.bod-hashtag-date {
    color: #6c757d;
    font-size: 0.9rem;
}

.bod-hashtag-item h4 {
    color: #2c3e50;
    margin-bottom: 10px;
}

.bod-hashtag-item p {
    color: #495057;
    line-height: 1.6;
    margin-bottom: 15px;
}

.bod-hashtag-link {
    color: #667eea;
    text-decoration: none;
    font-weight: 500;
}

.bod-hashtag-link:hover {
    text-decoration: underline;
}

.bod-submit-section,
.bod-report-section,
.bod-preferences-section {
    max-width: 600px;
    margin: 0 auto;
}

.bod-dashboard .bod-form-group {
    margin-bottom: 20px;
}

.bod-dashboard .bod-form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: #2c3e50;
}

.bod-dashboard .bod-form-input,
.bod-dashboard .bod-form-textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ced4da;
    border-radius: 6px;
    font-size: 1rem;
    transition: border-color 0.3s ease;
}

.bod-dashboard .bod-form-input:focus,
.bod-dashboard .bod-form-textarea:focus {
    outline: none;
    border-color: #667eea;
}

.bod-dashboard .bod-form-textarea {
    resize: vertical;
}

.bod-dashboard .bod-form-actions {
    text-align: center;
    margin-top: 30px;
}

.bod-dashboard .bod-btn {
    padding: 12px 24px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
}

.bod-dashboard .bod-btn-primary {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.bod-dashboard .bod-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}

.bod-dashboard .bod-btn-secondary {
    background: #6c757d;
    color: white;
}

.bod-dashboard .bod-btn-secondary:hover {
    background: #5a6268;
}

.bod-dashboard .bod-message {
    padding: 15px;
    border-radius: 6px;
    margin-top: 20px;
    font-weight: 500;
}

.bod-dashboard .bod-message-success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.bod-dashboard .bod-message-error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.bod-dashboard .bod-checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.bod-dashboard .bod-checkbox-label input[type="checkbox"] {
    width: auto;
    margin: 0;
}

.bod-dashboard .bod-checkmark {
    width: 20px;
    height: 20px;
    border: 2px solid #ced4da;
    border-radius: 4px;
    display: inline-block;
    position: relative;
}

.bod-dashboard .bod-checkbox-label input[type="checkbox"]:checked + .bod-checkmark {
    background: #667eea;
    border-color: #667eea;
}

.bod-dashboard .bod-checkbox-label input[type="checkbox"]:checked + .bod-checkmark::after {
    content: '✓';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-weight: bold;
}

/* Dashboard Mobile Responsive */
@media (max-width: 768px) {
    .bod-dashboard {
        padding: 10px;
    }
    
    .bod-dashboard-header {
        padding: 20px;
    }
    
    .bod-dashboard-header h1 {
        font-size: 2rem;
    }
    
    .bod-dashboard-tabs {
        flex-direction: column;
        align-items: stretch;
    }
    
    .bod-dashboard .bod-tab-btn {
        width: 100%;
        margin-bottom: 5px;
    }
    
    .bod-dashboard-grid {
        grid-template-columns: 1fr;
    }
    
    .bod-dashboard .bod-form-row {
        flex-direction: column;
        align-items: stretch;
    }
    
    .bod-watchlist-item {
        flex-direction: column;
        align-items: stretch;
        gap: 15px;
    }
    
    .bod-watchlist-actions {
        justify-content: center;
    }
    
    .bod-feed-header {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    
    .bod-feed-meta {
        justify-content: flex-start;
    }
    
    .bod-hashtag-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    /* Mobile dashboard section */
    .bod-member-dashboard-section {
        padding: 40px 0;
    }

    .bod-member-dashboard-section h2 {
        font-size: 2rem;
    }

    .bod-dashboard-features {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .bod-dashboard-feature {
        padding: 20px;
    }

    .bod-btn-large {
        padding: 12px 25px;
        font-size: 1.1rem;
    }
    
    /* Mobile member status banner */
    .bod-member-status-content {
        flex-direction: column;
        text-align: center;
    }
    
    .bod-member-welcome h3 {
        font-size: 1.7rem;
    }
    
    .bod-member-actions {
        justify-content: center;
    }
} 

/* Support Section */
.bod-support-section {
    background: #f8f9fa;
    border-radius: 8px;
    margin-top: 30px;
    border: 1px solid #e9ecef;
    overflow: hidden;
}

.bod-support-toggle {
    text-align: center;
}

.bod-support-btn {
    background: linear-gradient(135deg, #ff6b6b 0%, #ff8e8e 100%);
    color: white;
    border: none;
    padding: 12px 20px;
    border-radius: 0;
    width: 100%;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.bod-support-btn:hover {
    background: linear-gradient(135deg, #ff5252 0%, #ff7979 100%);
    transform: translateY(-1px);
}

.bod-support-content {
    padding: 20px;
    text-align: center;
    background: white;
    border-top: 1px solid #e9ecef;
}

.bod-support-content p {
    margin-bottom: 15px;
    color: #666;
    font-size: 0.95rem;
}

.bod-kofi-container {
    max-width: 450px;
    margin: 0 auto;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.bod-kofi-container iframe {
    border-radius: 8px;
}

#support-arrow {
    font-size: 0.8rem;
    transition: transform 0.3s ease;
}

#support-icon {
    font-size: 1.1rem;
}

@media (max-width: 768px) {
    .bod-support-btn {
        font-size: 0.9rem;
        padding: 10px 15px;
    }
    
    .bod-support-content {
        padding: 15px;
    }
    
    .bod-kofi-container {
        max-width: 100%;
    }
    
    .bod-kofi-container iframe {
        height: 350px;
    }
}

/* Hide WordPress theme footer */
.site-footer,
footer.site-footer,
footer[role="contentinfo"],
#footer,
.footer,
#site-footer,
.wp-site-footer,
body.home footer,
body footer:not(.bod-support-section) {
    display: none !important;
}

/* Hide theme navigation footer menus */
.footer-navigation,
.footer-menu,
.site-info,
.footer-widgets {
    display: none !important;
}

/* Custom Navigation */
.bod-custom-navigation {
    background: #2c3e50;
    color: white;
    padding: 15px 0;
    margin-top: 30px;
    position: relative;
    z-index: 100;
}

.bod-nav-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.bod-main-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px;
}

.bod-nav-link {
    color: white;
    text-decoration: none;
    font-weight: 500;
    font-size: 1rem;
    padding: 8px 15px;
    border-radius: 5px;
    transition: all 0.3s ease;
    position: relative;
}

.bod-nav-link:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    text-decoration: none;
}

.bod-nav-link:focus {
    outline: 2px solid #3498db;
    outline-offset: 2px;
}

.bod-nav-logout {
    background: #e74c3c;
    color: white;
}

.bod-nav-logout:hover {
    background: #c0392b;
    color: white;
}

/* Mobile responsive navigation */
@media (max-width: 768px) {
    .bod-main-nav {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
    
    .bod-nav-link {
        display: block;
        width: 100%;
        max-width: 300px;
        margin: 0 auto;
        padding: 12px 20px;
    }
} 

/* Pagination Styles */
.bod-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 20px 0;
    padding: 15px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    backdrop-filter: blur(10px);
}

.bod-pagination-btn {
    padding: 8px 12px;
    border: 2px solid transparent;
    background: rgba(255, 255, 255, 0.1);
    color: #333;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 14px;
    font-weight: 500;
    min-width: 36px;
    text-align: center;
}

.bod-pagination-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: #007cba;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 124, 186, 0.3);
}

.bod-pagination-btn.active {
    background: linear-gradient(135deg, #007cba, #0073aa);
    color: white;
    border-color: #007cba;
    box-shadow: 0 4px 12px rgba(0, 124, 186, 0.4);
}

.bod-pagination-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.bod-pagination-ellipsis {
    padding: 8px 4px;
    color: #666;
    font-weight: 500;
}

.bod-column-pagination-info {
    font-size: 12px;
    color: #666;
    margin-top: 5px;
    text-align: center;
}

/* Unified Pagination */
.bod-unified-pagination {
    margin: 30px 0;
    padding: 20px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    backdrop-filter: blur(10px);
    text-align: center;
}

.bod-pagination-info {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 15px;
    font-size: 14px;
    color: #666;
}

.bod-pagination-info span {
    padding: 5px 10px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    font-weight: 500;
}

@media (max-width: 768px) {
    .bod-pagination-info {
        flex-direction: column;
        gap: 10px;
    }
    
    .bod-pagination {
        flex-wrap: wrap;
        gap: 6px;
    }
    
    .bod-pagination-btn {
        min-width: 32px;
        padding: 6px 10px;
        font-size: 12px;
    }
}

/* Loading States */
.bod-loading {
    opacity: 0.6;
    pointer-events: none;
    position: relative;
}

.bod-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #007cba;
    border-radius: 50%;
    animation: bod-spin 1s linear infinite;
    z-index: 1000;
}

@keyframes bod-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.bod-pagination-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* Column Expand/Minimize Functionality */
.bod-column-header-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px;
}

.bod-column-controls {
    display: flex;
    gap: 5px;
    margin-left: 10px;
}

.bod-expand-btn,
.bod-minimize-btn {
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 6px;
    padding: 8px 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    color: white;
    font-size: 14px;
    min-width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bod-expand-btn:hover,
.bod-minimize-btn:hover {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.5);
    transform: scale(1.05);
}

.bod-expand-icon,
.bod-minimize-icon {
    font-size: 16px;
    line-height: 1;
}

/* Column States */
.bod-columns-container {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.bod-column {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

/* Expanded State - Full Width */
.bod-columns-container.bod-expanded {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 20px !important;
}

.bod-columns-container.bod-expanded .bod-column.bod-expanded {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
    opacity: 1 !important;
    transform: scale(1) !important;
    display: block !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(10px) !important;
}

.bod-columns-container.bod-expanded .bod-column:not(.bod-expanded) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* Button States in Expanded Mode */
.bod-column.bod-expanded .bod-expand-btn {
    display: none !important;
}

.bod-column.bod-expanded .bod-minimize-btn {
    display: flex !important;
}

.bod-column:not(.bod-expanded) .bod-minimize-btn {
    display: none !important;
}

/* Enhanced styling for expanded column */
.bod-column.bod-expanded .bod-column-header {
    text-align: center;
    padding: 30px 40px;
    color: white;
    border-radius: 12px 12px 0 0;
}

/* Preserve original colors for each column type when expanded */
.bod-honor-column.bod-expanded .bod-column-header {
    background: linear-gradient(135deg, #27ae60 0%, #2ecc71 100%);
    box-shadow: 0 4px 20px rgba(39, 174, 96, 0.3);
}

.bod-neutral-column.bod-expanded .bod-column-header {
    background: linear-gradient(135deg, #7f8c8d 0%, #95a5a6 100%);
    box-shadow: 0 4px 20px rgba(127, 140, 141, 0.3);
}

.bod-dishonor-column.bod-expanded .bod-column-header {
    background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
    box-shadow: 0 4px 20px rgba(231, 76, 60, 0.3);
}

.bod-column.bod-expanded .bod-column-header h2 {
    font-size: 2.5rem;
    margin-bottom: 15px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.bod-column.bod-expanded .bod-column-count,
.bod-column.bod-expanded .bod-column-pagination-info {
    font-size: 1.2rem;
    margin-bottom: 8px;
    opacity: 0.9;
}

.bod-column.bod-expanded .bod-column-header p {
    font-size: 1.1rem;
    margin-top: 15px;
    opacity: 0.9;
}

.bod-column.bod-expanded .bod-companies-list {
    max-height: 70vh;
    min-height: 500px;
    overflow-y: auto;
    border: none;
    border-radius: 0 0 12px 12px;
    padding: 25px 40px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
}

.bod-column.bod-expanded .bod-company-item {
    padding: 20px;
    margin-bottom: 15px;
    border-radius: 8px;
    font-size: 1.1rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.bod-column.bod-expanded .bod-company-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.bod-column.bod-expanded .bod-company-name {
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 8px;
}

.bod-column.bod-expanded .bod-company-category {
    font-size: 1rem;
    margin-bottom: 8px;
    opacity: 0.8;
}

.bod-column.bod-expanded .bod-company-status {
    font-size: 1rem;
    font-weight: 500;
}

/* Smooth Scrollbar for Expanded View */
.bod-column.bod-expanded .bod-companies-list::-webkit-scrollbar {
    width: 8px;
}

.bod-column.bod-expanded .bod-companies-list::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

.bod-column.bod-expanded .bod-companies-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 4px;
}

.bod-column.bod-expanded .bod-companies-list::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.5);
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .bod-column-header-top {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    
    .bod-column-controls {
        margin: 10px 0 0 0;
    }
    
    .bod-expand-btn,
    .bod-minimize-btn {
        padding: 8px 10px;
        min-width: 36px;
        height: 36px;
        font-size: 14px;
    }
    
    .bod-columns-container.bod-expanded {
        padding: 10px !important;
        width: 100% !important;
        max-width: none !important;
    }
    
    .bod-column.bod-expanded .bod-column-header {
        padding: 20px 15px !important;
    }
    
    .bod-column.bod-expanded .bod-column-header h2 {
        font-size: 2rem !important;
    }
    
    .bod-column.bod-expanded .bod-column-count,
    .bod-column.bod-expanded .bod-column-pagination-info {
        font-size: 1rem !important;
    }
    
    .bod-column.bod-expanded .bod-companies-list {
        max-height: 60vh !important;
        min-height: 400px !important;
        padding: 15px !important;
    }
    
    .bod-column.bod-expanded .bod-company-item {
        padding: 15px !important;
        margin-bottom: 10px !important;
    }
    
    .bod-column.bod-expanded .bod-company-name {
        font-size: 1.2rem !important;
    }
    
    .bod-column.bod-expanded .bod-company-category,
    .bod-column.bod-expanded .bod-company-status {
        font-size: 0.9rem !important;
    }
}

/* Animation for Better UX */
@keyframes bod-expand-column {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.bod-column.bod-expanded {
    animation: bod-expand-column 0.4s ease-out;
}

/* Keyboard Shortcuts Info Panel */
.bod-shortcuts-info {
    margin-top: 15px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    backdrop-filter: blur(10px);
    overflow: hidden;
}

.bod-shortcuts-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 15px;
    cursor: pointer;
    transition: all 0.3s ease;
    border-bottom: 1px solid transparent;
}

.bod-shortcuts-toggle:hover {
    background: rgba(255, 255, 255, 0.1);
}

.bod-shortcuts-icon {
    font-size: 16px;
}

.bod-shortcuts-text {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    flex: 1;
}

.bod-shortcuts-arrow {
    font-size: 12px;
    color: #666;
    transition: transform 0.3s ease;
}

.bod-shortcuts-info.open .bod-shortcuts-arrow {
    transform: rotate(180deg);
}

.bod-shortcuts-content {
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
}

.bod-shortcuts-info.open .bod-shortcuts-content {
    max-height: 200px;
    padding: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.bod-shortcuts-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 10px;
}

.bod-shortcut-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
}

.bod-shortcut-item kbd {
    background: linear-gradient(135deg, #f8f9fa, #e9ecef);
    border: 1px solid #dee2e6;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    color: #495057;
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 8px;
    min-width: 24px;
    text-align: center;
    text-transform: uppercase;
}

.bod-shortcut-item span {
    color: #666;
    font-size: 13px;
}

/* Mobile Responsiveness for Shortcuts */
@media (max-width: 768px) {
    .bod-shortcuts-list {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    
    .bod-shortcuts-toggle {
        padding: 8px 12px;
    }
    
    .bod-shortcuts-text {
        font-size: 13px;
    }
    
    .bod-shortcut-item {
        padding: 6px 0;
    }
    
    .bod-shortcut-item kbd {
        font-size: 11px;
        padding: 3px 6px;
        min-width: 20px;
    }
    
    .bod-shortcut-item span {
        font-size: 12px;
    }
}

/* Language Toggle Button */
.bod-language-toggle {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1000;
}

.bod-language-btn {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    border-radius: 25px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
    display: flex;
    align-items: center;
    gap: 8px;
    backdrop-filter: blur(10px);
}

.bod-language-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

#bod-current-lang {
    background: rgba(255, 255, 255, 0.2);
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 700;
}

.bod-language-text {
    font-size: 13px;
}

@media (max-width: 768px) {
    .bod-language-toggle {
        top: 15px;
        right: 60px; /* Move left to avoid menu button */
    }
    
    .bod-language-btn {
        padding: 6px 12px;
        font-size: 11px;
        border-radius: 20px;
    }
    
    .bod-language-text {
        display: none;
    }
    
    #bod-current-lang {
        font-size: 10px;
        padding: 2px 5px;
    }
}

/* Additional mobile adjustments for very small screens */
@media (max-width: 480px) {
    .bod-language-toggle {
        top: 10px;
        right: 70px; /* Move even further left on small screens */
    }
    
    .bod-language-btn {
        padding: 4px 8px;
        font-size: 10px;
        min-width: 40px;
    }
    
    #bod-current-lang {
        font-size: 9px;
        padding: 1px 4px;
    }
}

/* Call to Action Section for Supporting Business Page */
.bod-cta-section {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 40px 20px;
    text-align: center;
    margin-bottom: 30px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(102, 126, 234, 0.3);
}

.bod-cta-content {
    max-width: 600px;
    margin: 0 auto;
}

.bod-cta-title {
    color: white;
    font-size: 2.5em;
    font-weight: 700;
    margin-bottom: 25px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.bod-cta-btn {
    display: inline-block;
    background: white;
    color: #667eea;
    padding: 15px 35px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 700;
    font-size: 1.2em;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    margin-bottom: 15px;
}

.bod-cta-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
    color: #5a67d8;
    text-decoration: none;
}

.bod-cta-note {
    color: white;
    font-size: 1.1em;
    font-weight: 600;
    margin: 0;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Mobile responsiveness for CTA */
@media (max-width: 768px) {
    .bod-cta-section {
        padding: 30px 15px;
        margin-bottom: 20px;
    }
    
    .bod-cta-title {
        font-size: 2em;
        margin-bottom: 20px;
    }
    
    .bod-cta-btn {
        padding: 12px 25px;
        font-size: 1.1em;
    }
}

/* Company Updates Page Styles */
.bod-updates-section {
    margin: 30px 0;
}

.bod-updates-header {
    text-align: center;
    margin-bottom: 30px;
}

.bod-updates-header h2 {
    font-size: 2rem;
    color: #2c3e50;
    margin-bottom: 10px;
}

.bod-updates-header p {
    color: #666;
    font-size: 1.1rem;
}

.bod-updates-list {
    display: grid;
    gap: 25px;
    max-width: 1000px;
    margin: 0 auto;
}

.bod-update-item {
    background: white;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    border-left: 4px solid #3498db;
}

.bod-update-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.bod-update-header {
    margin-bottom: 15px;
}

.bod-update-title {
    font-size: 1.4rem;
    color: #2c3e50;
    margin: 0 0 10px 0;
    font-weight: 600;
}

.bod-update-meta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.bod-company-tag,
.bod-category-tag,
.bod-update-type-tag {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 0.85rem;
    font-weight: 500;
}

.bod-company-tag {
    background: #e3f2fd;
    color: #1976d2;
}

.bod-category-tag {
    background: #f3e5f5;
    color: #7b1fa2;
}

.bod-update-type-tag {
    background: #e8f5e8;
    color: #388e3c;
}

.bod-update-content {
    margin: 15px 0;
    line-height: 1.6;
}

.bod-update-content p {
    color: #444;
    margin-bottom: 10px;
}

.bod-source-link {
    color: #3498db;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.bod-source-link:hover {
    color: #2980b9;
    text-decoration: underline;
}

.bod-update-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #f0f0f0;
}

.bod-update-stats {
    display: flex;
    gap: 15px;
}

.bod-vote-display {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.9rem;
    color: #666;
}

.bod-update-info {
    text-align: right;
}

.bod-update-info small {
    color: #888;
    font-size: 0.85rem;
}

.bod-filter-form {
    margin-bottom: 0;
}

.bod-filter-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.bod-filter-group label {
    font-weight: 500;
    color: #2c3e50;
}

.bod-filter-actions {
    display: flex;
    gap: 10px;
    align-items: end;
}

.bod-pagination-section {
    margin: 40px 0;
    text-align: center;
}

/* Mobile responsiveness for updates */
@media (max-width: 768px) {
    .bod-update-item {
        padding: 20px;
        margin: 15px;
    }
    
    .bod-update-title {
        font-size: 1.2rem;
    }
    
    .bod-update-footer {
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
    }
    
    .bod-update-info {
        text-align: left;
    }
    
    .bod-filter-row {
        flex-direction: column;
        gap: 15px;
    }
    
    .bod-filter-actions {
        width: 100%;
    }
    
    .bod-filter-actions .bod-btn {
        flex: 1;
    }
}

/* Email Preferences Enhanced Styling */
.email-preference-section {
    margin: 25px 0;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 8px;
    border-left: 4px solid #3498db;
}

.email-preference-section h4 {
    margin: 0 0 15px 0;
    color: #2c3e50;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.preference-description {
    font-size: 13px;
    color: #666;
    margin: 8px 0 0 0;
    line-height: 1.4;
    font-style: italic;
}

.email-info-box {
    margin-top: 30px;
    padding: 20px;
    background: #e8f4f8;
    border-radius: 8px;
    border: 1px solid #3498db;
}

.email-info-box h4 {
    margin: 0 0 15px 0;
    color: #2c3e50;
    display: flex;
    align-items: center;
    gap: 8px;
}

.info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
}

.info-item {
    padding: 12px;
    background: white;
    border-radius: 6px;
    font-size: 13px;
    line-height: 1.4;
}

.info-item strong {
    color: #2c3e50;
    display: block;
    margin-bottom: 4px;
}

.bod-btn-secondary {
    background: #95a5a6;
    color: white;
    border: none;
    margin-left: 10px;
}

.bod-btn-secondary:hover {
    background: #7f8c8d;
}

@media (max-width: 768px) {
    .info-grid {
        grid-template-columns: 1fr;
    }
    
    .email-preference-section {
        padding: 15px;
        margin: 20px 0;
    }
    
    .bod-form-actions {
        flex-direction: column;
        gap: 10px;
    }
    
    .bod-btn-secondary {
        margin-left: 0;
    }
}

/* Company Feed Controls */
.bod-feed-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.bod-feed-controls .bod-btn {
    margin: 0;
}

/* Comments System */
.bod-comments-section {
    margin-top: 15px;
    padding: 15px 0;
    border-top: 1px solid #e9ecef;
}

.bod-comments-list {
    margin-bottom: 15px;
    max-height: 300px;
    overflow-y: auto;
}

.bod-comment {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 10px;
    border-left: 3px solid #3498db;
}

.bod-comment:last-child {
    margin-bottom: 0;
}

.bod-comment-author {
    font-weight: 600;
    color: #2c3e50;
    font-size: 0.9rem;
    margin-bottom: 5px;
}

.bod-comment-content {
    color: #444;
    line-height: 1.5;
    margin-bottom: 5px;
}

.bod-comment-date {
    color: #888;
    font-size: 0.8rem;
}

.bod-no-comments {
    text-align: center;
    color: #888;
    font-style: italic;
    padding: 20px;
}

.bod-comment-form {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.bod-comment-input {
    flex: 1;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    resize: vertical;
    min-height: 40px;
    font-family: inherit;
    font-size: 0.9rem;
}

.bod-comment-input:focus {
    outline: none;
    border-color: #3498db;
    box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2);
}

.bod-comment-input::placeholder {
    color: #999;
}

.bod-comment-form .bod-btn-small {
    padding: 8px 16px;
    font-size: 0.9rem;
    white-space: nowrap;
    align-self: flex-start;
}

/* Loading state for comments */
.bod-comments-list.loading {
    opacity: 0.6;
    pointer-events: none;
}

.bod-comments-list.loading::after {
    content: "Loading comments...";
    display: block;
    text-align: center;
    color: #888;
    font-style: italic;
    padding: 20px;
}

/* Improved vote buttons for comments context */
.bod-feed-item .bod-vote-btn {
    background: transparent;
    border: 1px solid #ddd;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 0.9rem;
    transition: all 0.3s ease;
}

.bod-feed-item .bod-vote-btn:hover {
    background: #f8f9fa;
    border-color: #bbb;
}

.bod-feed-item .bod-comment-btn {
    background: transparent;
    border: 1px solid #ddd;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 0.9rem;
    color: #666;
    transition: all 0.3s ease;
}

.bod-feed-item .bod-comment-btn:hover {
    background: #3498db;
    border-color: #3498db;
    color: white;
}

/* Responsive adjustments for comments */
@media (max-width: 768px) {
    .bod-feed-controls {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
    
    .bod-comment-form {
        flex-direction: column;
        gap: 8px;
    }
    
    .bod-comment-form .bod-btn-small {
        align-self: stretch;
    }
    
    .bod-comments-section {
        padding: 10px 0;
    }
    
    .bod-comment {
        padding: 10px;
    }
    
    .bod-comments-list {
        max-height: 200px;
    }
}

/* Modal styles */
.bod-modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    animation: fadeIn 0.3s;
}

.bod-modal-content {
    background-color: #fff;
    margin: 5% auto;
    padding: 0;
    border-radius: 8px;
    width: 90%;
    max-width: 800px;
    max-height: 80vh;
    overflow: hidden;
    animation: slideIn 0.3s;
}

.bod-modal-header {
    background: #f8f9fa;
    padding: 15px 20px;
    border-bottom: 1px solid #e1e8ed;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.bod-modal-header h3 {
    margin: 0;
    color: #333;
}

.bod-modal-close {
    color: #666;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    line-height: 1;
}

.bod-modal-close:hover {
    color: #000;
}

.bod-modal-body {
    padding: 20px;
    max-height: 60vh;
    overflow-y: auto;
}

/* Timeline styles */
.bod-timeline-header {
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 2px solid #e1e8ed;
}

.bod-timeline-header h3 {
    margin: 0 0 10px 0;
    color: #333;
    font-size: 24px;
}

.bod-timeline-header p {
    margin: 0;
    color: #666;
    font-size: 16px;
}

.bod-timeline {
    position: relative;
    max-width: 600px;
    margin: 0 auto;
    padding-left: 30px;
}

.bod-timeline::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #e1e8ed;
}

.bod-timeline-item {
    position: relative;
    margin-bottom: 30px;
}

.bod-timeline-marker {
    position: absolute;
    left: -23px;
    top: 5px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 3px solid #fff;
    box-shadow: 0 0 0 2px #e1e8ed;
}

.bod-timeline-marker.status-honor {
    background: #28a745;
}

.bod-timeline-marker.status-neutral {
    background: #ffc107;
}

.bod-timeline-marker.status-dishonor {
    background: #dc3545;
}

.bod-timeline-content {
    background: #fff;
    padding: 15px 20px;
    border-radius: 8px;
    border: 1px solid #e1e8ed;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.bod-timeline-content .bod-timeline-header {
    margin-bottom: 10px;
    padding-bottom: 0;
    border-bottom: none;
    text-align: left;
}

.bod-timeline-content .bod-timeline-header strong {
    color: #333;
    font-size: 16px;
}

.status-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
}

.status-badge.status-honor {
    background: #d4edda;
    color: #155724;
}

.status-badge.status-neutral {
    background: #fff3cd;
    color: #856404;
}

.status-badge.status-dishonor {
    background: #f8d7da;
    color: #721c24;
}

.bod-timeline-reason {
    margin: 10px 0 0 0;
    padding: 10px;
    background: #f8f9fa;
    border-left: 3px solid #007cba;
    border-radius: 4px;
    font-style: italic;
}

.bod-timeline-meta {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
}

.bod-timeline-meta small {
    color: #666;
    font-size: 13px;
}

.bod-timeline-empty {
    text-align: center;
    padding: 40px 20px;
    color: #666;
}

.bod-loading {
    text-align: center;
    padding: 40px 20px;
    color: #666;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideIn {
    from { transform: translateY(-50px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* Mobile responsive for timeline modal */
@media (max-width: 768px) {
    .bod-modal-content {
        width: 95%;
        margin: 10% auto;
        max-height: 85vh;
    }
    
    .bod-modal-body {
        padding: 15px;
    }
    
    .bod-timeline {
        padding-left: 25px;
    }
    
    .bod-timeline-marker {
        left: -18px;
        width: 12px;
        height: 12px;
    }
    
    .bod-timeline-content {
    padding: 12px 15px;
}

/* Timeline pagination styles */
.bod-timeline-pagination {
    text-align: center;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e1e8ed;
}

.bod-timeline-pagination .bod-btn {
    background: #007cba;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s;
}

.bod-timeline-pagination .bod-btn:hover {
    background: #005a87;
}

.bod-timeline-pagination .bod-btn:disabled {
    background: #6c757d;
    cursor: not-allowed;
}

/* Comments pagination styles */
.bod-load-more-comments {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #e1e8ed;
}

.load-more-comments-btn {
    background: #28a745;
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
    transition: background-color 0.2s;
}

.load-more-comments-btn:hover {
    background: #218838;
}

.load-more-comments-btn:disabled {
    background: #6c757d;
    cursor: not-allowed;
}

/* Watchlist and feed pagination styles */
.bod-watchlist-pagination,
.bod-feed-pagination {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e1e8ed;
    text-align: center;
}

.load-more-watchlist-btn,
.load-more-feed-btn {
    background: #007cba;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s;
}

.load-more-watchlist-btn:hover,
.load-more-feed-btn:hover {
    background: #005a87;
}

.load-more-watchlist-btn:disabled,
.load-more-feed-btn:disabled {
    background: #6c757d;
    cursor: not-allowed;
}

/* FAQ and Mission Statement Page Styles */
.bod-faq-page, .bod-mission-page,
.page .bod-faq-page, .page .bod-mission-page {
    background: #f4f8f6 !important;
    max-width: 800px !important;
    margin: 40px auto 40px auto !important;
    padding: 32px 24px 32px 24px !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 16px rgba(44, 62, 80, 0.07) !important;
    font-family: 'Inter', 'Segoe UI', Arial, sans-serif !important;
    color: #2c3e50 !important;
}
.bod-faq-page h1, .bod-mission-page h1,
.page .bod-faq-page h1, .page .bod-mission-page h1 {
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    margin-bottom: 18px !important;
    text-align: center !important;
    line-height: 1.1 !important;
}
.bod-faq-page h2, .bod-mission-page h2,
.page .bod-faq-page h2, .page .bod-mission-page h2 {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    margin-top: 18px !important;
    margin-bottom: 10px !important;
    text-align: center !important;
}
.bod-faq-page h3, .bod-mission-page h3,
.page .bod-faq-page h3, .page .bod-mission-page h3 {
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    margin-top: 24px !important;
    margin-bottom: 6px !important;
    color: #1a6ed8 !important;
}
.bod-faq-page p, .bod-mission-page p, .bod-faq-page ul, .bod-mission-page ul,
.page .bod-faq-page p, .page .bod-mission-page p, .page .bod-faq-page ul, .page .bod-mission-page ul {
    font-size: 1.05rem !important;
    line-height: 1.7 !important;
    margin-bottom: 12px !important;
}
.bod-faq-list ul, .bod-mission-page ul,
.page .bod-faq-list ul, .page .bod-mission-page ul {
    padding-left: 24px !important;
    margin-bottom: 18px !important;
}
.bod-faq-list li, .bod-mission-page li,
.page .bod-faq-list li, .page .bod-mission-page li {
    margin-bottom: 7px !important;
    list-style: disc !important;
}
.bod-faq-page a, .bod-mission-page a,
.page .bod-faq-page a, .page .bod-mission-page a {
    color: #1a6ed8 !important;
    text-decoration: underline !important;
}
@media (max-width: 600px) {
    .bod-faq-page, .bod-mission-page,
    .page .bod-faq-page, .page .bod-mission-page {
        padding: 16px 4vw 16px 4vw !important;
        max-width: 98vw !important;
    }
    .bod-faq-page h1, .bod-mission-page h1,
    .page .bod-faq-page h1, .page .bod-mission-page h1 {
        font-size: 2rem !important;
    }
    .bod-faq-page h2, .bod-mission-page h2,
    .page .bod-faq-page h2, .page .bod-mission-page h2 {
        font-size: 1.15rem !important;
    }
}

/* Blog Posts Shortcode Styles */
.bod-blog-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.bod-blog-grid-layout {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
    margin-bottom: 40px;
}

.bod-blog-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
}

.bod-blog-card {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
    border: 1px solid #e9ecef;
}

.bod-blog-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.bod-blog-image {
    position: relative;
    overflow: hidden;
    height: 250px;
}

.bod-blog-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.bod-blog-card:hover .bod-blog-thumbnail {
    transform: scale(1.05);
}

.bod-blog-date-overlay {
    position: absolute;
    top: 15px;
    right: 15px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 10px;
    border-radius: 8px;
    text-align: center;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.bod-blog-date-day {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
}

.bod-blog-date-month {
    display: block;
    font-size: 0.9rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.bod-blog-content {
    padding: 25px;
}

.bod-blog-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 15px;
    font-size: 0.85rem;
    color: #6c757d;
}

.bod-blog-meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.bod-blog-meta i {
    font-size: 0.8rem;
    opacity: 0.7;
}

.bod-blog-category {
    background: #e7f3ff;
    color: #0056b3;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 500;
}

.bod-blog-title {
    margin: 0 0 15px 0;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.3;
}

.bod-blog-title a {
    color: #2c3e50;
    text-decoration: none;
    transition: color 0.3s ease;
}

.bod-blog-title a:hover {
    color: #667eea;
}

.bod-blog-excerpt {
    color: #495057;
    line-height: 1.6;
    margin-bottom: 20px;
    font-size: 0.95rem;
}

.bod-blog-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid #f0f0f0;
}

.bod-blog-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 10px 20px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.bod-blog-read-more:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
    color: white;
    text-decoration: none;
}

.bod-blog-read-more .bod-icon-arrow-right::before {
    content: "→";
    font-weight: 500;
}

.bod-blog-stats {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #6c757d;
    font-size: 0.85rem;
}

.bod-blog-comments {
    display: flex;
    align-items: center;
    gap: 5px;
}

.bod-blog-comments i::before {
    content: "💬";
    font-style: normal;
}

/* Icons for meta information */
.bod-icon-calendar::before {
    content: "📅";
    font-style: normal;
}

.bod-icon-user::before {
    content: "👤";
    font-style: normal;
}

.bod-icon-folder::before {
    content: "📁";
    font-style: normal;
}

.bod-icon-comments::before {
    content: "💬";
    font-style: normal;
}

/* List layout specific styles */
.bod-blog-list .bod-blog-card {
    display: flex;
    max-height: 200px;
}

.bod-blog-list .bod-blog-image {
    width: 300px;
    height: 200px;
    flex-shrink: 0;
}

.bod-blog-list .bod-blog-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Pagination Styles */
.bod-blog-pagination {
    text-align: center;
    margin-top: 40px;
}

.bod-blog-load-more {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    padding: 15px 30px;
    border-radius: 30px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.bod-blog-load-more:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

.bod-blog-load-more:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.bod-load-more-count {
    font-size: 0.85rem;
    opacity: 0.9;
    font-weight: 400;
}

.bod-blog-pagination-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.bod-blog-pagination-numbers a,
.bod-blog-pagination-numbers .current {
    display: inline-block;
    padding: 10px 15px;
    background: white;
    color: #2c3e50;
    text-decoration: none;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.bod-blog-pagination-numbers a:hover,
.bod-blog-pagination-numbers .current {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-color: #667eea;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

/* Empty State */
.bod-no-posts {
    text-align: center;
    padding: 60px 20px;
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    color: #6c757d;
    font-size: 1.1rem;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .bod-blog-container {
        padding: 15px;
    }
    
    .bod-blog-grid-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .bod-blog-image {
        height: 200px;
    }
    
    .bod-blog-content {
        padding: 20px;
    }
    
    .bod-blog-title {
        font-size: 1.2rem;
    }
    
    .bod-blog-meta {
        flex-direction: column;
        gap: 8px;
    }
    
    .bod-blog-footer {
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
        text-align: center;
    }
    
    .bod-blog-read-more {
        justify-content: center;
    }
    
    /* List layout on mobile */
    .bod-blog-list .bod-blog-card {
        flex-direction: column;
        max-height: none;
    }
    
    .bod-blog-list .bod-blog-image {
        width: 100%;
        height: 200px;
    }
    
    .bod-blog-pagination-numbers {
        gap: 5px;
    }
    
    .bod-blog-pagination-numbers a,
    .bod-blog-pagination-numbers .current {
        padding: 8px 12px;
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .bod-blog-content {
        padding: 15px;
    }
    
    .bod-blog-title {
        font-size: 1.1rem;
    }
    
    .bod-blog-load-more {
        padding: 12px 20px;
        font-size: 0.9rem;
    }
    
    .bod-load-more-count {
        display: none;
    }
}

/* Symbol Legend Styles */
.bod-symbol-legend {
    background: white;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    border: 1px solid #e9ecef;
}

.bod-legend-header h3 {
    color: #2c3e50;
    font-size: 1.2rem;
    margin: 0 0 15px 0;
    font-weight: 600;
    text-align: center;
}

.bod-legend-items {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.bod-legend-item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f8f9fa;
    padding: 12px 20px;
    border-radius: 25px;
    border: 1px solid #e1e8ed;
}

.bod-legend-symbol {
    font-size: 1.3rem;
    font-weight: 700;
    color: #e74c3c;
    background: white;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #e74c3c;
    flex-shrink: 0;
}

.bod-legend-text {
    color: #495057;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.4;
}

@media (max-width: 768px) {
    .bod-symbol-legend {
        padding: 15px;
        margin: 15px 0;
    }
    
    .bod-legend-items {
        flex-direction: column;
        gap: 15px;
    }
    
    .bod-legend-item {
        justify-content: center;
        text-align: center;
        padding: 10px 15px;
    }
    
    .bod-legend-text {
        font-size: 0.85rem;
    }
}

/* =====================================================
   BOYCOTT COMMITMENTS SECTION
   ===================================================== */

.bod-boycott-section {
    padding: 0;
}

/* Symbol Legend */
.bod-symbol-legend {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 25px;
}

.bod-symbol-legend h4 {
    margin: 0 0 15px 0;
    color: #495057;
    font-size: 1.1rem;
}

.legend-items {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
}

.legend-item strong {
    color: #dc3545;
    font-size: 1.2rem;
    width: 20px;
    text-align: center;
}

.company-symbol {
    color: #dc3545;
    font-weight: bold;
    font-size: 1.1rem;
    cursor: help;
}

/* Pagination Info */
.bod-boycott-pagination-info {
    background: #f8f9fa;
    padding: 15px 20px;
    border-radius: 6px;
    margin-bottom: 20px;
    border-left: 4px solid #007cba;
}

.bod-boycott-pagination-info p {
    margin: 0;
    font-size: 0.95rem;
    color: #495057;
}

/* Boycott Pagination */
.bod-boycott-pagination {
    margin: 30px 0;
    text-align: center;
}

.pagination-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 15px;
}

.pagination-numbers {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0 15px;
}

.page-number, .current-page {
    display: inline-block;
    padding: 8px 12px;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 500;
    min-width: 40px;
    text-align: center;
}

.page-number {
    background: #f8f9fa;
    color: #007cba;
    border: 1px solid #dee2e6;
}

.page-number:hover {
    background: #e9ecef;
    text-decoration: none;
}

.current-page {
    background: #007cba;
    color: white;
    border: 1px solid #007cba;
}

.pagination-info {
    color: #6c757d;
    font-size: 0.9rem;
}

/* End Boycott Pagination Styles */

.bod-notification-banner {
    background: linear-gradient(135deg, #ffd32a 0%, #ff8a80 100%);
    color: #333;
    padding: 15px 20px;
    border-radius: 8px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    box-shadow: 0 2px 8px rgba(255, 139, 128, 0.2);
}

.bod-notification-banner strong {
    flex: 1;
}

.bod-notification-banner .bod-btn {
    white-space: nowrap;
    background: white;
    color: #333;
    border: none;
    padding: 8px 16px;
    font-weight: 500;
}

.bod-notification-banner .bod-btn:hover {
    background: #f8f9fa;
}

.bod-boycott-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)) !important;
    gap: 20px !important;
    margin-bottom: 30px !important;
    width: 100% !important;
}

.bod-boycott-card {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
    border: 2px solid #e9ecef !important;
    border-radius: 15px !important;
    padding: 25px !important;
    margin-bottom: 20px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08) !important;
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
    width: 100% !important;
}

.bod-boycott-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #e74c3c 0%, #c0392b 50%, #a93226 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.bod-boycott-card:hover::before {
    opacity: 1;
}

.bod-boycott-card:hover {
    box-shadow: 0 8px 25px rgba(231, 76, 60, 0.15);
    transform: translateY(-4px);
    border-color: #e74c3c;
}

.bod-company-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 25px;
    gap: 15px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f1f3f4;
}

.bod-company-header h4 {
    margin: 0;
    color: #2c3e50;
    font-size: 1.3rem;
    font-weight: 700;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
}

.company-symbol {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: #e74c3c;
    color: white;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 700;
    cursor: help;
}

.bod-category-tag {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
    white-space: nowrap;
}

.bod-boycott-toggle {
    margin-bottom: 25px;
    background: #f8f9fa;
    padding: 18px;
    border-radius: 12px;
    border: 1px solid #e9ecef;
}

.bod-boycott-toggle label {
    display: flex;
    align-items: center;
    gap: 15px;
    cursor: pointer;
    font-weight: 600;
    color: #2c3e50;
    font-size: 1.05rem;
    margin: 0;
}

.bod-boycott-toggle input[type="checkbox"] {
    width: 22px;
    height: 22px;
    accent-color: #e74c3c;
    cursor: pointer;
    border: 2px solid #ddd;
    border-radius: 4px;
}

.bod-boycott-toggle input[type="checkbox"]:checked {
    transform: scale(1.1);
}

.boycott-label {
    flex: 1;
    user-select: none;
}

.boycott-label {
    flex: 1;
}

.bod-boycott-details {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    padding: 25px;
    border-radius: 12px;
    border: 2px solid #dee2e6;
    margin-top: 20px;
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.bod-field-group {
    margin-bottom: 20px;
}

.bod-field-group:last-child {
    margin-bottom: 0;
}

.bod-field-group label {
    display: block;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 8px;
    font-size: 0.95rem;
}

.required {
    color: #e74c3c;
}

.frequency-select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ced4da;
    border-radius: 6px;
    background: white;
    font-size: 0.95rem;
    color: #495057;
}

.frequency-select:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2);
}

.bod-money-input {
    position: relative;
    display: flex;
    align-items: center;
}

.currency-symbol {
    position: absolute;
    left: 12px;
    color: #6c757d;
    font-weight: 600;
    z-index: 2;
}

.bod-money-input input {
    width: 100%;
    padding: 10px 12px 10px 28px;
    border: 1px solid #ced4da;
    border-radius: 6px;
    background: white;
    font-size: 0.95rem;
    color: #495057;
}

.bod-money-input input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2);
}

.field-note {
    display: block;
    color: #6c757d;
    font-size: 0.85rem;
    margin-top: 5px;
    font-style: italic;
}

.bod-boycott-details .bod-btn-primary {
    background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 10px;
}

.bod-boycott-details .bod-btn-primary:hover {
    background: linear-gradient(135deg, #c0392b 0%, #a93226 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(231, 76, 60, 0.3);
}

.bod-boycott-details .bod-btn-primary:disabled {
    background: #95a5a6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.bod-empty-state {
    text-align: center;
    padding: 60px 20px;
    background: #f8f9fa;
    border-radius: 10px;
    border: 2px dashed #dee2e6;
    color: #6c757d;
}

.bod-empty-state p {
    margin: 0;
    font-size: 1.1rem;
}

.bod-boycott-impact {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 25px;
    border-radius: 12px;
    margin-top: 30px;
}

.bod-boycott-impact h4 {
    margin: 0 0 20px 0;
    font-size: 1.3rem;
    font-weight: 600;
}

.bod-impact-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 20px;
    margin-bottom: 20px;
}

.bod-impact-stats .bod-stat {
    text-align: center;
    background: rgba(255, 255, 255, 0.1);
    padding: 15px;
    border-radius: 8px;
}

.bod-impact-stats .bod-stat strong {
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 5px;
    color: #fff;
}

.bod-impact-stats .bod-stat span {
    font-size: 0.9rem;
    opacity: 0.9;
}

.impact-note {
    margin: 0;
    font-size: 0.95rem;
    opacity: 0.9;
    line-height: 1.5;
}

.impact-note a {
    color: #ffd32a;
    text-decoration: none;
    font-weight: 600;
}

.impact-note a:hover {
    text-decoration: underline;
}

/* Mobile responsiveness for boycott section */
@media (max-width: 768px) {
    .bod-notification-banner {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
        gap: 10px;
    }
    
    .bod-boycott-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .bod-company-header {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
    
    .bod-company-header h4 {
        text-align: center;
        font-size: 1.1rem;
    }
    
    .bod-category-tag {
        align-self: center;
        font-size: 0.75rem;
    }
    
    .bod-impact-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .bod-impact-stats .bod-stat strong {
        font-size: 1.5rem;
    }
}

@media (max-width: 480px) {
    .bod-boycott-card {
        padding: 15px;
    }
    
    .bod-boycott-details {
        padding: 15px;
    }
    
    .bod-impact-stats {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    .bod-boycott-impact {
        padding: 20px 15px;
    }
}

/* =====================================================
   BOYCOTT PROGRESS TRACKER PAGE
   ===================================================== */

.bod-boycott-progress-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    background: #f8f9fa;
    min-height: 100vh;
}

/* Header Section */
.bod-progress-header {
    text-align: center;
    background: white;
    padding: 40px 30px;
    border-radius: 12px;
    margin-bottom: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.bod-progress-header h1 {
    font-size: 2.5rem;
    color: #2c3e50;
    margin-bottom: 15px;
    font-weight: 700;
}

.bod-progress-header p {
    font-size: 1.1rem;
    color: #6c757d;
    max-width: 600px;
    margin: 0 auto 25px auto;
    line-height: 1.6;
}

.bod-cta-banner {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 20px 25px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 25px;
}

.bod-cta-banner strong {
    font-size: 1.1rem;
}

.bod-cta-banner span {
    flex: 1;
    margin: 0 15px;
    opacity: 0.95;
}

.bod-cta-banner .bod-btn {
    background: white;
    color: #667eea;
    border: none;
    padding: 10px 20px;
    border-radius: 6px;
    font-weight: 600;
    white-space: nowrap;
}

.bod-cta-banner .bod-btn:hover {
    background: #f8f9fa;
    transform: translateY(-1px);
}

/* Overall Statistics */
.bod-overall-stats {
    background: white;
    padding: 30px;
    border-radius: 12px;
    margin-bottom: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.bod-overall-stats h2 {
    text-align: center;
    color: #2c3e50;
    margin-bottom: 30px;
    font-size: 2rem;
    font-weight: 600;
}

.bod-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 25px;
    margin-bottom: 30px;
}

.bod-stat-card {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 25px 20px;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.bod-stat-number {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 8px;
    display: block;
}

.bod-stat-label {
    font-size: 1rem;
    opacity: 0.9;
    font-weight: 500;
}

/* Leaders Section */
.bod-leaders-section {
    margin-top: 40px;
}

.bod-leaders-section h3 {
    text-align: center;
    color: #2c3e50;
    margin-bottom: 25px;
    font-size: 1.5rem;
    font-weight: 600;
}

.bod-leaders-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.bod-leader-card {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    border: 1px solid #e9ecef;
    transition: all 0.3s ease;
}

.bod-leader-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.bod-leader-icon {
    font-size: 2rem;
    margin-bottom: 10px;
}

.bod-leader-title {
    font-size: 0.9rem;
    color: #6c757d;
    font-weight: 600;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.bod-leader-company {
    font-size: 1.1rem;
    color: #2c3e50;
    font-weight: 600;
    margin-bottom: 5px;
}

.bod-leader-stat {
    font-size: 1rem;
    color: #e74c3c;
    font-weight: 600;
}

/* Filters Section */
.bod-progress-filters {
    background: white;
    padding: 25px 30px;
    border-radius: 12px;
    margin-bottom: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.bod-progress-filters h3 {
    color: #2c3e50;
    margin-bottom: 20px;
    font-size: 1.3rem;
    font-weight: 600;
}

.bod-filter-controls {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
}

.bod-filter-select,
.bod-filter-search {
    padding: 12px 15px;
    border: 1px solid #ced4da;
    border-radius: 6px;
    font-size: 0.95rem;
    background: white;
    color: #495057;
}

.bod-filter-select {
    min-width: 200px;
}

.bod-filter-search {
    flex: 1;
    min-width: 250px;
}

.bod-filter-select:focus,
.bod-filter-search:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2);
}

/* Progress Companies Section */
.bod-progress-companies {
    background: white;
    padding: 30px;
    border-radius: 12px;
    margin-bottom: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.bod-progress-companies h3 {
    color: #2c3e50;
    margin-bottom: 30px;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
}

.bod-progress-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 25px;
}

.bod-progress-grid[data-cards-per-row="2"] {
    grid-template-columns: repeat(auto-fill, minmax(450px, 1fr));
}

.bod-progress-grid[data-cards-per-row="4"] {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.bod-progress-card {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 25px;
    transition: all 0.3s ease;
}

.bod-progress-card:hover {
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transform: translateY(-2px);
}

.bod-progress-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 15px;
}

.bod-progress-card-header h4 {
    margin: 0;
    color: #2c3e50;
    font-size: 1.2rem;
    font-weight: 600;
    flex: 1;
}

.bod-progress-category {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
    white-space: nowrap;
}

.bod-progress-metrics {
    display: grid;
    gap: 15px;
}

.bod-metric {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 15px;
    background: white;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.bod-metric-number {
    font-size: 1.3rem;
    font-weight: 700;
    color: #e74c3c;
}

.bod-metric-label {
    font-size: 0.9rem;
    color: #6c757d;
    font-weight: 500;
}

.bod-impact-progress {
    margin-top: 15px;
    padding: 15px;
    background: white;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.bod-progress-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #2c3e50;
}

.bod-progress-percent {
    color: #e74c3c;
    font-weight: 700;
}

.bod-progress-bar {
    height: 8px;
    background: #e9ecef;
    border-radius: 4px;
    overflow: hidden;
}

.bod-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #e74c3c 0%, #c0392b 100%);
    border-radius: 4px;
    transition: width 0.5s ease;
}

.bod-no-impact {
    text-align: center;
    padding: 20px;
    background: white;
    border-radius: 8px;
    border: 2px dashed #dee2e6;
    margin-top: 15px;
}

.bod-no-impact p {
    margin: 0;
    color: #6c757d;
    font-style: italic;
}

/* Share Section Styles */
.bod-share-section {
    margin: 20px 0;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
    text-align: center;
}

.bod-share-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 15px 0 12px 0;
    padding: 12px 15px;
    font-weight: 600;
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
    color: white;
    font-size: 1rem;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(238, 90, 36, 0.2);
}

.share-icon {
    font-size: 1.2rem;
}

.share-text {
    font-weight: 600;
    letter-spacing: 0.3px;
    line-height: 1.3;
}

/* AddToAny Share Buttons Styling */
.bod-share-section .addtoany_shortcode {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.bod-share-section .a2a_kit {
    line-height: 24px;
}

.bod-share-section .a2a_button_facebook,
.bod-share-section .a2a_button_twitter,
.bod-share-section .a2a_button_email,
.bod-share-section .a2a_button_whatsapp,
.bod-share-section .a2a_button_linkedin,
.bod-share-section .a2a_dd {
    display: inline-block;
    margin: 0 4px;
    transition: transform 0.2s ease;
}

.bod-share-section .a2a_button_facebook:hover,
.bod-share-section .a2a_button_twitter:hover,
.bod-share-section .a2a_button_email:hover,
.bod-share-section .a2a_button_whatsapp:hover,
.bod-share-section .a2a_button_linkedin:hover,
.bod-share-section .a2a_dd:hover {
    transform: scale(1.1);
}



/* Mobile responsive share section */
@media (max-width: 768px) {
    .bod-share-section {
        margin: 15px 0;
        padding: 12px;
    }
    
    .bod-share-header {
        margin: 10px 0;
        padding: 10px 12px;
        font-size: 0.95rem;
    }
    
    .share-icon {
        font-size: 1.1rem;
    }
    
    /* Mobile AddToAny buttons */
    .bod-share-section .addtoany_shortcode {
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .bod-share-section .a2a_button_facebook,
    .bod-share-section .a2a_button_twitter,
    .bod-share-section .a2a_button_email,
    .bod-share-section .a2a_button_whatsapp,
    .bod-share-section .a2a_button_linkedin,
    .bod-share-section .a2a_dd {
        margin: 2px 3px;
    }
}

/* Empty State */
.bod-empty-progress {
    text-align: center;
    padding: 60px 30px;
    background: #f8f9fa;
    border: 2px dashed #dee2e6;
    border-radius: 12px;
}

.bod-empty-icon {
    font-size: 4rem;
    margin-bottom: 20px;
}

.bod-empty-progress h3 {
    color: #2c3e50;
    margin-bottom: 15px;
    font-size: 1.5rem;
}

.bod-empty-progress p {
    color: #6c757d;
    font-size: 1.1rem;
    max-width: 400px;
    margin: 0 auto 25px auto;
}

/* Call to Action */
.bod-progress-cta {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 40px 30px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.bod-cta-content h3 {
    font-size: 1.8rem;
    margin-bottom: 15px;
    font-weight: 600;
}

.bod-cta-content p {
    font-size: 1.1rem;
    margin-bottom: 25px;
    opacity: 0.95;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.bod-cta-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

.bod-cta-buttons .bod-btn {
    padding: 12px 25px;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.bod-cta-buttons .bod-btn-primary {
    background: white;
    color: #667eea;
    border: none;
}

.bod-cta-buttons .bod-btn-primary:hover {
    background: #f8f9fa;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 255, 255, 0.3);
}

.bod-cta-buttons .bod-btn-secondary {
    background: transparent;
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.bod-cta-buttons .bod-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-2px);
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .bod-boycott-progress-page {
        padding: 15px;
    }
    
    .bod-progress-header {
        padding: 30px 20px;
    }
    
    .bod-progress-header h1 {
        font-size: 2rem;
    }
    
    .bod-cta-banner {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
    
    .bod-cta-banner span {
        margin: 0;
    }
    
    .bod-stats-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .bod-leaders-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .bod-filter-controls {
        flex-direction: column;
        align-items: stretch;
    }
    
    .bod-filter-select,
    .bod-filter-search {
        min-width: auto;
        width: 100%;
    }
    
    .bod-progress-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .bod-progress-card-header {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    
    .bod-progress-card-header h4 {
        text-align: center;
        font-size: 1.1rem;
    }
    
    .bod-progress-category {
        align-self: center;
        font-size: 0.75rem;
    }
    
    .bod-cta-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .bod-cta-buttons .bod-btn {
        width: 100%;
        max-width: 300px;
    }
}

@media (max-width: 768px) {
    .bod-progress-grid {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
        padding: 0 10px !important;
    }
}

@media (max-width: 480px) {
    .bod-overall-stats,
    .bod-progress-filters,
    .bod-progress-companies,
    .bod-progress-cta {
        padding: 20px 15px;
    }
    
    .bod-progress-card {
        padding: 15px !important;
        margin-bottom: 12px !important;
    }
    
    .bod-progress-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 0 5px !important;
    }
    
    .bod-stat-number {
        font-size: 2rem;
    }
    
    .bod-empty-progress {
        padding: 40px 20px;
    }
    
    .bod-empty-icon {
        font-size: 3rem;
    }
}

/* =====================================================
   GAMIFICATION STYLES FOR BOYCOTT PROGRESS
   ===================================================== */

/* Mobile-first responsive design for company cards */

/* ULTRA-AGGRESSIVE mobile styles to override embedded PHP CSS */
@media (max-width: 768px) {
    /* Override main container padding */
    .bod-boycott-progress-page,
    .page .bod-boycott-progress-page,
    body .bod-boycott-progress-page,
    .wp-site-blocks .bod-boycott-progress-page {
        max-width: 100% !important;
        padding: 5px !important;
        margin: 0 !important;
        width: 100% !important;
        overflow-x: hidden !important;
    }
    
    /* Override companies section padding that's causing overflow */
    .bod-progress-companies,
    .page .bod-progress-companies,
    body .bod-progress-companies,
    .wp-site-blocks .bod-progress-companies {
        padding: 10px !important;
        margin: 10px 0 !important;
        width: calc(100% - 20px) !important;
        max-width: calc(100% - 20px) !important;
        box-sizing: border-box !important;
    }
    
    /* Override grid minmax(400px) that's forcing cards too wide */
    .bod-progress-grid,
    .page .bod-progress-grid,
    body .bod-progress-grid,
    .wp-site-blocks .bod-progress-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Override card padding and sizing */
    .bod-progress-card,
    .page .bod-progress-card,
    body .bod-progress-card,
    .wp-site-blocks .bod-progress-card {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 12px !important;
        margin: 0 0 10px 0 !important;
        border-radius: 8px !important;
        transform: none !important;
    }
    
    /* Override card header layout */
    .bod-progress-card-header,
    .page .bod-progress-card-header,
    body .bod-progress-card-header,
    .wp-site-blocks .bod-progress-card-header {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 8px !important;
        padding-bottom: 10px !important;
    }
    
    /* Override header text sizing */
    .bod-progress-card-header h4,
    .page .bod-progress-card-header h4,
    body .bod-progress-card-header h4,
    .wp-site-blocks .bod-progress-card-header h4 {
        font-size: 1rem !important;
        word-wrap: break-word !important;
        width: 100% !important;
        text-align: center !important;
    }
    
    .bod-progress-category {
        margin: 0 auto !important;
        text-align: center !important;
        font-size: 0.7rem !important;
    }
}

@media (max-width: 480px) {
    .bod-boycott-progress-page {
        padding: 5px !important;
    }
    
    .bod-progress-companies {
        padding: 10px 5px !important;
    }
    
    .bod-progress-grid {
        gap: 10px !important;
        padding: 0 !important;
    }
    
    .bod-progress-card {
        padding: 12px !important;
        margin: 0 0 10px 0 !important;
    }
    
    .bod-progress-card-header h4 {
        font-size: 1rem !important;
        line-height: 1.3 !important;
    }
    
    .bod-metric {
        padding: 8px 12px !important;
    }
    
    .bod-metric-number {
        font-size: 1.1rem !important;
    }
    
    .bod-metric-label {
        font-size: 0.8rem !important;
    }
    
    /* Fix inner content overflow on mobile */
    .bod-metric {
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
        gap: 5px !important;
        padding: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .bod-metric-number,
    .bod-metric-label {
        width: 100% !important;
        max-width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
    }
    
    .bod-progress-label {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 5px !important;
        text-align: left !important;
    }
    
    .bod-progress-percent {
        width: 100% !important;
        text-align: left !important;
    }
    
    .bod-impact-progress {
        padding: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 360px) {
    /* Extra small phones - even more aggressive sizing */
    .bod-progress-card {
        padding: 8px !important;
    }
    
    .bod-metric {
        padding: 8px !important;
        margin-bottom: 8px !important;
    }
    
    .bod-metric-number {
        font-size: 1rem !important;
    }
    
    .bod-impact-progress {
        padding: 8px !important;
    }
}



/* Hero Section Enhancement */
.bod-progress-hero {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    border-radius: 20px !important;
    margin-bottom: 40px !important;
    position: relative !important;
    overflow: hidden !important;
    padding: 40px 30px !important;
    color: white !important;
}

.bod-progress-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="0.5" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
    opacity: 0.3;
}

.hero-content {
    position: relative;
    z-index: 2;
}

.bod-progress-header {
    color: white;
}

.bod-progress-header h1 {
    color: white;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.bod-progress-header p {
    color: rgba(255,255,255,0.9);
}

/* Movement Level System */
.movement-level-card {
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 15px;
    padding: 25px;
    margin: 30px 0;
    text-align: center;
}

.movement-level-card h3 {
    color: white;
    margin-bottom: 20px;
    font-size: 1.4rem;
}

.level-display {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 20px;
}

.level-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #ffd700 0%, #ffb347 100%);
    color: #333;
    font-size: 2rem;
    font-weight: 900;
    border-radius: 50%;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.4);
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.level-name {
    color: white;
    font-size: 1.5rem;
    font-weight: 700;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.level-progress {
    max-width: 400px;
    margin: 0 auto;
}

.progress-label {
    color: rgba(255,255,255,0.9);
    margin-bottom: 10px;
    font-weight: 600;
}

.progress-bar {
    height: 12px;
    background: rgba(255,255,255,0.2);
    border-radius: 6px;
    overflow: hidden;
    position: relative;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #ffd700 0%, #ffb347 100%);
    border-radius: 6px;
    transition: width 1s ease-out;
    position: relative;
}

.progress-fill::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.3) 50%, transparent 100%);
    animation: shimmer 2s infinite;
}

@keyframes shimmer {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

/* Account Encouragement Section */
.account-encouragement {
    background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
    color: white;
    padding: 25px;
    border-radius: 15px;
    margin: 30px 0;
    box-shadow: 0 8px 25px rgba(76, 175, 80, 0.3);
}

.encouragement-content h4 {
    margin: 0 0 15px 0;
    font-size: 1.3em;
    font-weight: 600;
    text-align: center;
}

.encouragement-content p {
    margin: 0 0 20px 0;
    font-size: 1.1em;
    line-height: 1.6;
    opacity: 0.95;
    text-align: center;
}

.encouragement-benefits ul {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.encouragement-benefits li {
    padding: 8px 0;
    font-size: 1.05em;
    display: flex;
    align-items: center;
    opacity: 0.9;
}

.encouragement-action {
    text-align: center;
}

.encouragement-action .bod-btn {
    background: rgba(255, 255, 255, 0.2);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: white;
    padding: 12px 24px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    font-size: 1.1em;
}

.encouragement-action .bod-btn:hover {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    color: white;
}

.encouragement-action .btn-icon {
    font-size: 1.2em;
}

/* Legacy Achievement Badges (for backward compatibility) */
.achievement-badges {
    margin: 30px 0;
}

.achievement-badges h4 {
    color: white;
    text-align: center;
    margin-bottom: 20px;
    font-size: 1.3rem;
}

.badges-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 15px;
    max-width: 800px;
    margin: 0 auto;
}

.badge {
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 12px;
    padding: 15px 10px;
    text-align: center;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.badge.earned {
    background: rgba(255,215,0,0.2);
    border-color: rgba(255,215,0,0.5);
    box-shadow: 0 4px 15px rgba(255,215,0,0.3);
    animation: badgeEarned 0.6s ease-out;
}

.badge.locked {
    background: rgba(255,255,255,0.05);
    border-color: rgba(255,255,255,0.1);
    opacity: 0.6;
}

@keyframes badgeEarned {
    0% { transform: scale(0.8) rotateY(180deg); opacity: 0; }
    50% { transform: scale(1.1) rotateY(90deg); }
    100% { transform: scale(1) rotateY(0deg); opacity: 1; }
}

.badge-icon {
    font-size: 2rem;
    display: block;
    margin-bottom: 8px;
}

.badge-name {
    color: white;
    font-weight: 600;
    font-size: 0.9rem;
    display: block;
    margin-bottom: 5px;
}

.badge-requirement {
    color: rgba(255,255,255,0.7);
    font-size: 0.8rem;
    font-style: italic;
}

/* Enhanced Stats Cards */
.bod-stat-card.animated {
    position: relative;
    overflow: hidden;
}

.bod-stat-card.animated::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(45deg, transparent, rgba(255,255,255,0.1), transparent);
    transform: rotate(45deg);
    transition: all 0.6s ease;
    opacity: 0;
}

.bod-stat-card.animated:hover::before {
    animation: shine 0.6s ease-in-out;
}

@keyframes shine {
    0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); opacity: 0; }
    50% { opacity: 1; }
    100% { transform: translateX(100%) translateY(100%) rotate(45deg); opacity: 0; }
}

.stat-icon {
    font-size: 2.5rem;
    margin-bottom: 10px;
    display: block;
}

.stat-trend {
    margin-top: 10px;
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
}

.stat-trend.positive {
    background: rgba(46, 204, 113, 0.2);
    color: #27ae60;
}

.stat-trend.negative {
    background: rgba(231, 76, 60, 0.2);
    color: #e74c3c;
}

/* Fun Facts Section */
.fun-facts {
    margin: 40px 0;
    padding: 30px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 15px;
    border: 1px solid #dee2e6;
}

.fun-facts h3 {
    text-align: center;
    color: #2c3e50;
    margin-bottom: 25px;
    font-size: 1.5rem;
}

.facts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.fact-card {
    background: white;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    text-align: center;
    transition: transform 0.3s ease;
}

.fact-card:hover {
    transform: translateY(-3px);
}

.fact-emoji {
    font-size: 2.5rem;
    display: block;
    margin-bottom: 15px;
}

.fact-card p {
    color: #495057;
    font-weight: 500;
    line-height: 1.5;
    margin: 0;
}

/* Enhanced Leader Cards */
.bod-leader-card {
    position: relative;
    padding: 25px 20px 20px 20px;
}

.leader-rank {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 2rem;
    z-index: 3;
}

.bod-leader-card.gold {
    background: linear-gradient(135deg, #ffd700 0%, #ffb347 100%);
    border: 2px solid #ffd700;
    box-shadow: 0 8px 25px rgba(255, 215, 0, 0.3);
}

.bod-leader-card.silver {
    background: linear-gradient(135deg, #c0c0c0 0%, #a8a8a8 100%);
    border: 2px solid #c0c0c0;
    box-shadow: 0 8px 25px rgba(192, 192, 192, 0.3);
}

.bod-leader-card.bronze {
    background: linear-gradient(135deg, #cd7f32 0%, #b87333 100%);
    border: 2px solid #cd7f32;
    box-shadow: 0 8px 25px rgba(205, 127, 50, 0.3);
}

.bod-leader-card.gold .bod-leader-company,
.bod-leader-card.gold .bod-leader-stat {
    color: #333;
}

.bod-leader-card.silver .bod-leader-company,
.bod-leader-card.silver .bod-leader-stat {
    color: #333;
}

.bod-leader-card.bronze .bod-leader-company,
.bod-leader-card.bronze .bod-leader-stat {
    color: white;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .movement-level-card {
        padding: 20px;
    }
    
    .level-display {
        flex-direction: column;
        gap: 10px;
    }
    
    .level-number {
        width: 50px;
        height: 50px;
        font-size: 1.5rem;
    }
    
    .level-name {
        font-size: 1.2rem;
    }
    
    .badges-grid {
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        gap: 10px;
    }
    
    .badge {
        padding: 12px 8px;
    }
    
    .badge-icon {
        font-size: 1.5rem;
    }
    
    .facts-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .leader-rank {
        font-size: 1.5rem;
        top: -10px;
    }
}

/* Number animation for stats */
@keyframes countUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.bod-stat-number {
    animation: countUp 1s ease-out;
}

/* =====================================================
   HIGH PRIORITY OVERRIDES FOR BOYCOTT STYLING
   ===================================================== */

/* Force boycott card styling with maximum specificity */
body .bod-boycott-card,
html body .bod-boycott-card,
.page .bod-boycott-card,
.post .bod-boycott-card {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
    border: 2px solid #e74c3c !important;
    border-radius: 15px !important;
    padding: 25px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 4px 15px rgba(231, 76, 60, 0.15) !important;
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
    width: 100% !important;
    transition: all 0.3s ease !important;
}

/* Mobile responsive adjustments for boycott cards */
@media (max-width: 768px) {
    body .bod-boycott-card,
    html body .bod-boycott-card,
    .page .bod-boycott-card,
    .post .bod-boycott-card {
        padding: 20px !important;
        margin-bottom: 15px !important;
        border-radius: 12px !important;
    }
    
    body .bod-company-header,
    html body .bod-company-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
        margin-bottom: 20px !important;
    }
    
    body .bod-company-header h4,
    html body .bod-company-header h4 {
        font-size: 1.2rem !important;
        width: 100% !important;
    }
    
    body .bod-category-tag,
    html body .bod-category-tag {
        align-self: flex-start !important;
        margin-top: 5px !important;
    }
}

@media (max-width: 480px) {
    body .bod-boycott-card,
    html body .bod-boycott-card,
    .page .bod-boycott-card,
    .post .bod-boycott-card {
        padding: 15px !important;
        margin-bottom: 12px !important;
        border-radius: 10px !important;
    }
    
    body .bod-company-header h4,
    html body .bod-company-header h4 {
        font-size: 1.1rem !important;
        line-height: 1.3 !important;
    }
    
    body .bod-boycott-toggle,
    html body .bod-boycott-toggle {
        padding: 15px !important;
        margin-bottom: 20px !important;
    }
    
    body .bod-boycott-toggle label,
    html body .bod-boycott-toggle label {
        font-size: 1rem !important;
        gap: 12px !important;
    }
}

body .bod-boycott-card:hover,
html body .bod-boycott-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 25px rgba(231, 76, 60, 0.25) !important;
    border-color: #c0392b !important;
}

/* Force company header styling */
body .bod-company-header,
html body .bod-company-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 25px !important;
    gap: 15px !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid #f1f3f4 !important;
}

body .bod-company-header h4,
html body .bod-company-header h4 {
    margin: 0 !important;
    color: #2c3e50 !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    flex: 1 !important;
}

/* Force category tag styling */
body .bod-category-tag,
html body .bod-category-tag {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    color: white !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}

/* Force boycott toggle styling */
body .bod-boycott-toggle,
html body .bod-boycott-toggle {
    margin-bottom: 25px !important;
    background: #f8f9fa !important;
    padding: 18px !important;
    border-radius: 12px !important;
    border: 1px solid #e9ecef !important;
}

body .bod-boycott-toggle label,
html body .bod-boycott-toggle label {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    cursor: pointer !important;
    font-weight: 600 !important;
    color: #2c3e50 !important;
    font-size: 1.05rem !important;
    margin: 0 !important;
}

/* Force grid layout - responsive for mobile */
body .bod-boycott-grid,
html body .bod-boycott-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)) !important;
    gap: 20px !important;
    margin-bottom: 30px !important;
    width: 100% !important;
}

/* Mobile responsiveness for boycott grid */
@media (max-width: 768px) {
    body .bod-boycott-grid,
    html body .bod-boycott-grid {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
        padding: 0 10px !important;
    }
}

@media (max-width: 480px) {
    body .bod-boycott-grid,
    html body .bod-boycott-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 0 5px !important;
    }
}

/* Force progress hero styling */
body .bod-progress-hero,
html body .bod-progress-hero,
.page .bod-progress-hero,
.post .bod-progress-hero {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    border-radius: 20px !important;
    margin-bottom: 40px !important;
    position: relative !important;
    overflow: hidden !important;
    padding: 40px 30px !important;
    color: white !important;
}

body .bod-progress-hero h1,
html body .bod-progress-hero h1 {
    color: white !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3) !important;
    font-size: 2.5rem !important;
    margin-bottom: 15px !important;
}

body .bod-progress-hero p,
html body .bod-progress-hero p {
    color: white !important;
    opacity: 0.95 !important;
}

/* Force movement level card styling */
body .movement-level-card,
html body .movement-level-card {
    background: rgba(255,255,255,0.15) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 15px !important;
    padding: 25px !important;
    margin: 30px 0 !important;
    text-align: center !important;
}

body .level-number,
html body .level-number {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 60px !important;
    height: 60px !important;
    background: linear-gradient(135deg, #ffd700 0%, #ffb347 100%) !important;
    color: #333 !important;
    font-size: 2rem !important;
    font-weight: 900 !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.4) !important;
    animation: pulse 2s infinite !important;
}

/* Force achievement badges styling */
body .badges-grid,
html body .badges-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
    gap: 15px !important;
    max-width: 800px !important;
    margin: 0 auto !important;
}

body .badge,
html body .badge {
    background: rgba(255,255,255,0.1) !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 12px !important;
    padding: 15px 10px !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
}

body .badge.earned,
html body .badge.earned {
    background: rgba(255,215,0,0.2) !important;
    border-color: rgba(255,215,0,0.5) !important;
    box-shadow: 0 4px 15px rgba(255,215,0,0.3) !important;
}

/* Force stats grid styling */
body .bod-stats-grid,
html body .bod-stats-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 25px !important;
    margin-bottom: 30px !important;
}

body .bod-stat-card,
html body .bod-stat-card {
    background: white !important;
    padding: 25px !important;
    border-radius: 12px !important;
    text-align: center !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
    border: 1px solid #e9ecef !important;
    transition: all 0.3s ease !important;
}

body .bod-stat-number,
html body .bod-stat-number {
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    color: #e74c3c !important;
    margin-bottom: 10px !important;
    display: block !important;
}

body .stat-icon,
html body .stat-icon {
    font-size: 2.5rem !important;
    margin-bottom: 10px !important;
    display: block !important;
}

/* Mobile responsive overrides */
@media (max-width: 768px) {
    body .bod-boycott-grid,
    html body .bod-boycott-grid {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }
    
    body .bod-boycott-card,
    html body .bod-boycott-card {
        padding: 20px !important;
    }
    
    /* Mobile hero section */
    body .bod-progress-hero,
    html body .bod-progress-hero {
        padding: 30px 20px !important;
    }
}

/* Mobile button enhancements for better touch interaction */
.bod-btn {
    /* Improve mobile touch target */
    min-height: 44px !important;
    -webkit-tap-highlight-color: rgba(0,0,0,0.1) !important;
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    user-select: none !important;
}

/* Mobile button active state for visual feedback */
.bod-btn-active {
    background-color: #2980b9 !important;
    transform: scale(0.98) !important;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.2) !important;
    transition: all 0.1s ease !important;
}

/* Enhanced Movement Admin Styles */
.bod-movement-admin {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
}

.bod-movement-header {
    text-align: center;
    margin-bottom: 40px;
    padding: 30px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
}

.bod-movement-header h2 {
    margin: 0 0 15px 0;
    font-size: 2.2rem;
    font-weight: 700;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}

.bod-movement-header p {
    margin: 0;
    opacity: 0.95;
    font-size: 1.1rem;
    line-height: 1.6;
}

.bod-card {
    background: white;
    border-radius: 15px;
    padding: 35px;
    margin-bottom: 30px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    border: 1px solid #e9ecef;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bod-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.15);
}

.bod-card h3 {
    margin: 0 0 25px 0;
    color: #2c3e50;
    font-size: 1.5rem;
    font-weight: 600;
    border-bottom: 3px solid #3498db;
    padding-bottom: 12px;
    display: flex;
    align-items: center;
}

.bod-card h3::before {
    content: "✏️";
    margin-right: 10px;
    font-size: 1.2rem;
}

.bod-movement-form .form-section {
    margin-bottom: 30px;
}

.bod-movement-form .form-section h4 {
    margin: 0 0 15px 0;
    color: #34495e;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
}

.bod-movement-form .form-section h4:before {
    content: "📋";
    margin-right: 8px;
}

.bod-movement-form .field-group {
    margin-bottom: 20px;
}

.bod-movement-form label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: #2c3e50;
}

.bod-movement-form label.required:after {
    content: " *";
    color: #e74c3c;
}

.bod-movement-form input[type="text"],
.bod-movement-form input[type="url"],
.bod-movement-form textarea,
.bod-movement-form select {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    font-size: 15px;
    font-family: inherit;
    transition: all 0.3s ease;
    background: #f8f9fa;
}

.bod-movement-form input:focus,
.bod-movement-form textarea:focus,
.bod-movement-form select:focus {
    outline: none;
    border-color: #3498db;
    background: white;
    box-shadow: 0 0 0 4px rgba(52, 152, 219, 0.15);
    transform: translateY(-1px);
}

.bod-movement-form small {
    display: block;
    margin-top: 5px;
    color: #6c757d;
    font-size: 13px;
    font-style: italic;
}

/* Logo Upload Styles */
.logo-upload-container {
    border: 2px dashed #e9ecef;
    border-radius: 10px;
    padding: 20px;
    text-align: center;
    transition: border-color 0.3s ease;
    position: relative;
}

.logo-upload-container:hover {
    border-color: #667eea;
}

.logo-upload-container.dragover {
    border-color: #667eea;
    background: rgba(102, 126, 234, 0.05);
}

.current-logo {
    margin-bottom: 15px;
    position: relative;
    display: inline-block;
}

.logo-preview {
    max-width: 150px;
    max-height: 150px;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    display: block;
    margin: 0 auto 10px;
}

.remove-logo-btn {
    background: #e74c3c;
    color: white;
    border: none;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.remove-logo-btn:hover {
    background: #c0392b;
}

.logo-upload-input {
    margin: 10px 0;
    width: 100%;
    padding: 10px;
    border: 1px solid #dee2e6;
    border-radius: 5px;
    font-size: 14px;
}

.upload-preview {
    margin-top: 15px;
}

.upload-instructions {
    color: #6c757d;
    font-size: 14px;
    margin-top: 10px;
}

.upload-progress {
    width: 100%;
    height: 6px;
    background: #f8f9fa;
    border-radius: 3px;
    margin: 10px 0;
    overflow: hidden;
}

.upload-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #667eea, #764ba2);
    width: 0%;
    transition: width 0.3s ease;
}

/* Enhanced Button Styling */
.bod-movement-admin .bod-btn {
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    margin: 0 5px 10px 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.bod-movement-admin .bod-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
    text-decoration: none;
}

.bod-movement-admin .bod-btn-primary {
    background: linear-gradient(135deg, #3498db, #2980b9);
    color: white;
    border: none;
}

.bod-movement-admin .bod-btn-primary:hover {
    background: linear-gradient(135deg, #2980b9, #1f4e79);
    color: white;
}

.bod-movement-admin .bod-btn-secondary {
    background: linear-gradient(135deg, #95a5a6, #7f8c8d);
    color: white;
    border: none;
}

.bod-movement-admin .bod-btn-secondary:hover {
    background: linear-gradient(135deg, #7f8c8d, #6c7b7d);
    color: white;
}

.bod-movement-admin .bod-btn-danger {
    background: linear-gradient(135deg, #e74c3c, #c0392b);
    color: white;
    border: none;
}

.bod-movement-admin .bod-btn-danger:hover {
    background: linear-gradient(135deg, #c0392b, #a93226);
    color: white;
}

.form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 30px;
    padding-top: 25px;
    border-top: 2px solid #f1f2f6;
}

/* Loading States */
.bod-movement-admin .bod-loading-spinner {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255,255,255,0.95);
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    z-index: 1000;
    text-align: center;
}

.bod-movement-admin .bod-loading-spinner::before {
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 15px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.social-links-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
    margin-top: 10px;
}

.form-actions {
    display: flex;
    gap: 15px;
    align-items: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #e9ecef;
}

.bod-btn {
    padding: 12px 24px;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    transition: all 0.3s ease;
}

.bod-btn-primary {
    background: #3498db;
    color: white;
}

.bod-btn-primary:hover {
    background: #2980b9;
    transform: translateY(-1px);
}

.bod-btn-secondary {
    background: #95a5a6;
    color: white;
}

.bod-btn-secondary:hover {
    background: #7f8c8d;
    text-decoration: none;
    color: white;
}

.bod-btn-danger {
    background: #e74c3c;
    color: white;
}

.bod-btn-danger:hover {
    background: #c0392b;
    text-decoration: none;
    color: white;
    transform: translateY(-1px);
}

/* Activity Management */
.activity-form-container {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 25px;
}

.activity-form-container h4 {
    margin: 0 0 15px 0;
    color: #2c3e50;
}

.activity-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-bottom: 15px;
}

.checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: normal !important;
    margin-top: 8px;
}

.checkbox-label input[type="checkbox"] {
    width: auto;
    margin: 0;
}

.activities-list h4 {
    margin: 25px 0 15px 0;
    color: #2c3e50;
}

.activities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 15px;
}

.activity-card {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 15px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.activity-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.activity-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.activity-type-badge {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}

.activity-daily {
    background: #e8f5e8;
    color: #2d5a2d;
}

.activity-weekly {
    background: #e3f2fd;
    color: #1565c0;
}

.activity-monthly {
    background: #fff3e0;
    color: #ef6c00;
}

.activity-event {
    background: #fce4ec;
    color: #c2185b;
}

.activity-date {
    font-size: 12px;
    color: #6c757d;
    font-weight: 500;
}

.activity-status-disabled {
    font-size: 11px;
    color: #dc3545;
    font-weight: 600;
    background: #f8d7da;
    padding: 2px 6px;
    border-radius: 3px;
}

.activity-card h5 {
    margin: 0 0 8px 0;
    color: #2c3e50;
    font-size: 1rem;
}

.activity-card p {
    margin: 0 0 15px 0;
    color: #6c757d;
    font-size: 14px;
    line-height: 1.4;
}

.activity-actions {
    display: flex;
    gap: 8px;
}

.bod-btn-small {
    padding: 6px 12px;
    font-size: 12px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.2s ease;
}

.bod-btn-small:not(.bod-btn-danger) {
    background: #e9ecef;
    color: #495057;
}

.bod-btn-small:not(.bod-btn-danger):hover {
    background: #dee2e6;
}

.bod-btn-danger {
    background: #dc3545;
    color: white;
}

.bod-btn-danger:hover {
    background: #c82333;
}

.no-activities {
    text-align: center;
    padding: 30px;
    color: #6c757d;
    background: #f8f9fa;
    border-radius: 8px;
}

/* Movement Statistics */
.movement-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
}

.stat-item {
    text-align: center;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.stat-number {
    font-size: 1.5rem;
    font-weight: 700;
    color: #3498db;
    margin-bottom: 5px;
}

.stat-label {
    font-size: 12px;
    color: #6c757d;
    text-transform: uppercase;
    font-weight: 600;
}

/* Loading Overlay */
.bod-loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    color: white;
}

.bod-loading-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid rgba(255,255,255,0.3);
    border-top: 4px solid white;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 15px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Tab Badge */
.tab-badge {
    background: #27ae60;
    color: white;
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 10px;
    margin-left: 5px;
    font-weight: 600;
}

/* Movement Directory and Page Styles */
.bod-movement-directory {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px;
}

.bod-movement-directory-header {
    text-align: center;
    margin-bottom: 50px;
    padding: 60px 40px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}

.bod-movement-directory-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="1" fill="rgba(255,255,255,0.1)"/></svg>') repeat;
    animation: float 20s infinite linear;
}

@keyframes float {
    0% { transform: translateX(-100px); }
    100% { transform: translateX(100px); }
}

.bod-movement-directory-header h2 {
    margin: 0 0 20px 0;
    font-size: 3rem;
    font-weight: 800;
    position: relative;
    z-index: 2;
}

.bod-movement-directory-header p {
    margin: 0;
    opacity: 0.95;
    font-size: 1.3rem;
    font-weight: 300;
    position: relative;
    z-index: 2;
}

.bod-movement-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    margin-bottom: 50px;
}

.stat-item {
    background: white;
    padding: 30px 20px;
    border-radius: 15px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    border: 1px solid #f0f0f0;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.stat-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}

.stat-number {
    display: block;
    font-size: 2.5rem;
    font-weight: 800;
    color: #667eea;
    margin-bottom: 10px;
}

.stat-label {
    font-size: 1rem;
    color: #6c757d;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.bod-movements-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: 30px;
    margin-bottom: 50px;
}

.bod-movements-list .bod-movement-card {
    display: flex;
    align-items: center;
    padding: 25px;
    margin-bottom: 20px;
}

.bod-movement-card {
    background: white;
    border-radius: 20px;
    padding: 0;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    border: 1px solid #f0f0f0;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden;
    position: relative;
}

.bod-movement-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}

.movement-logo-container {
    position: relative;
    height: 200px;
    background: linear-gradient(135deg, #f8f9fa, #e9ecef);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.movement-logo {
    max-width: 120px;
    max-height: 120px;
    object-fit: contain;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.movement-logo-placeholder {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #667eea, #764ba2);
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 2rem;
    font-weight: bold;
}

.movement-card-content {
    padding: 25px;
}

.movement-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 15px;
}

.movement-header h3 {
    margin: 0;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
}

.movement-header h3 a {
    color: #2c3e50;
    text-decoration: none;
    transition: color 0.3s ease;
}

.movement-header h3 a:hover {
    color: #667eea;
}

.featured-badge {
    background: linear-gradient(135deg, #ff6b6b, #ee5a52);
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 3px 10px rgba(255, 107, 107, 0.3);
}

.featured-badge.large {
    padding: 10px 20px;
    font-size: 13px;
    border-radius: 25px;
}

.movement-meta {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    font-size: 13px;
    color: #6c757d;
}

.movement-author {
    font-weight: 600;
    color: #495057;
}

.movement-description {
    margin-bottom: 20px;
    color: #495057;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.movement-links {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.movement-links a {
    font-size: 18px;
    text-decoration: none;
    opacity: 0.7;
    transition: all 0.3s ease;
    padding: 8px;
    border-radius: 8px;
    background: #f8f9fa;
}

.movement-links a:hover {
    opacity: 1;
    transform: translateY(-2px);
    background: #667eea;
    color: white;
}

.movement-footer {
    text-align: right;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #f0f0f0;
}

.bod-btn.large {
    padding: 15px 30px;
    font-size: 16px;
    border-radius: 10px;
    font-weight: 600;
    background: linear-gradient(135deg, #667eea, #764ba2);
    border: none;
    color: white;
    transition: all 0.3s ease;
}

.bod-btn.large:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(102, 126, 234, 0.3);
}

.bod-no-movements {
    text-align: center;
    padding: 80px 40px;
    background: linear-gradient(135deg, #f8f9fa, #e9ecef);
    border-radius: 20px;
    color: #6c757d;
}

.bod-no-movements h3 {
    color: #495057;
    margin-bottom: 15px;
    font-size: 1.8rem;
    font-weight: 700;
}

.bod-no-movements p {
    font-size: 1.1rem;
    margin: 0;
}

/* Individual Movement Page */
.bod-movement-page {
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px;
}

.movement-hero {
    text-align: center;
    padding: 60px 40px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 25px;
    margin-bottom: 50px;
    position: relative;
    overflow: hidden;
}

.movement-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="1" fill="rgba(255,255,255,0.1)"/></svg>') repeat;
    animation: float 20s infinite linear;
}

.movement-hero-logo {
    width: 120px;
    height: 120px;
    border-radius: 20px;
    margin: 0 auto 30px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    position: relative;
    z-index: 2;
}

.movement-hero-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.movement-hero-logo-placeholder {
    width: 120px;
    height: 120px;
    background: rgba(255,255,255,0.2);
    border-radius: 20px;
    margin: 0 auto 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    font-weight: bold;
    backdrop-filter: blur(10px);
    position: relative;
    z-index: 2;
}

.movement-hero h1 {
    margin: 0 0 20px 0;
    font-size: 3.2rem;
    font-weight: 800;
    position: relative;
    z-index: 2;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}

.movement-author {
    margin: 15px 0;
    opacity: 0.95;
    font-size: 1.2rem;
    font-weight: 500;
    position: relative;
    z-index: 2;
}

.movement-date {
    margin: 15px 0 0 0;
    opacity: 0.85;
    font-size: 1rem;
    position: relative;
    z-index: 2;
}

.movement-content {
    background: white;
    padding: 50px;
    border-radius: 25px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    border: 1px solid #f0f0f0;
}

.movement-description {
    font-size: 1.2rem;
    line-height: 1.8;
    color: #2c3e50;
    margin-bottom: 50px;
}

.movement-social-links {
    margin-bottom: 50px;
    padding: 35px;
    background: linear-gradient(135deg, #f8f9fa, #e9ecef);
    border-radius: 20px;
}

.movement-social-links h3 {
    margin: 0 0 20px 0;
    color: #2c3e50;
}

.social-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
}

.social-link {
    display: block;
    padding: 12px 16px;
    background: white;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    text-decoration: none;
    color: #495057;
    font-weight: 500;
    transition: all 0.3s ease;
    text-align: center;
}

.social-link:hover {
    border-color: #3498db;
    background: #3498db;
    color: white;
    transform: translateY(-2px);
    text-decoration: none;
}

.movement-activities {
    margin-bottom: 40px;
}

.movement-activities h3 {
    margin: 0 0 25px 0;
    color: #2c3e50;
    border-bottom: 2px solid #3498db;
    padding-bottom: 10px;
}

.activities-timeline {
    position: relative;
}

.activity-item {
    display: flex;
    gap: 20px;
    margin-bottom: 25px;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 10px;
    border-left: 4px solid #3498db;
}

.activity-item.activity-daily {
    border-left-color: #27ae60;
}

.activity-item.activity-weekly {
    border-left-color: #3498db;
}

.activity-item.activity-monthly {
    border-left-color: #f39c12;
}

.activity-item.activity-event {
    border-left-color: #e74c3c;
}

.activity-date {
    text-align: center;
    min-width: 60px;
    background: white;
    padding: 10px;
    border-radius: 8px;
    border: 1px solid #e9ecef;
    font-weight: 600;
    color: #2c3e50;
}

.activity-date .year {
    display: block;
    font-size: 12px;
    color: #6c757d;
    margin-top: 2px;
}

/* Enhanced Activity Management Styling */
.bod-movement-admin .activity-form {
    background: linear-gradient(135deg, #f8f9fa, #e9ecef);
    padding: 25px;
    border-radius: 12px;
    border: 2px solid #dee2e6;
    margin-bottom: 25px;
}

.bod-movement-admin .activity-form h4 {
    color: #2c3e50;
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
}

.bod-movement-admin .activity-form h4::before {
    content: "📅";
    margin-right: 8px;
}

.bod-movement-admin .activity-list {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.bod-movement-admin .activity-item-admin {
    padding: 20px;
    border-bottom: 1px solid #f1f2f6;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    transition: background 0.3s ease;
}

.bod-movement-admin .activity-item-admin:hover {
    background: #f8f9fa;
}

.bod-movement-admin .activity-item-admin:last-child {
    border-bottom: none;
}

.bod-movement-admin .activity-content h5 {
    margin: 0 0 5px 0;
    color: #2c3e50;
    font-size: 1.1rem;
}

.bod-movement-admin .activity-meta {
    color: #6c757d;
    font-size: 0.9rem;
    margin-bottom: 8px;
}

.bod-movement-admin .activity-desc {
    color: #495057;
    margin: 0;
    line-height: 1.5;
}

.bod-movement-admin .activity-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.bod-movement-admin .activity-actions .bod-btn {
    padding: 6px 12px;
    font-size: 12px;
    margin: 0;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* Enhanced Movement Statistics */
.enhanced-movement-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin: 25px 0;
}

.enhanced-stat-card {
    background: white;
    padding: 25px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    border: 2px solid #f1f2f6;
    transition: all 0.3s ease;
}

.enhanced-stat-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border-color: #3498db;
}

.enhanced-stat-number {
    display: block;
    font-size: 2.5rem;
    font-weight: 700;
    color: #3498db;
    margin-bottom: 8px;
}

.enhanced-stat-label {
    color: #6c757d;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Responsive Design for Movement Admin */
@media (max-width: 768px) {
    .bod-movement-admin {
        padding: 15px;
    }
    
    .bod-movement-header {
        padding: 20px;
        margin-bottom: 25px;
    }
    
    .bod-movement-header h2 {
        font-size: 1.8rem;
    }
    
    .bod-card {
        padding: 25px;
    }
    
    .form-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .form-actions .bod-btn {
        margin: 5px 0;
        text-align: center;
    }
    
    .enhanced-movement-stats {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .bod-movement-admin .activity-item-admin {
        flex-direction: column;
        gap: 15px;
    }
    
    .bod-movement-admin .activity-actions {
        align-self: stretch;
        justify-content: center;
    }
    
    .movement-support {
        padding: 20px;
    }
    
    .membership-note {
        padding: 15px;
    }
}

.activity-content {
    flex: 1;
}

.activity-content h4 {
    margin: 0 0 8px 0;
    color: #2c3e50;
}

.activity-content p {
    margin: 0;
    color: #6c757d;
    line-height: 1.5;
}

/* Updated Movement Support Section */
.movement-support {
    padding: 30px;
    background: #f8f9fa;
    border: 2px solid #e9ecef;
    border-radius: 15px;
    margin-top: 20px;
}

.movement-support h3 {
    margin: 0 0 15px 0;
    color: #2c3e50;
    font-size: 1.4rem;
    text-align: center;
}

.movement-support > p {
    margin: 0 0 25px 0;
    text-align: center;
    color: #495057;
    font-size: 1.05rem;
}

.support-actions {
    display: grid;
    gap: 20px;
}

.support-note {
    padding: 15px;
    background: #e3f2fd;
    border-left: 4px solid #2196f3;
    border-radius: 5px;
    margin: 0;
    font-size: 0.95rem;
}

.support-note strong {
    color: #1976d2;
}

.membership-note {
    padding: 20px;
    background: white;
    border: 2px solid #dee2e6;
    border-radius: 10px;
    text-align: center;
}

.membership-note h4 {
    margin: 0 0 10px 0;
    color: #2c3e50;
    font-size: 1.1rem;
}

.membership-note p {
    margin: 0 0 15px 0;
    color: #6c757d;
    font-size: 0.95rem;
}

.membership-note .bod-btn {
    background: #6c757d;
    color: white;
    border: none;
    padding: 10px 20px;
    font-size: 0.9rem;
    text-decoration: none;
    border-radius: 5px;
    transition: all 0.3s ease;
}

.membership-note .bod-btn:hover {
    background: #5a6268;
    transform: translateY(-1px);
    text-decoration: none;
}

.bod-error {
    text-align: center;
    padding: 40px 20px;
    background: #f8d7da;
    color: #721c24;
    border-radius: 10px;
    border: 1px solid #f5c6cb;
}

/* Responsive Design */
@media (max-width: 768px) {
    .bod-movement-admin {
        margin: 0 10px;
    }
    
    .bod-card {
        padding: 20px;
        margin-bottom: 20px;
    }
    
    .social-links-grid {
        grid-template-columns: 1fr;
    }
    
    .activity-form-grid {
        grid-template-columns: 1fr;
    }
    
    .activities-grid {
        grid-template-columns: 1fr;
    }
    
    .form-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .movement-stats-grid {
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    }
    
    .bod-movements-grid {
        grid-template-columns: 1fr;
    }
    
    .bod-movement-stats {
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    }
    
    .movement-hero h1 {
        font-size: 1.8rem;
    }
    
    .movement-content {
        padding: 25px;
    }
    
    .social-links {
        grid-template-columns: 1fr;
    }
    
    .activity-item {
        flex-direction: column;
        gap: 15px;
    }
    
    .activity-date {
        align-self: flex-start;
        min-width: auto;
    }
}

/* Movement Directory and Page Responsive Styles */
@media (max-width: 768px) {
    .bod-movement-directory {
        padding: 15px;
    }
    
    .bod-movement-directory-header {
        padding: 40px 20px;
        margin-bottom: 30px;
        border-radius: 15px;
    }
    
    .bod-movement-directory-header h2 {
        font-size: 2.2rem;
    }
    
    .bod-movement-directory-header p {
        font-size: 1.1rem;
    }
    
    .bod-movements-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 30px;
    }
    
    .bod-movement-card {
        border-radius: 15px;
    }
    
    .movement-logo-container {
        height: 150px;
    }
    
    .movement-logo {
        max-width: 80px;
        max-height: 80px;
    }
    
    .movement-logo-placeholder {
        width: 60px;
        height: 60px;
        font-size: 1.5rem;
    }
    
    .movement-card-content {
        padding: 20px;
    }
    
    .movement-header h3 {
        font-size: 1.2rem;
    }
    
    .movement-links {
        gap: 8px;
    }
    
    .stat-item {
        padding: 20px 15px;
    }
    
    .stat-number {
        font-size: 2rem;
    }
    
    /* Individual Movement Page Mobile */
    .bod-movement-page {
        padding: 15px;
    }
    
    .movement-hero {
        padding: 40px 20px;
        margin-bottom: 30px;
        border-radius: 20px;
    }
    
    .movement-hero h1 {
        font-size: 2.2rem;
    }
    
    .movement-hero-logo,
    .movement-hero-logo-placeholder {
        width: 80px;
        height: 80px;
        margin-bottom: 20px;
    }
    
    .movement-hero-logo-placeholder {
        font-size: 2rem;
    }
    
    .movement-content {
        padding: 30px 20px;
        border-radius: 20px;
    }
    
    .movement-description {
        font-size: 1.1rem;
        line-height: 1.7;
        margin-bottom: 30px;
    }
    
    .movement-social-links {
        padding: 25px 20px;
        margin-bottom: 30px;
        border-radius: 15px;
    }
}

@media (max-width: 480px) {
    .bod-movement-directory-header {
        padding: 30px 15px;
    }
    
    .bod-movement-directory-header h2 {
        font-size: 1.8rem;
    }
    
    .bod-movements-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .movement-card-content {
        padding: 15px;
    }
    
    .movement-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .featured-badge {
        align-self: flex-start;
    }
    
    .movement-hero {
        padding: 30px 15px;
    }
    
    .movement-hero h1 {
        font-size: 1.8rem;
    }
    
    .movement-content {
        padding: 20px 15px;
    }
}

/* Force white text for plan conclusion */
.bod-plan-conclusion p {
    color: white !important;
    opacity: 1 !important;
    text-shadow: none !important;
    font-weight: normal !important;
    filter: none !important;
}

/* Override conflicting CSS rules for The Plan section */
.bod-plan-section .bod-step-content h3 {
    color: white !important;
    font-weight: 600 !important;
}

.bod-plan-section .bod-step-content p {
    color: rgba(255,255,255,0.95) !important;
    opacity: 1 !important;
    line-height: 1.6 !important;
}

/* Clean mobile text visibility fixes */
@media screen and (max-width: 768px) {
    /* Ensure text is visible but keep it clean and professional */
    .bod-progress-hero h1,
    .bod-progress-hero p,
    .movement-level-card h3,
    .movement-level-card p,
    .account-encouragement h4,
    .account-encouragement p,
    .account-encouragement li {
        color: #ffffff !important;
        opacity: 1 !important;
        text-shadow: 1px 1px 2px rgba(0,0,0,0.4) !important;
    }
    
    /* Hero section mobile fixes */
    .bod-progress-hero {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
        color: #ffffff !important;
    }
    
    /* Movement level card mobile fixes */
    .movement-level-card {
        background: rgba(255,255,255,0.15) !important;
        border: 1px solid rgba(255,255,255,0.25) !important;
        color: #ffffff !important;
    }
    
    /* Account encouragement mobile fixes */
    .account-encouragement {
        background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%) !important;
        color: #ffffff !important;
    }
}

/* Final mobile text visibility fix - Clean and Professional */
@media only screen and (max-width: 768px) {
    .bod-boycott-progress-page .bod-progress-hero h1,
    .bod-boycott-progress-page .bod-progress-hero p,
    .bod-boycott-progress-page .movement-level-card h3,
    .bod-boycott-progress-page .movement-level-card p,
    .bod-boycott-progress-page .movement-level-card span,
    .bod-boycott-progress-page .account-encouragement h4,
    .bod-boycott-progress-page .account-encouragement p,
    .bod-boycott-progress-page .account-encouragement li {
        color: #ffffff !important;
        opacity: 1 !important;
        text-shadow: 1px 1px 2px rgba(0,0,0,0.3) !important;
        font-weight: 600 !important;
    }
}

/* MOBILE TEXT COLOR FIX - HERO SECTION ONLY */
@media only screen and (max-width: 768px) {
    /* Target ONLY the hero section text that's hard to read */
    .bod-boycott-progress-page .bod-progress-hero h1,
    .bod-boycott-progress-page .bod-progress-hero p,
    .bod-boycott-progress-page .movement-level-card h3,
    .bod-boycott-progress-page .movement-level-card .progress-label,
    .bod-boycott-progress-page .level-name,
    .bod-boycott-progress-page .level-display .level-name {
        color: #000000 !important;
        text-shadow: none !important;
        font-weight: 700 !important;
    }
}

/* Company Page Links */
.company-link {
    color: inherit !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    display: inline-block !important;
}

.company-link:hover {
    color: #667eea !important;
    text-decoration: none !important;
    transform: translateY(-1px) !important;
}

.company-link:hover::after {
    content: '' !important;
    position: absolute !important;
    bottom: -2px !important;
    left: 0 !important;
    right: 0 !important;
    height: 2px !important;
    background: linear-gradient(90deg, #667eea, #764ba2) !important;
    border-radius: 1px !important;
}

/* Company links in specific contexts */
.bod-company-name .company-link {
    font-weight: 600 !important;
}

.bod-progress-card h4 .company-link {
    color: #2c3e50 !important;
    font-weight: 700 !important;
}

.bod-progress-card h4 .company-link:hover {
    color: #667eea !important;
}

.bod-company-tag .company-link {
    color: white !important;
    font-weight: 500 !important;
}

.bod-company-tag .company-link:hover {
    color: #f8f9fa !important;
    text-decoration: underline !important;
}

.bod-watchlist-info h4 .company-link {
    color: #2c3e50 !important;
    font-weight: 600 !important;
}

.bod-watchlist-info h4 .company-link:hover {
    color: #667eea !important;
}

/* Mobile responsiveness for company links */
@media (max-width: 768px) {
    .company-link:hover {
        transform: none !important;
    }
    
    .company-link:active {
        color: #667eea !important;
        background: rgba(102, 126, 234, 0.1) !important;
        padding: 2px 4px !important;
        border-radius: 4px !important;
    }
}

/* ===========================================
   COLLAPSIBLE CARD STYLES
   =========================================== */

/* Collapsible card structure */
.collapsible-card {
    transition: all 0.3s ease !important;
}

.collapsible-card.expanded {
    margin-bottom: 25px !important;
}

/* Header actions for expand button */
.header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* Expand/collapse button */
.card-expand-btn {
    background: #f8f9fa !important;
    border: 2px solid #dee2e6 !important;
    border-radius: 50% !important;
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    padding: 0 !important;
    font-size: 12px !important;
    color: #6c757d !important;
}

.card-expand-btn:hover {
    background: #e9ecef !important;
    border-color: #adb5bd !important;
    color: #495057 !important;
    transform: scale(1.05) !important;
}

.card-expand-btn:active {
    transform: scale(0.95) !important;
}

/* Expand icon rotation */
.expand-icon {
    transition: transform 0.3s ease !important;
    display: inline-block !important;
    font-weight: bold !important;
}

.collapsible-card.expanded .expand-icon {
    transform: rotate(180deg) !important;
}

/* Quick stats grid */
.quick-stats {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
    gap: 12px !important;
    margin: 15px 0 !important;
    padding: 15px !important;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
    border-radius: 10px !important;
    border: 1px solid #dee2e6 !important;
}

.quick-stat {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 8px !important;
    background: white !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
    transition: transform 0.2s ease !important;
}

.quick-stat:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
}

.quick-stat .stat-icon {
    font-size: 1.2rem !important;
    margin-bottom: 4px !important;
}

.quick-stat .stat-value {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #2c3e50 !important;
    margin-bottom: 2px !important;
    line-height: 1.2 !important;
}

.quick-stat .stat-label {
    font-size: 0.75rem !important;
    color: #6c757d !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1.1 !important;
}

/* Primary boycott toggle */
.primary-boycott-toggle {
    margin: 15px 0 !important;
}

.boycott-toggle-label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
    padding: 12px 15px !important;
    background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%) !important;
    color: white !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    border: none !important;
    user-select: none !important;
}

.boycott-toggle-label:hover {
    background: linear-gradient(135deg, #c0392b 0%, #a93226 100%) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(231, 76, 60, 0.3) !important;
}

.boycott-checkbox {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    cursor: pointer !important;
}

/* Card details section animation - ALWAYS starts collapsed */
.card-details-section {
    display: none !important; /* Force hidden by default */
    overflow: hidden !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    max-height: 0 !important;
    opacity: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border-top: 0px solid #dee2e6 !important;
}

.collapsible-card.expanded .card-details-section {
    display: block !important;
    max-height: 1000px !important;
    opacity: 1 !important;
    padding: 20px 0 0 0 !important;
    margin-top: 15px !important;
    border-top: 2px solid #dee2e6 !important;
}

/* Mobile specific styles for collapsible cards */
@media (max-width: 768px) {
    .quick-stats {
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        padding: 12px !important;
    }
    
    .quick-stat {
        padding: 6px !important;
    }
    
    .quick-stat .stat-value {
        font-size: 1rem !important;
    }
    
    .quick-stat .stat-label {
        font-size: 0.7rem !important;
    }
    
    .header-actions {
        flex-direction: column !important;
        align-items: flex-end !important;
        gap: 8px !important;
    }
    
    .card-expand-btn {
        width: 28px !important;
        height: 28px !important;
        font-size: 10px !important;
    }
    
    .boycott-toggle-label {
        padding: 10px 12px !important;
        font-size: 0.9rem !important;
    }
}

/* Extra small mobile adjustments */
@media (max-width: 480px) {
    .quick-stats {
        grid-template-columns: 1fr !important;
    }
    
    .bod-company-header {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }
    
    .header-actions {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
    }
}

/* ===========================================
   COLLAPSIBLE PROGRESS CARDS STYLES
   =========================================== */

/* Progress card structure */
.collapsible-progress-card {
    transition: all 0.3s ease !important;
}

.collapsible-progress-card.expanded {
    margin-bottom: 25px !important;
}

/* Progress card header actions */
.collapsible-progress-card .header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    flex-wrap: wrap !important;
}

/* Progress expand/collapse button */
.progress-expand-btn {
    background: #f8f9fa !important;
    border: 2px solid #dee2e6 !important;
    border-radius: 50% !important;
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    padding: 0 !important;
    font-size: 12px !important;
    color: #6c757d !important;
    flex-shrink: 0 !important;
}

.progress-expand-btn:hover {
    background: #e9ecef !important;
    border-color: #adb5bd !important;
    color: #495057 !important;
    transform: scale(1.05) !important;
}

.progress-expand-btn:active {
    transform: scale(0.95) !important;
}

/* Progress expand icon rotation */
.collapsible-progress-card.expanded .expand-icon {
    transform: rotate(180deg) !important;
}

/* Quick progress stats styling */
.quick-progress-stats {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)) !important;
    gap: 10px !important;
    margin: 15px 0 !important;
    padding: 15px !important;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
    border-radius: 10px !important;
    border: 1px solid #dee2e6 !important;
}

.quick-progress-stats .bod-metric {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 8px !important;
    background: white !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
    transition: transform 0.2s ease !important;
}

.quick-progress-stats .bod-metric:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
}

.quick-progress-stats .bod-metric-number {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #2c3e50 !important;
    margin-bottom: 4px !important;
    line-height: 1.2 !important;
}

.quick-progress-stats .bod-metric-label {
    font-size: 0.75rem !important;
    color: #6c757d !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1.1 !important;
}

/* Progress card details section animation - ALWAYS starts collapsed */
.progress-card-details-section {
    display: none !important; /* Force hidden by default */
    overflow: hidden !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    max-height: 0 !important;
    opacity: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border-top: 0px solid #dee2e6 !important;
}

.collapsible-progress-card.expanded .progress-card-details-section {
    display: block !important;
    max-height: 2000px !important;
    opacity: 1 !important;
    padding: 20px 0 0 0 !important;
    margin-top: 15px !important;
    border-top: 2px solid #dee2e6 !important;
}

/* Mobile specific styles for collapsible progress cards */
@media (max-width: 768px) {
    .quick-progress-stats {
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        padding: 12px !important;
    }
    
    .quick-progress-stats .bod-metric {
        padding: 6px !important;
    }
    
    .quick-progress-stats .bod-metric-number {
        font-size: 1rem !important;
    }
    
    .quick-progress-stats .bod-metric-label {
        font-size: 0.7rem !important;
    }
    
    .collapsible-progress-card .header-actions {
        flex-direction: column !important;
        align-items: flex-end !important;
        gap: 8px !important;
    }
    
    .progress-expand-btn {
        width: 28px !important;
        height: 28px !important;
        font-size: 10px !important;
    }
}

/* Extra small mobile adjustments for progress cards */
@media (max-width: 480px) {
    .quick-progress-stats {
        grid-template-columns: 1fr !important;
    }
    
    .bod-progress-card-header {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }
    
    .collapsible-progress-card .header-actions {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
    }
}

/* ===========================================
   PROMINENT BOYCOTT TOGGLE STYLES
   =========================================== */

/* Always visible boycott section */
.bod-boycott-section.always-visible {
    margin: 20px 0 !important;
    padding: 20px !important;
    background: linear-gradient(135deg, #fff5f5 0%, #fff0f0 100%) !important;
    border: 2px solid #ffc1cc !important;
    border-radius: 15px !important;
}

.boycott-form-header h5 {
    margin: 0 0 8px 0 !important;
    color: #e74c3c !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
}

.boycott-description {
    margin: 0 0 15px 0 !important;
    color: #6c757d !important;
    font-style: italic !important;
    font-size: 0.9rem !important;
}

/* Prominent boycott toggle styling */
.prominent-boycott-toggle {
    margin: 15px 0 20px 0 !important;
}

.prominent-boycott-label {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    cursor: pointer !important;
    padding: 20px 25px !important;
    background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%) !important;
    color: white !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    transition: all 0.3s ease !important;
    border: 3px solid transparent !important;
    box-shadow: 0 4px 15px rgba(231, 76, 60, 0.3) !important;
    user-select: none !important;
}

.prominent-boycott-label:hover {
    background: linear-gradient(135deg, #c0392b 0%, #a93226 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(231, 76, 60, 0.4) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

.prominent-boycott-label:active {
    transform: translateY(0px) !important;
    box-shadow: 0 2px 10px rgba(231, 76, 60, 0.3) !important;
}

/* Prominent checkbox styling */
.prominent-checkbox {
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background: white !important;
    border: 2px solid rgba(255, 255, 255, 0.8) !important;
    border-radius: 4px !important;
    position: relative !important;
    outline: none !important;
}

/* Checkbox hover and focus states */
.prominent-checkbox:hover {
    border-color: white !important;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3) !important;
}

.prominent-checkbox:focus {
    border-color: white !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.5) !important;
}

/* Checkbox checkmark styling */
.prominent-checkbox:checked {
    background: white !important;
    border-color: white !important;
}

.prominent-checkbox:checked::after {
    content: '✓' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: #e74c3c !important;
    font-size: 16px !important;
    font-weight: bold !important;
    line-height: 1 !important;
    text-shadow: 0 0 1px rgba(0,0,0,0.3) !important;
}

/* Green state checkmark */
.prominent-boycott-label:has(.prominent-checkbox:checked) .prominent-checkbox::after,
.prominent-boycott-label.checkbox-checked .prominent-checkbox::after,
.prominent-checkbox.checkbox-checked::after {
    color: #27ae60 !important;
    text-shadow: 0 0 1px rgba(0,0,0,0.2) !important;
}

.prominent-boycott-text {
    flex: 1 !important;
    text-align: left !important;
}

/* Checked state styling */
.prominent-boycott-label:has(.prominent-checkbox:checked),
.prominent-boycott-label.checkbox-checked {
    background: linear-gradient(135deg, #27ae60 0%, #229954 100%) !important;
    box-shadow: 0 4px 15px rgba(39, 174, 96, 0.3) !important;
}

.prominent-boycott-label:has(.prominent-checkbox:checked):hover,
.prominent-boycott-label.checkbox-checked:hover {
    background: linear-gradient(135deg, #229954 0%, #1e8449 100%) !important;
    box-shadow: 0 6px 20px rgba(39, 174, 96, 0.4) !important;
}

/* Mobile adjustments for prominent toggle */
@media (max-width: 768px) {
    .prominent-boycott-label {
        padding: 16px 20px !important;
        font-size: 1rem !important;
        gap: 12px !important;
    }
    
    .prominent-checkbox {
        width: 22px !important;
        height: 22px !important;
    }
    
    .prominent-checkbox:checked::after {
        font-size: 14px !important;
    }
    
    .boycott-form-header h5 {
        font-size: 1.1rem !important;
    }
}

@media (max-width: 480px) {
    .prominent-boycott-label {
        padding: 14px 16px !important;
        font-size: 0.95rem !important;
        flex-direction: column !important;
        text-align: center !important;
        gap: 10px !important;
    }
    
    .prominent-checkbox {
        width: 20px !important;
        height: 20px !important;
        align-self: center !important;
    }
    
    .prominent-checkbox:checked::after {
        font-size: 12px !important;
    }
    
    .prominent-boycott-text {
        text-align: center !important;
    }
}

}