/* codemintz - Tools Pages CSS */

/* Tool Header */
.tool-header {
    padding: 120px 0 60px;
    background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
    position: relative;
}

.tool-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 1200 120"><path d="M0,0V46.29c47.79,22.2,103.59,32.17,158,28,70.36-5.37,136.33-33.31,206.8-37.5C438.64,32.43,512.34,53.67,583,72.05c69.27,18,138.3,24.88,209.4,13.08,36.15-6,69.85-17.84,104.45-29.34C989.49,25,1113-14.29,1200,52.47V0Z" opacity=".1" fill="%23a7c957"></path></svg>') no-repeat center bottom;
    background-size: cover;
    pointer-events: none;
}

.breadcrumb {
    margin-bottom: 2rem;
    font-size: 0.9rem;
    color: var(--text-secondary);
}

.breadcrumb a {
    color: var(--secondary-color);
    text-decoration: none;
    transition: var(--transition-normal);
}

.breadcrumb a:hover {
    color: var(--primary-color);
}

.separator {
    margin: 0 0.5rem;
    color: var(--sage-green);
}

.current {
    color: var(--primary-color);
    font-weight: 500;
}

.tool-intro {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2rem;
    align-items: center;
}

.tool-icon-large {
    font-size: 5rem;
    animation: gentle-bounce 3s ease-in-out infinite;
}

.tool-title {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 1rem;
    line-height: 1.2;
}

.tool-subtitle {
    font-size: 1.1rem;
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 2rem;
}

.tool-stats {
    display: flex;
    gap: 2rem;
}

.stat-item {
    text-align: center;
}

.stat-number {
    display: block;
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--accent-color);
    margin-bottom: 0.25rem;
}

.stat-label {
    font-size: 0.9rem;
    color: var(--text-secondary);
    font-weight: 500;
}

/* Search Section */
.search-section {
    padding: 60px 0;
    background: var(--bg-accent);
}

.search-container {
    max-width: 800px;
    margin: 0 auto;
}

.search-box {
    position: relative;
    margin-bottom: 3rem;
}

.search-input-wrapper {
    position: relative;
    display: flex;
    background: white;
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-medium);
    overflow: hidden;
    border: 2px solid transparent;
    transition: var(--transition-normal);
}

.search-input-wrapper:focus-within {
    border-color: var(--accent-color);
    box-shadow: var(--shadow-strong);
}

.search-input {
    flex: 1;
    padding: 1.5rem 2rem;
    border: none;
    outline: none;
    font-size: 1.1rem;
    font-family: var(--font-body);
    color: var(--text-primary);
    background: transparent;
}

.search-input::placeholder {
    color: var(--text-light);
}

.search-button {
    padding: 1.5rem 2rem;
    background: var(--accent-color);
    border: none;
    cursor: pointer;
    transition: var(--transition-normal);
    color: white;
}

.search-button:hover {
    background: var(--secondary-color);
}

.search-icon {
    font-size: 1.2rem;
}

.search-suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border-radius: 0 0 var(--radius-medium) var(--radius-medium);
    box-shadow: var(--shadow-medium);
    max-height: 300px;
    overflow-y: auto;
    z-index: 100;
    display: none;
}

.suggestion-item {
    padding: 1rem 2rem;
    cursor: pointer;
    border-bottom: 1px solid var(--bg-secondary);
    transition: var(--transition-fast);
}

.suggestion-item:hover {
    background: var(--bg-secondary);
}

.suggestion-item:last-child {
    border-bottom: none;
}

/* Quick Search */
.quick-search-title {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 1rem;
    text-align: center;
}

.quick-items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.quick-item {
    padding: 1rem 1.5rem;
    background: var(--bg-secondary);
    border: 2px solid var(--border-color);
    border-radius: var(--radius-medium);
    cursor: pointer;
    transition: var(--transition-normal);
    font-family: var(--font-body);
    font-weight: 500;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.quick-item:hover {
    background: var(--accent-color);
    color: white;
    border-color: var(--accent-color);
    transform: translateY(-2px);
}

/* Results Section */
.results-section {
    padding: 60px 0;
    background: var(--bg-primary);
}

.search-results {
    margin-bottom: 3rem;
}

.result-card {
    background: white;
    border-radius: var(--radius-large);
    padding: 2rem;
    box-shadow: var(--shadow-soft);
    margin-bottom: 2rem;
    border-left: 5px solid var(--accent-color);
}

.result-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.result-icon {
    font-size: 3rem;
}

.result-title {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0.5rem;
}

.result-category {
    font-size: 1rem;
    font-weight: 500;
    padding: 0.3rem 1rem;
    border-radius: var(--radius-small);
    display: inline-block;
}

.category-recyclable { background: rgba(76, 175, 80, 0.1); color: #4CAF50; }
.category-hazardous { background: rgba(255, 152, 0, 0.1); color: #FF9800; }
.category-organic { background: rgba(139, 195, 74, 0.1); color: #8BC34A; }
.category-general { background: rgba(158, 158, 158, 0.1); color: #9E9E9E; }

.result-description {
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 1rem;
}

.result-tips {
    background: var(--bg-secondary);
    padding: 1rem;
    border-radius: var(--radius-small);
    border-left: 3px solid var(--accent-color);
}

.tips-title {
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0.5rem;
}

/* Categories Display */
.categories-display {
    margin-top: 3rem;
}

.categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.category-card {
    background: white;
    border-radius: var(--radius-large);
    padding: 2rem;
    text-align: center;
    box-shadow: var(--shadow-soft);
    transition: var(--transition-normal);
    position: relative;
    overflow: hidden;
}

.category-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    transition: var(--transition-normal);
}

.category-card.recyclable::before { background: #4CAF50; }
.category-card.hazardous::before { background: #FF9800; }
.category-card.organic::before { background: #8BC34A; }
.category-card.general::before { background: #9E9E9E; }

.category-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-medium);
}

.category-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.category-title {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.category-description {
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.category-examples {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
}

.example {
    background: var(--bg-secondary);
    color: var(--text-primary);
    padding: 0.3rem 0.8rem;
    border-radius: var(--radius-small);
    font-size: 0.85rem;
    font-weight: 500;
}

/* History Section */
.history-section {
    padding: 60px 0;
    background: var(--bg-secondary);
}

.history-container {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.search-history {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1rem;
    margin: 2rem 0;
}

.history-item {
    background: white;
    padding: 1rem;
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-soft);
    cursor: pointer;
    transition: var(--transition-normal);
    display: flex;
    align-items: center;
    gap: 1rem;
}

.history-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-medium);
}

.history-icon {
    font-size: 1.5rem;
}

.history-text {
    flex: 1;
    text-align: left;
}

.history-name {
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0.25rem;
}

.history-category {
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.no-history {
    grid-column: 1 / -1;
    color: var(--text-light);
    font-style: italic;
    padding: 2rem;
}

.clear-history-btn {
    background: var(--accent-color);
    color: white;
    border: none;
    padding: 1rem 2rem;
    border-radius: var(--radius-medium);
    cursor: pointer;
    transition: var(--transition-normal);
    font-family: var(--font-body);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 auto;
}

.clear-history-btn:hover {
    background: var(--secondary-color);
    transform: translateY(-2px);
}

/* Tips Section */
.tips-section {
    padding: 60px 0;
    background: var(--bg-accent);
}

.tips-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.tip-card {
    background: white;
    border-radius: var(--radius-large);
    padding: 2rem;
    text-align: center;
    box-shadow: var(--shadow-soft);
    transition: var(--transition-normal);
}

.tip-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-medium);
}

.tip-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.tip-title {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.tip-description {
    color: var(--text-secondary);
    line-height: 1.6;
}

/* Responsive Design */
@media (max-width: 768px) {
    .tool-intro {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 1rem;
    }
    
    .tool-icon-large {
        font-size: 4rem;
    }
    
    .tool-title {
        font-size: 2rem;
    }
    
    .tool-stats {
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .search-input {
        padding: 1rem 1.5rem;
        font-size: 1rem;
    }
    
    .search-button {
        padding: 1rem 1.5rem;
    }
    
    .quick-items {
        grid-template-columns: 1fr;
    }
    
    .categories-grid {
        grid-template-columns: 1fr;
    }
    
    .tips-grid {
        grid-template-columns: 1fr;
    }
}

/* Carbon Calculator Specific Styles */
.calculator-section {
    padding: 60px 0;
    background: var(--bg-primary);
}

.calculator-container {
    max-width: 1000px;
    margin: 0 auto;
}

.category-tabs {
    display: flex;
    gap: 1rem;
    margin-bottom: 3rem;
    justify-content: center;
    flex-wrap: wrap;
}

.tab-button {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 2rem;
    background: var(--bg-secondary);
    border: 2px solid var(--border-color);
    border-radius: var(--radius-medium);
    cursor: pointer;
    transition: var(--transition-normal);
    font-family: var(--font-body);
    font-weight: 500;
    color: var(--text-primary);
}

.tab-button:hover {
    background: var(--accent-color);
    color: white;
    border-color: var(--accent-color);
}

.tab-button.active {
    background: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
}

.tab-icon {
    font-size: 1.2rem;
}

.calculator-forms {
    background: white;
    border-radius: var(--radius-large);
    padding: 3rem;
    box-shadow: var(--shadow-soft);
    margin-bottom: 2rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.form-section {
    display: none;
}

.form-section.active {
    display: block;
}

.form-title {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 2rem;
    text-align: center;
}

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

.input-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.input-group label {
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
}

.input-group input,
.input-group select {
    padding: 1rem;
    border: 2px solid var(--border-color);
    border-radius: var(--radius-small);
    font-family: var(--font-body);
    font-size: 1rem;
    transition: var(--transition-normal);
}

.input-group input:focus,
.input-group select:focus {
    outline: none;
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(127, 176, 105, 0.1);
}

.input-group input[type="range"] {
    padding: 0;
    height: 8px;
    background: var(--bg-secondary);
    border-radius: 4px;
    outline: none;
    -webkit-appearance: none;
}

.input-group input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    background: var(--accent-color);
    border-radius: 50%;
    cursor: pointer;
}

.input-group input[type="range"]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: var(--accent-color);
    border-radius: 50%;
    cursor: pointer;
    border: none;
}

.range-value {
    font-weight: 600;
    color: var(--accent-color);
    text-align: center;
    margin-top: 0.5rem;
}

.input-group small {
    color: var(--text-secondary);
    font-size: 0.85rem;
    margin-top: 0.25rem;
}

.calculate-section {
    text-align: center;
    margin: 3rem 0;
}

.calculate-btn {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem 3rem;
    background: linear-gradient(135deg, var(--accent-color) 0%, var(--secondary-color) 100%);
    color: white;
    border: none;
    border-radius: var(--radius-large);
    font-family: var(--font-body);
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-normal);
    box-shadow: var(--shadow-medium);
}

.calculate-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-strong);
}

.calculate-btn .btn-icon {
    font-size: 1.3rem;
}

/* Results Styles */
.results-container {
    background: white;
    border-radius: var(--radius-large);
    padding: 3rem;
    box-shadow: var(--shadow-soft);
    margin-bottom: 3rem;
}

.results-header {
    text-align: center;
    margin-bottom: 3rem;
}

.results-title {
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 2rem;
}

.total-emissions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.emission-value {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.emission-value .value {
    font-family: var(--font-heading);
    font-size: 4rem;
    font-weight: 700;
    color: var(--accent-color);
}

.emission-value .unit {
    font-size: 1.2rem;
    color: var(--text-secondary);
    font-weight: 500;
}

.annual-value {
    font-size: 1.1rem;
    color: var(--text-secondary);
    font-weight: 500;
}

.results-breakdown {
    margin: 3rem 0;
}

.breakdown-item {
    margin-bottom: 2rem;
}

.breakdown-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.breakdown-icon {
    font-size: 1.5rem;
    margin-right: 1rem;
}

.breakdown-title {
    flex: 1;
    font-weight: 600;
    color: var(--text-primary);
}

.breakdown-value {
    font-weight: 600;
    color: var(--accent-color);
}

.breakdown-bar {
    height: 12px;
    background: var(--bg-secondary);
    border-radius: 6px;
    overflow: hidden;
}

.breakdown-bar .bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--accent-color) 0%, var(--secondary-color) 100%);
    border-radius: 6px;
    transition: width 1s ease;
}

.results-comparison {
    margin: 3rem 0;
    padding: 2rem;
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
}

.comparison-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.comparison-label {
    width: 150px;
    font-weight: 500;
    color: var(--text-primary);
}

.comparison-bar {
    flex: 1;
    height: 20px;
    background: var(--bg-primary);
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

.comparison-bar .bar-fill {
    height: 100%;
    border-radius: 10px;
    transition: width 1s ease;
}

.your-footprint .bar-fill {
    background: var(--accent-color);
}

.global-average .bar-fill {
    background: #FF9800;
}

.sustainable-target .bar-fill {
    background: #4CAF50;
}

.comparison-value {
    width: 80px;
    text-align: right;
    font-weight: 600;
    color: var(--text-primary);
}

.results-recommendations {
    margin-top: 3rem;
}

.recommendations-title {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 2rem;
    text-align: center;
}

.recommendations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}

.recommendation-card {
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
    padding: 1.5rem;
    display: flex;
    gap: 1rem;
    transition: var(--transition-normal);
}

.recommendation-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
}

.rec-icon {
    font-size: 2rem;
    flex-shrink: 0;
}

.rec-content {
    flex: 1;
}

.rec-title {
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0.5rem;
}

.rec-description {
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 1rem;
}

.rec-impact {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-small);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
}

.rec-impact.high-impact {
    background: rgba(76, 175, 80, 0.1);
    color: #4CAF50;
}

.rec-impact.medium-impact {
    background: rgba(255, 152, 0, 0.1);
    color: #FF9800;
}

.rec-impact.low-impact {
    background: rgba(158, 158, 158, 0.1);
    color: #9E9E9E;
}

@media (max-width: 480px) {
    .tool-header {
        padding: 100px 0 40px;
    }

    .search-section,
    .results-section,
    .history-section,
    .tips-section,
    .calculator-section {
        padding: 40px 0;
    }

    .result-card,
    .category-card,
    .tip-card,
    .calculator-forms,
    .results-container {
        padding: 1.5rem;
    }

    .category-tabs {
        flex-direction: column;
        align-items: center;
    }

    .tab-button {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }

    .input-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .emission-value .value {
        font-size: 3rem;
    }

    .comparison-item {
        flex-direction: column;
        gap: 0.5rem;
        align-items: stretch;
    }

    .comparison-label,
    .comparison-value {
        width: auto;
        text-align: center;
    }
}

/* Ultra Small Screens - iPhone SE and similar */
@media (max-width: 375px) {
    .tool-header {
        padding: 80px 0 30px;
    }

    .search-section,
    .results-section,
    .history-section,
    .tips-section,
    .calculator-section {
        padding: 30px 0;
    }

    .container {
        padding: 0 0.75rem;
    }

    .result-card,
    .category-card,
    .tip-card,
    .calculator-forms,
    .results-container {
        padding: 1rem;
        margin: 0 auto;
        max-width: calc(100vw - 1.5rem);
    }

    .input-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .tab-button {
        max-width: 280px;
        padding: 0.75rem 1rem;
        font-size: 0.9rem;
    }

    .search-input {
        padding: 0.875rem 1.25rem;
        font-size: 0.95rem;
    }

    .search-button {
        padding: 0.875rem 1.25rem;
    }

    .emission-value .value {
        font-size: 2.5rem;
    }

    .input-group input,
    .input-group select {
        padding: 0.875rem;
        font-size: 0.95rem;
        min-height: 44px; /* iOS touch target minimum */
        border-radius: 8px;
    }

    .input-group label {
        font-size: 0.95rem;
        margin-bottom: 0.75rem;
    }

    .calculate-btn,
    .analyze-btn {
        padding: 1rem 2rem;
        font-size: 1rem;
        min-height: 44px;
    }
}

/* Extra Small Screens - Very small devices */
@media (max-width: 320px) {
    .tool-header {
        padding: 70px 0 25px;
    }

    .search-section,
    .results-section,
    .history-section,
    .tips-section,
    .calculator-section {
        padding: 25px 0;
    }

    .container {
        padding: 0 0.5rem;
    }

    .result-card,
    .category-card,
    .tip-card,
    .calculator-forms,
    .results-container {
        padding: 0.75rem;
        margin: 0 auto;
        max-width: calc(100vw - 1rem);
        box-sizing: border-box;
    }

    .input-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .tab-button {
        max-width: 260px;
        padding: 0.75rem 0.875rem;
        font-size: 0.85rem;
    }

    .search-input {
        padding: 0.75rem 1rem;
        font-size: 0.9rem;
    }

    .search-button {
        padding: 0.75rem 1rem;
    }

    .emission-value .value {
        font-size: 2.25rem;
    }

    .input-group input,
    .input-group select {
        padding: 0.75rem;
        font-size: 0.9rem;
        min-height: 44px;
        border-radius: 8px;
    }

    .input-group label {
        font-size: 0.9rem;
        margin-bottom: 0.5rem;
    }

    .input-grid {
        gap: 1.25rem;
    }

    .calculate-btn,
    .analyze-btn {
        padding: 0.875rem 1.5rem;
        font-size: 0.95rem;
        min-height: 44px;
        width: 100%;
        max-width: 280px;
    }

    .tool-title {
        font-size: 1.8rem;
    }

    .tool-subtitle {
        font-size: 0.9rem;
    }
}

/* Energy Advisor Specific Styles */
.energy-audit-section {
    padding: 60px 0;
    background: var(--bg-primary);
}

.audit-container {
    max-width: 1200px;
    margin: 0 auto;
}

.audit-category {
    background: white;
    border-radius: var(--radius-large);
    padding: 3rem;
    margin-bottom: 3rem;
    box-shadow: var(--shadow-soft);
}

.category-title {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 2rem;
}

.category-icon {
    font-size: 2rem;
}

.appliances-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.appliance-card {
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
    padding: 2rem;
    border: 2px solid var(--border-color);
    transition: var(--transition-normal);
}

.appliance-card:hover {
    border-color: var(--accent-color);
    transform: translateY(-2px);
}

.appliance-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.appliance-icon {
    font-size: 1.5rem;
}

.appliance-name {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--primary-color);
}

.appliance-inputs {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.analyze-section {
    text-align: center;
    margin: 3rem 0;
}

.analyze-btn {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem 3rem;
    background: linear-gradient(135deg, var(--accent-color) 0%, var(--secondary-color) 100%);
    color: white;
    border: none;
    border-radius: var(--radius-large);
    font-family: var(--font-body);
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-normal);
    box-shadow: var(--shadow-medium);
}

.analyze-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-strong);
}

/* Energy Results Styles */
.energy-results {
    background: white;
    border-radius: var(--radius-large);
    padding: 3rem;
    box-shadow: var(--shadow-soft);
    margin-bottom: 3rem;
}

.energy-results-header {
    text-align: center;
    margin-bottom: 3rem;
}

.results-summary {
    display: flex;
    justify-content: center;
    gap: 3rem;
    margin-top: 2rem;
}

.summary-item {
    text-align: center;
}

.summary-value {
    font-family: var(--font-heading);
    font-size: 3rem;
    font-weight: 700;
    color: var(--accent-color);
    margin-bottom: 0.5rem;
}

.summary-value.efficiency-score-excellent { color: #4CAF50; }
.summary-value.efficiency-score-good { color: #8BC34A; }
.summary-value.efficiency-score-average { color: #FF9800; }
.summary-value.efficiency-score-poor { color: #F44336; }

.summary-label {
    font-size: 1rem;
    color: var(--text-secondary);
    font-weight: 500;
}

.consumption-breakdown {
    margin: 3rem 0;
}

.breakdown-title,
.factors-title,
.opportunities-title,
.comparison-title {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 2rem;
    text-align: center;
}

.breakdown-chart .breakdown-item {
    margin-bottom: 1.5rem;
}

.breakdown-chart .breakdown-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.breakdown-chart .breakdown-icon {
    font-size: 1.5rem;
    margin-right: 1rem;
}

.breakdown-chart .breakdown-name {
    flex: 1;
    font-weight: 600;
    color: var(--text-primary);
}

.breakdown-chart .breakdown-value {
    font-weight: 600;
    color: var(--accent-color);
}

.breakdown-chart .breakdown-bar {
    height: 12px;
    background: var(--bg-secondary);
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 0.25rem;
}

.breakdown-chart .breakdown-fill {
    height: 100%;
    border-radius: 6px;
    transition: width 1s ease;
}

.breakdown-percentage {
    text-align: right;
    font-size: 0.9rem;
    color: var(--text-secondary);
}

.efficiency-factors {
    margin: 3rem 0;
    padding: 2rem;
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
}

.factors-grid {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.factor-item {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.factor-label {
    width: 150px;
    font-weight: 500;
    color: var(--text-primary);
}

.factor-bar {
    flex: 1;
    height: 16px;
    background: var(--bg-primary);
    border-radius: 8px;
    overflow: hidden;
}

.factor-fill {
    height: 100%;
    background: var(--accent-color);
    border-radius: 8px;
    transition: width 1s ease;
}

.factor-value {
    width: 60px;
    text-align: right;
    font-weight: 600;
    color: var(--text-primary);
}

.savings-opportunities {
    margin: 3rem 0;
}

.opportunities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.opportunity-card {
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
    padding: 2rem;
    transition: var(--transition-normal);
}

.opportunity-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
}

.opportunity-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.opportunity-icon {
    font-size: 2rem;
    flex-shrink: 0;
}

.opportunity-info {
    flex: 1;
}

.opportunity-title {
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0.5rem;
}

.opportunity-impact {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-small);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
}

.opportunity-impact.impact-high {
    background: rgba(76, 175, 80, 0.1);
    color: #4CAF50;
}

.opportunity-impact.impact-medium {
    background: rgba(255, 152, 0, 0.1);
    color: #FF9800;
}

.opportunity-impact.impact-low {
    background: rgba(158, 158, 158, 0.1);
    color: #9E9E9E;
}

.opportunity-description {
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 1.5rem;
}

.opportunity-savings {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.savings-item {
    text-align: center;
}

.savings-label {
    display: block;
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin-bottom: 0.25rem;
}

.savings-value {
    font-weight: 600;
    color: var(--accent-color);
}

.comparison-section {
    margin: 3rem 0;
    padding: 2rem;
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
}

.comparison-chart .comparison-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.comparison-chart .comparison-label {
    width: 120px;
    font-weight: 500;
    color: var(--text-primary);
}

.comparison-chart .comparison-bar {
    flex: 1;
    height: 20px;
    background: var(--bg-primary);
    border-radius: 10px;
    overflow: hidden;
}

.comparison-chart .bar-fill {
    height: 100%;
    border-radius: 10px;
    transition: width 1s ease;
}

.your-usage .bar-fill {
    background: var(--accent-color);
}

.average-usage .bar-fill {
    background: #FF9800;
}

.efficient-usage .bar-fill {
    background: #4CAF50;
}

.comparison-chart .comparison-value {
    width: 80px;
    text-align: right;
    font-weight: 600;
    color: var(--text-primary);
}

/* Air Quality Monitor Specific Styles */
.assessment-section {
    padding: 60px 0;
    background: var(--bg-primary);
}

.assessment-container {
    max-width: 1200px;
    margin: 0 auto;
}

.assessment-category {
    background: white;
    border-radius: var(--radius-large);
    padding: 3rem;
    margin-bottom: 3rem;
    box-shadow: var(--shadow-soft);
}

.pollution-sources {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.source-group {
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
    padding: 2rem;
}

.source-title {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 1.5rem;
}

.checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
}

.checkbox-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: var(--radius-small);
    cursor: pointer;
    transition: var(--transition-normal);
    background: white;
    border: 2px solid var(--border-color);
}

.checkbox-item:hover {
    border-color: var(--accent-color);
    background: rgba(var(--accent-rgb), 0.05);
}

.checkbox-item input[type="checkbox"] {
    display: none;
}

.checkmark {
    width: 20px;
    height: 20px;
    border: 2px solid var(--border-color);
    border-radius: 4px;
    position: relative;
    transition: var(--transition-normal);
    flex-shrink: 0;
}

.checkbox-item input[type="checkbox"]:checked + .checkmark {
    background: var(--accent-color);
    border-color: var(--accent-color);
}

.checkbox-item input[type="checkbox"]:checked + .checkmark::after {
    content: '✓';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-weight: bold;
    font-size: 12px;
}

.checkbox-text {
    font-weight: 500;
    color: var(--text-primary);
}

.symptoms-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.assess-section {
    text-align: center;
    margin: 3rem 0;
}

.assess-btn {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem 3rem;
    background: linear-gradient(135deg, var(--accent-color) 0%, var(--secondary-color) 100%);
    color: white;
    border: none;
    border-radius: var(--radius-large);
    font-family: var(--font-body);
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-normal);
    box-shadow: var(--shadow-medium);
}

.assess-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-strong);
}

/* Air Quality Results Styles */
.air-quality-results {
    background: white;
    border-radius: var(--radius-large);
    padding: 3rem;
    box-shadow: var(--shadow-soft);
    margin-bottom: 3rem;
}

.air-quality-header {
    text-align: center;
    margin-bottom: 3rem;
}

.quality-summary {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4rem;
    margin-top: 2rem;
}

.quality-score {
    text-align: center;
    padding: 2rem;
    border-radius: var(--radius-large);
    min-width: 200px;
}

.quality-score.score-excellent {
    background: linear-gradient(135deg, #4CAF50, #8BC34A);
    color: white;
}

.quality-score.score-good {
    background: linear-gradient(135deg, #8BC34A, #CDDC39);
    color: white;
}

.quality-score.score-fair {
    background: linear-gradient(135deg, #FF9800, #FFC107);
    color: white;
}

.quality-score.score-poor {
    background: linear-gradient(135deg, #F44336, #FF5722);
    color: white;
}

.score-value {
    font-family: var(--font-heading);
    font-size: 4rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.score-label {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.score-description {
    font-size: 1rem;
    opacity: 0.9;
}

.risk-indicator {
    text-align: center;
    padding: 1.5rem;
    border-radius: var(--radius-medium);
    min-width: 150px;
}

.risk-indicator.risk-low {
    background: rgba(76, 175, 80, 0.1);
    border: 2px solid #4CAF50;
    color: #4CAF50;
}

.risk-indicator.risk-medium {
    background: rgba(255, 152, 0, 0.1);
    border: 2px solid #FF9800;
    color: #FF9800;
}

.risk-indicator.risk-high {
    background: rgba(244, 67, 54, 0.1);
    border: 2px solid #F44336;
    color: #F44336;
}

.risk-indicator.risk-very-high {
    background: rgba(136, 14, 79, 0.1);
    border: 2px solid #880E4F;
    color: #880E4F;
}

.risk-level {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.risk-label {
    font-size: 1rem;
    font-weight: 600;
}

.assessment-breakdown {
    margin: 3rem 0;
}

.breakdown-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.breakdown-item {
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
    padding: 2rem;
    transition: var(--transition-normal);
}

.breakdown-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
}

.breakdown-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.breakdown-icon {
    font-size: 1.5rem;
    margin-right: 0.5rem;
}

.breakdown-name {
    font-weight: 600;
    color: var(--primary-color);
    flex: 1;
}

.breakdown-score {
    font-weight: 700;
    color: var(--accent-color);
    font-size: 1.1rem;
}

.breakdown-details {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.detail-item {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-color);
}

.detail-item:last-child {
    border-bottom: none;
}

.pollution-sources-section,
.plant-recommendations-section,
.improvement-plan-section {
    margin: 3rem 0;
    padding: 2rem;
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
}

.pollution-categories {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.pollution-category {
    background: white;
    border-radius: var(--radius-medium);
    padding: 2rem;
}

.category-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 1.5rem;
}

.sources-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.source-item {
    padding: 1rem;
    border-radius: var(--radius-small);
    border-left: 4px solid;
}

.source-item.impact-high {
    background: rgba(244, 67, 54, 0.05);
    border-left-color: #F44336;
}

.source-item.impact-medium {
    background: rgba(255, 152, 0, 0.05);
    border-left-color: #FF9800;
}

.source-item.impact-low {
    background: rgba(158, 158, 158, 0.05);
    border-left-color: #9E9E9E;
}

.source-name {
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0.25rem;
}

.source-description {
    color: var(--text-secondary);
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.source-impact {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--accent-color);
}

.recommendations-summary {
    display: flex;
    justify-content: center;
    gap: 3rem;
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: white;
    border-radius: var(--radius-medium);
}

.summary-item {
    text-align: center;
}

.summary-label {
    display: block;
    font-size: 0.9rem;
    color: var(--text-secondary);
    margin-bottom: 0.25rem;
}

.summary-value {
    font-weight: 700;
    color: var(--accent-color);
    font-size: 1.2rem;
}

.plants-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.plant-card {
    background: white;
    border-radius: var(--radius-medium);
    padding: 2rem;
    transition: var(--transition-normal);
    border: 2px solid var(--border-color);
}

.plant-card:hover {
    border-color: var(--accent-color);
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
}

.plant-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.plant-icon {
    font-size: 2rem;
    flex-shrink: 0;
}

.plant-info {
    flex: 1;
}

.plant-name {
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0.25rem;
}

.plant-scientific {
    font-style: italic;
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.plant-quantity {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--accent-color);
    background: rgba(var(--accent-rgb), 0.1);
    padding: 0.5rem 1rem;
    border-radius: var(--radius-small);
}

.plant-details {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
    font-size: 0.9rem;
}

.plant-details > div {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-color);
}

.plant-details > div:last-child {
    border-bottom: none;
}

.plant-cost {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    background: var(--bg-secondary);
    border-radius: var(--radius-small);
}

.cost-label {
    font-weight: 500;
    color: var(--text-secondary);
}

.cost-value {
    font-weight: 700;
    color: var(--accent-color);
    font-size: 1.1rem;
}

.improvements-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.improvement-item {
    background: white;
    border-radius: var(--radius-medium);
    padding: 2rem;
    border-left: 4px solid;
}

.improvement-item.priority-high {
    border-left-color: #F44336;
}

.improvement-item.priority-medium {
    border-left-color: #FF9800;
}

.improvement-item.priority-low {
    border-left-color: #4CAF50;
}

.improvement-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.improvement-priority {
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-small);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
}

.priority-high .improvement-priority {
    background: rgba(244, 67, 54, 0.1);
    color: #F44336;
}

.priority-medium .improvement-priority {
    background: rgba(255, 152, 0, 0.1);
    color: #FF9800;
}

.priority-low .improvement-priority {
    background: rgba(76, 175, 80, 0.1);
    color: #4CAF50;
}

.improvement-title {
    font-weight: 600;
    color: var(--primary-color);
}

.improvement-description {
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 1rem;
}

.improvement-impact {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--accent-color);
    background: rgba(var(--accent-rgb), 0.1);
    padding: 0.5rem 1rem;
    border-radius: var(--radius-small);
    display: inline-block;
}

.tips-section {
    padding: 60px 0;
    background: var(--bg-secondary);
}

.tips-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.tip-card {
    background: white;
    border-radius: var(--radius-medium);
    padding: 2rem;
    text-align: center;
    transition: var(--transition-normal);
    box-shadow: var(--shadow-soft);
}

.tip-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-strong);
}

.tip-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.tip-title {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.tip-description {
    color: var(--text-secondary);
    line-height: 1.6;
}

/* Water Analyzer Specific Styles */
.usage-tracking-section {
    padding: 60px 0;
    background: var(--bg-primary);
}

.tracking-container {
    max-width: 1200px;
    margin: 0 auto;
}

.tracking-category {
    background: white;
    border-radius: var(--radius-large);
    padding: 3rem;
    margin-bottom: 3rem;
    box-shadow: var(--shadow-soft);
}

.usage-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.usage-card {
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
    padding: 2rem;
    border: 2px solid var(--border-color);
    transition: var(--transition-normal);
}

.usage-card:hover {
    border-color: var(--accent-color);
    transform: translateY(-2px);
}

.usage-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.usage-icon {
    font-size: 1.5rem;
}

.usage-name {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--primary-color);
}

.usage-inputs {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Water Analysis Results Styles */
.water-analysis-results {
    background: white;
    border-radius: var(--radius-large);
    padding: 3rem;
    box-shadow: var(--shadow-soft);
    margin-bottom: 3rem;
}

.water-analysis-header {
    text-align: center;
    margin-bottom: 3rem;
}

.usage-summary {
    display: flex;
    justify-content: center;
    gap: 3rem;
    margin-top: 2rem;
}

.summary-card {
    text-align: center;
    padding: 2rem;
    border-radius: var(--radius-medium);
    background: var(--bg-secondary);
    min-width: 180px;
}

.summary-card.efficiency-excellent {
    background: linear-gradient(135deg, #4CAF50, #8BC34A);
    color: white;
}

.summary-card.efficiency-good {
    background: linear-gradient(135deg, #8BC34A, #CDDC39);
    color: white;
}

.summary-card.efficiency-fair {
    background: linear-gradient(135deg, #FF9800, #FFC107);
    color: white;
}

.summary-card.efficiency-poor {
    background: linear-gradient(135deg, #F44336, #FF5722);
    color: white;
}

.summary-value {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.summary-label {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.summary-sublabel {
    font-size: 0.85rem;
    opacity: 0.8;
}

.usage-breakdown {
    margin: 3rem 0;
}

.breakdown-chart .breakdown-item {
    margin-bottom: 1.5rem;
}

.breakdown-chart .breakdown-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.breakdown-chart .breakdown-icon {
    font-size: 1.5rem;
    margin-right: 1rem;
}

.breakdown-chart .breakdown-name {
    flex: 1;
    font-weight: 600;
    color: var(--text-primary);
}

.breakdown-chart .breakdown-value {
    font-weight: 600;
    color: var(--accent-color);
}

.breakdown-chart .breakdown-bar {
    height: 12px;
    background: var(--bg-secondary);
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 0.25rem;
}

.breakdown-chart .breakdown-fill {
    height: 100%;
    border-radius: 6px;
    transition: width 1s ease;
}

.breakdown-percentage {
    text-align: right;
    font-size: 0.9rem;
    color: var(--text-secondary);
}

.comparison-chart .comparison-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.comparison-chart .comparison-label {
    width: 120px;
    font-weight: 500;
    color: var(--text-primary);
}

.comparison-chart .comparison-bar {
    flex: 1;
    height: 20px;
    background: var(--bg-secondary);
    border-radius: 10px;
    overflow: hidden;
}

.comparison-chart .bar-fill {
    height: 100%;
    border-radius: 10px;
    transition: width 1s ease;
}

.your-usage .bar-fill {
    background: var(--accent-color);
}

.efficient-usage .bar-fill {
    background: #4CAF50;
}

.average-usage .bar-fill {
    background: #FF9800;
}

.minimum-usage .bar-fill {
    background: #2196F3;
}

.comparison-chart .comparison-value {
    width: 80px;
    text-align: right;
    font-weight: 600;
    color: var(--text-primary);
}

.savings-opportunities {
    margin: 3rem 0;
}

.opportunities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.opportunity-card {
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
    padding: 2rem;
    transition: var(--transition-normal);
}

.opportunity-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
}

.opportunity-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.opportunity-icon {
    font-size: 2rem;
    flex-shrink: 0;
}

.opportunity-info {
    flex: 1;
}

.opportunity-title {
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0.5rem;
}

.opportunity-impact {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-small);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
}

.opportunity-impact.impact-high {
    background: rgba(76, 175, 80, 0.1);
    color: #4CAF50;
}

.opportunity-impact.impact-medium {
    background: rgba(255, 152, 0, 0.1);
    color: #FF9800;
}

.opportunity-impact.impact-low {
    background: rgba(158, 158, 158, 0.1);
    color: #9E9E9E;
}

.opportunity-description {
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 1.5rem;
}

.opportunity-savings {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.savings-item {
    text-align: center;
}

.savings-label {
    display: block;
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin-bottom: 0.25rem;
}

.savings-value {
    font-weight: 600;
    color: var(--accent-color);
}

.environmental-impact {
    margin: 3rem 0;
    padding: 2rem;
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
}

.impact-stats {
    display: flex;
    justify-content: space-around;
    gap: 2rem;
}

.impact-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    text-align: center;
}

.impact-icon {
    font-size: 2.5rem;
}

.impact-info {
    text-align: left;
}

.impact-value {
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--accent-color);
    margin-bottom: 0.25rem;
}

.impact-label {
    font-size: 0.9rem;
    color: var(--text-secondary);
    font-weight: 500;
}

.conservation-tips-section {
    padding: 60px 0;
    background: var(--bg-secondary);
}

/* Green Transportation Planner Specific Styles */
.transport-planning-section {
    padding: 60px 0;
    background: var(--bg-primary);
}

.planning-container {
    max-width: 1200px;
    margin: 0 auto;
}

.planning-category {
    background: white;
    border-radius: var(--radius-large);
    padding: 3rem;
    margin-bottom: 3rem;
    box-shadow: var(--shadow-soft);
}

.routes-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.route-card {
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
    padding: 2rem;
    border: 2px solid var(--border-color);
    transition: var(--transition-normal);
}

.route-card:hover {
    border-color: var(--accent-color);
    transform: translateY(-2px);
}

.route-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.route-icon {
    font-size: 1.5rem;
}

.route-name {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--primary-color);
}

.route-inputs {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.preferences-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 3rem;
}

.preference-group {
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
    padding: 2rem;
}

.preference-title {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 1.5rem;
}

.plan-section {
    text-align: center;
    margin: 3rem 0;
}

.plan-btn {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem 3rem;
    background: linear-gradient(135deg, var(--accent-color) 0%, var(--secondary-color) 100%);
    color: white;
    border: none;
    border-radius: var(--radius-large);
    font-family: var(--font-body);
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-normal);
    box-shadow: var(--shadow-medium);
}

.plan-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-strong);
}

/* Transport Plan Results Styles */
.transport-plan-results {
    background: white;
    border-radius: var(--radius-large);
    padding: 3rem;
    box-shadow: var(--shadow-soft);
    margin-bottom: 3rem;
}

.transport-plan-header {
    text-align: center;
    margin-bottom: 3rem;
}

.plan-summary {
    display: flex;
    justify-content: center;
    gap: 3rem;
    margin-top: 2rem;
}

.summary-card.eco-score-excellent {
    background: linear-gradient(135deg, #4CAF50, #8BC34A);
    color: white;
}

.summary-card.eco-score-good {
    background: linear-gradient(135deg, #8BC34A, #CDDC39);
    color: white;
}

.summary-card.eco-score-fair {
    background: linear-gradient(135deg, #FF9800, #FFC107);
    color: white;
}

.summary-card.eco-score-poor {
    background: linear-gradient(135deg, #F44336, #FF5722);
    color: white;
}

.current-analysis {
    margin: 3rem 0;
}

.analysis-breakdown {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.breakdown-item {
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
    padding: 2rem;
    transition: var(--transition-normal);
}

.breakdown-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
}

.breakdown-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.breakdown-icon {
    font-size: 1.5rem;
    margin-right: 1rem;
}

.breakdown-name {
    flex: 1;
    font-weight: 600;
    color: var(--primary-color);
}

.breakdown-emissions {
    font-weight: 700;
    color: var(--accent-color);
    font-size: 1.1rem;
}

.breakdown-details {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
}

.detail-item {
    display: flex;
    justify-content: space-between;
    flex: 1;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-color);
}

.recommendations-section {
    margin: 3rem 0;
}

.recommendations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.recommendation-card {
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
    padding: 2rem;
    border: 2px solid var(--border-color);
    transition: var(--transition-normal);
}

.recommendation-card.improvement {
    border-color: var(--accent-color);
    background: rgba(var(--accent-rgb), 0.05);
}

.recommendation-card.current-optimal {
    border-color: #4CAF50;
    background: rgba(76, 175, 80, 0.05);
}

.recommendation-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
}

.recommendation-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.recommendation-icon {
    font-size: 1.5rem;
    margin-right: 1rem;
}

.recommendation-title {
    font-weight: 600;
    color: var(--primary-color);
    flex: 1;
}

.improvement-badge {
    background: var(--accent-color);
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-small);
    font-size: 0.8rem;
    font-weight: 600;
}

.optimal-badge {
    background: #4CAF50;
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-small);
    font-size: 0.8rem;
    font-weight: 600;
}

.recommendation-content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.current-mode,
.recommended-mode {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    background: white;
    border-radius: var(--radius-small);
}

.mode-label {
    font-weight: 500;
    color: var(--text-secondary);
}

.mode-value {
    font-weight: 600;
    color: var(--primary-color);
}

.recommendation-benefits {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.benefit-item {
    text-align: center;
    flex: 1;
}

.benefit-label {
    display: block;
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin-bottom: 0.25rem;
}

.benefit-value {
    font-weight: 600;
    color: var(--accent-color);
}

.potential-savings {
    margin: 3rem 0;
    padding: 2rem;
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
}

.savings-stats {
    display: flex;
    justify-content: space-around;
    gap: 2rem;
}

.savings-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    text-align: center;
}

.savings-icon {
    font-size: 2.5rem;
}

.savings-info {
    text-align: left;
}

.savings-value {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--accent-color);
    margin-bottom: 0.25rem;
}

.savings-label {
    font-size: 1rem;
    color: var(--text-primary);
    font-weight: 500;
    margin-bottom: 0.25rem;
}

.savings-sublabel {
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.implementation-guide {
    margin: 3rem 0;
}

.implementation-steps {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.implementation-step {
    display: flex;
    gap: 2rem;
    background: white;
    border-radius: var(--radius-medium);
    padding: 2rem;
    box-shadow: var(--shadow-soft);
}

.step-number {
    width: 50px;
    height: 50px;
    background: var(--accent-color);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.2rem;
    flex-shrink: 0;
}

.step-content {
    flex: 1;
}

.step-title {
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0.5rem;
}

.step-description {
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 1rem;
}

.step-timeline {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.timeline-label {
    font-weight: 500;
    color: var(--text-secondary);
}

.timeline-value {
    font-weight: 600;
    color: var(--accent-color);
    background: rgba(var(--accent-rgb), 0.1);
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-small);
}

.no-steps {
    text-align: center;
    color: var(--text-secondary);
    font-style: italic;
    padding: 2rem;
    background: rgba(76, 175, 80, 0.1);
    border-radius: var(--radius-medium);
    border: 2px solid #4CAF50;
}

.green-tips-section {
    padding: 60px 0;
    background: var(--bg-secondary);
}

/* Virtual Forest Planting Tool Specific Styles */
.forest-canvas-section {
    padding: 60px 0;
    background: var(--bg-primary);
}

.forest-container {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(300px, 350px) 1fr;
    gap: 3rem;
    align-items: start;
}

.forest-controls {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.control-panel,
.forest-info {
    background: white;
    border-radius: var(--radius-large);
    padding: 2rem;
    box-shadow: var(--shadow-soft);
}

.panel-title {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.tree-selector,
.planting-mode {
    margin-bottom: 1.5rem;
}

.tree-selector label,
.planting-mode label {
    display: block;
    font-weight: 500;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
}

.tree-selector select,
.planting-mode select {
    width: 100%;
    padding: 0.75rem;
    border: 2px solid var(--border-color);
    border-radius: var(--radius-medium);
    font-family: var(--font-body);
    font-size: 1rem;
    background: white;
    transition: var(--transition-normal);
}

.tree-selector select:focus,
.planting-mode select:focus {
    outline: none;
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.1);
}

.plant-btn,
.clear-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border: none;
    border-radius: var(--radius-medium);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-normal);
    margin-bottom: 1rem;
}

.plant-btn {
    background: linear-gradient(135deg, var(--accent-color) 0%, var(--secondary-color) 100%);
    color: white;
    box-shadow: var(--shadow-medium);
}

.plant-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-strong);
}

.clear-btn {
    background: #f44336;
    color: white;
}

.clear-btn:hover {
    background: #d32f2f;
    transform: translateY(-2px);
}

.btn-icon {
    font-size: 1.2rem;
}

.impact-stats {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.impact-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
    transition: var(--transition-normal);
}

.impact-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
}

.impact-icon {
    font-size: 1.5rem;
    width: 40px;
    text-align: center;
}

.impact-details {
    flex: 1;
}

.impact-value {
    display: block;
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--accent-color);
    margin-bottom: 0.25rem;
}

.impact-label {
    font-size: 0.9rem;
    color: var(--text-secondary);
}

.forest-canvas-container {
    background: white;
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}

.canvas-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 2rem;
    background: var(--bg-secondary);
    border-bottom: 2px solid var(--border-color);
}

.canvas-title {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--primary-color);
}

.canvas-tools {
    display: flex;
    gap: 0.5rem;
}

.tool-btn {
    padding: 0.5rem 0.75rem;
    background: var(--accent-color);
    color: white;
    border: none;
    border-radius: var(--radius-small);
    font-size: 0.9rem;
    cursor: pointer;
    transition: var(--transition-normal);
}

.tool-btn:hover {
    background: var(--secondary-color);
    transform: translateY(-1px);
}

.forest-canvas {
    position: relative;
    width: 100%;
    height: 600px;
    background: linear-gradient(135deg, #e8f5e8 0%, #f0f8f0 100%);
    overflow: hidden;
    cursor: crosshair;
}

.canvas-grid {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.3;
    pointer-events: none;
}

.grid-line {
    position: absolute;
    background: #d0d0d0;
}

.grid-line.vertical {
    width: 1px;
    height: 100%;
}

.grid-line.horizontal {
    width: 100%;
    height: 1px;
}

.canvas-content {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.3s ease;
}

.canvas-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.9);
    z-index: 10;
}

.welcome-message {
    text-align: center;
    padding: 2rem;
    background: white;
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-soft);
    border: 2px dashed var(--accent-color);
}

.welcome-message h4 {
    font-family: var(--font-heading);
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.welcome-message p {
    color: var(--text-secondary);
    margin-bottom: 0.5rem;
}

.forest-tree {
    position: absolute;
    cursor: pointer;
    transition: transform 0.3s ease;
    z-index: 5;
}

.forest-tree:hover {
    transform: scale(1.1) !important;
    z-index: 15;
}

.tree-trunk {
    width: 8px;
    height: 20px;
    background: #8B4513;
    border-radius: 4px;
    margin: 0 auto 5px;
}

.tree-crown {
    text-align: center;
    font-size: 2rem;
    line-height: 1;
    filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.2));
}

.tree-info {
    position: absolute;
    top: -80px;
    left: 50%;
    transform: translateX(-50%);
    display: none;
    z-index: 20;
}

.tree-tooltip {
    background: rgba(0, 0, 0, 0.9);
    color: white;
    padding: 0.75rem;
    border-radius: var(--radius-medium);
    font-size: 0.8rem;
    white-space: nowrap;
    box-shadow: var(--shadow-strong);
}

.tree-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: rgba(0, 0, 0, 0.9);
}

/* Tree Information Section */
.tree-info-section {
    padding: 60px 0;
    background: var(--bg-secondary);
}

.tree-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.tree-card {
    background: white;
    border-radius: var(--radius-large);
    padding: 2rem;
    box-shadow: var(--shadow-soft);
    transition: var(--transition-normal);
    cursor: pointer;
    border: 2px solid transparent;
}

.tree-card:hover,
.tree-card.selected {
    transform: translateY(-5px);
    box-shadow: var(--shadow-strong);
    border-color: var(--accent-color);
}

.tree-card-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.tree-emoji {
    font-size: 2rem;
}

.tree-name {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--primary-color);
}

.tree-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.stat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem;
    background: var(--bg-secondary);
    border-radius: var(--radius-small);
}

.stat-label {
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.stat-value {
    font-weight: 600;
    color: var(--accent-color);
}

.tree-description {
    color: var(--text-secondary);
    line-height: 1.5;
    font-size: 0.9rem;
}

/* Forest Statistics Section */
.forest-stats-section {
    padding: 60px 0;
    background: var(--bg-primary);
}

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

.stat-card {
    background: white;
    border-radius: var(--radius-large);
    padding: 2rem;
    box-shadow: var(--shadow-soft);
    text-align: center;
    transition: var(--transition-normal);
}

.stat-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-strong);
}

.stat-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.stat-content .stat-number {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--accent-color);
    margin-bottom: 0.5rem;
    display: block;
}

.stat-content .stat-label {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0.5rem;
}

.stat-description {
    font-size: 0.9rem;
    color: var(--text-secondary);
    line-height: 1.4;
}

/* Education Tips Section */
.education-tips-section {
    padding: 60px 0;
    background: var(--bg-secondary);
}

.tips-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.tip-card {
    background: white;
    border-radius: var(--radius-large);
    padding: 2rem;
    box-shadow: var(--shadow-soft);
    text-align: center;
    transition: var(--transition-normal);
}

.tip-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-strong);
}

.tip-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.tip-title {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.tip-description {
    color: var(--text-secondary);
    line-height: 1.5;
}

/* Tree Detail Modal */
.tree-detail-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.modal-content {
    background: white;
    border-radius: var(--radius-large);
    max-width: 500px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: var(--shadow-strong);
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2rem 2rem 1rem;
    border-bottom: 2px solid var(--border-color);
}

.modal-header h3 {
    font-family: var(--font-heading);
    color: var(--primary-color);
    margin: 0;
}

.modal-close {
    background: none;
    border: none;
    font-size: 2rem;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: var(--transition-normal);
}

.modal-close:hover {
    background: var(--bg-secondary);
    color: var(--primary-color);
}

.modal-body {
    padding: 2rem;
}

.tree-detail-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 2rem;
}

.detail-stat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
}

.tree-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
}

.action-btn {
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: var(--radius-medium);
    font-family: var(--font-body);
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-normal);
}

.water-btn {
    background: #2196F3;
    color: white;
}

.water-btn:hover {
    background: #1976D2;
}

.fertilize-btn {
    background: #4CAF50;
    color: white;
}

.fertilize-btn:hover {
    background: #388E3C;
}

.remove-btn {
    background: #f44336;
    color: white;
}

.remove-btn:hover {
    background: #d32f2f;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .forest-container {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .forest-controls {
        flex-direction: row;
        gap: 1rem;
    }

    .control-panel,
    .forest-info {
        flex: 1;
    }
}

@media (max-width: 900px) {
    .forest-container {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

@media (max-width: 768px) {
    .forest-controls {
        flex-direction: column;
    }

    .forest-canvas {
        height: 400px;
    }

    .tree-cards-grid {
        grid-template-columns: 1fr;
    }

    .stats-dashboard {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }

    .tips-grid {
        grid-template-columns: 1fr;
    }
}

/* Renewable Energy Calculator Specific Styles */
.location-property-section {
    padding: 60px 0;
    background: var(--bg-secondary);
}

.property-form {
    max-width: 800px;
    margin: 0 auto;
    background: white;
    border-radius: var(--radius-large);
    padding: 3rem;
    box-shadow: var(--shadow-soft);
    width: 100%;
    box-sizing: border-box;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-bottom: 2rem;
}

.form-group {
    display: flex;
    flex-direction: column;
}

.form-group label {
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0.5rem;
}

.form-group input,
.form-group select {
    padding: 0.75rem;
    border: 2px solid var(--border-color);
    border-radius: var(--radius-medium);
    font-family: var(--font-body);
    font-size: 1rem;
    transition: var(--transition-normal);
}

.form-group input:focus,
.form-group select:focus {
    outline: none;
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.1);
}

.form-help {
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin-top: 0.25rem;
}

.solar-energy-section,
.wind-energy-section,
.hydro-energy-section {
    padding: 60px 0;
    background: var(--bg-primary);
}

.wind-energy-section {
    background: var(--bg-secondary);
}

.energy-type-header {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-bottom: 3rem;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.energy-icon {
    font-size: 4rem;
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
    border-radius: 50%;
    box-shadow: var(--shadow-soft);
}

.energy-info {
    flex: 1;
}

.energy-title {
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 0.5rem;
}

.energy-description {
    font-size: 1.1rem;
    color: var(--text-secondary);
    line-height: 1.5;
}

.solar-configuration,
.wind-configuration,
.hydro-configuration {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
}

.config-section {
    background: white;
    border-radius: var(--radius-large);
    padding: 2.5rem;
    box-shadow: var(--shadow-soft);
}

.config-title {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 2rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--border-color);
}

.calculate-section {
    padding: 60px 0;
    background: var(--bg-secondary);
    text-align: center;
}

.calculate-container {
    max-width: 600px;
    margin: 0 auto;
}

.calculate-btn {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem 3rem;
    background: linear-gradient(135deg, var(--accent-color) 0%, var(--secondary-color) 100%);
    color: white;
    border: none;
    border-radius: var(--radius-large);
    font-family: var(--font-body);
    font-size: 1.2rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-normal);
    box-shadow: var(--shadow-medium);
    margin-bottom: 1rem;
}

.calculate-btn:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-strong);
}

.calculate-description {
    color: var(--text-secondary);
    font-size: 1rem;
    line-height: 1.5;
}

.results-section {
    padding: 60px 0;
    background: var(--bg-primary);
}

/* Energy Results Styles */
.energy-results-header {
    text-align: center;
    margin-bottom: 3rem;
}

.results-summary {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-top: 2rem;
    flex-wrap: wrap;
}

.energy-systems-analysis {
    margin: 3rem 0;
}

.systems-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.system-card {
    background: white;
    border-radius: var(--radius-large);
    padding: 2rem;
    box-shadow: var(--shadow-soft);
    transition: var(--transition-normal);
}

.system-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-strong);
}

.system-card.not-viable {
    background: #fafafa;
    border: 2px solid #e0e0e0;
}

.system-card.viable {
    border: 2px solid var(--accent-color);
}

.system-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--border-color);
}

.system-icon {
    font-size: 2rem;
    margin-right: 1rem;
}

.system-name {
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--primary-color);
    flex: 1;
}

.viability-badge {
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-small);
    font-size: 0.8rem;
    font-weight: 600;
}

.viability-badge.viable {
    background: #4CAF50;
    color: white;
}

.viability-badge.not-viable {
    background: #f44336;
    color: white;
}

.system-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.metric-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
}

.metric-label {
    font-size: 0.9rem;
    color: var(--text-secondary);
}

.metric-value {
    font-weight: 600;
    color: var(--accent-color);
}

.not-viable-reason {
    color: var(--text-secondary);
    font-style: italic;
    text-align: center;
    padding: 2rem;
}

.recommendation-section {
    margin: 3rem 0;
    padding: 2rem;
    background: var(--bg-secondary);
    border-radius: var(--radius-large);
}

.recommendation-card {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    background: white;
    border-radius: var(--radius-large);
    padding: 2rem;
    box-shadow: var(--shadow-soft);
}

.recommendation-card.recommended {
    border: 2px solid #4CAF50;
    background: rgba(76, 175, 80, 0.05);
}

.recommendation-card.no-recommendation {
    border: 2px solid #f44336;
    background: rgba(244, 67, 54, 0.05);
}

.recommendation-icon {
    font-size: 3rem;
    flex-shrink: 0;
}

.recommendation-text h4 {
    font-family: var(--font-heading);
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.recommendation-highlights {
    display: flex;
    gap: 2rem;
    margin-top: 1rem;
}

.highlight-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.highlight-label {
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin-bottom: 0.25rem;
}

.highlight-value {
    font-weight: 700;
    color: var(--accent-color);
    font-size: 1.1rem;
}

.improvement-suggestions h5 {
    color: var(--primary-color);
    margin: 1rem 0 0.5rem;
}

.improvement-suggestions ul {
    color: var(--text-secondary);
    padding-left: 1.5rem;
}

.improvement-suggestions li {
    margin-bottom: 0.5rem;
}

.financial-analysis,
.environmental-impact {
    margin: 3rem 0;
}

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

.financial-metric,
.environmental-metric {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    background: white;
    border-radius: var(--radius-large);
    padding: 2rem;
    box-shadow: var(--shadow-soft);
    transition: var(--transition-normal);
}

.financial-metric:hover,
.environmental-metric:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-strong);
}

.financial-metric .metric-icon,
.environmental-metric .metric-icon {
    font-size: 2.5rem;
    width: 60px;
    text-align: center;
}

.financial-metric .metric-value,
.environmental-metric .metric-value {
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--accent-color);
    margin-bottom: 0.25rem;
}

.financial-metric .metric-label,
.environmental-metric .metric-label {
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.implementation-timeline {
    margin: 3rem 0;
}

.timeline-steps {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.timeline-step {
    display: flex;
    gap: 2rem;
    background: white;
    border-radius: var(--radius-large);
    padding: 2rem;
    box-shadow: var(--shadow-soft);
}

.step-number {
    width: 50px;
    height: 50px;
    background: var(--accent-color);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.2rem;
    flex-shrink: 0;
}

.step-content {
    flex: 1;
}

.step-title {
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0.5rem;
}

.step-duration {
    font-weight: 600;
    color: var(--accent-color);
    background: rgba(var(--accent-rgb), 0.1);
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-small);
    display: inline-block;
    margin-bottom: 0.5rem;
}

.step-description {
    color: var(--text-secondary);
    line-height: 1.5;
}

.timeline-total {
    text-align: center;
    margin-top: 2rem;
    padding: 1rem;
    background: rgba(var(--accent-rgb), 0.1);
    border-radius: var(--radius-medium);
    color: var(--primary-color);
}

.no-timeline {
    text-align: center;
    color: var(--text-secondary);
    font-style: italic;
    padding: 2rem;
}

/* Responsive Design for Renewable Energy */
@media (max-width: 1200px) {
    .solar-configuration,
    .wind-configuration,
    .hydro-configuration {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .energy-type-header {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }

    .systems-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .form-row {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .results-summary {
        flex-direction: column;
        align-items: center;
    }

    .recommendation-card {
        flex-direction: column;
        text-align: center;
    }

    .property-form {
        padding: 2rem;
        margin: 0 1rem;
    }
}

/* Additional responsive fixes for forms */
@media (max-width: 375px) {
    .property-form {
        padding: 1.5rem;
        margin: 0 0.75rem;
        max-width: calc(100vw - 1.5rem);
    }

    .form-row {
        gap: 0.75rem;
    }
}

@media (max-width: 320px) {
    .property-form {
        padding: 1rem;
        margin: 0 0.5rem;
        max-width: calc(100vw - 1rem);
    }

    .form-row {
        gap: 0.5rem;
    }

    .recommendation-highlights {
        justify-content: center;
    }

    .financial-grid,
    .environmental-grid {
        grid-template-columns: 1fr;
    }

    .timeline-step {
        flex-direction: column;
        text-align: center;
    }
}

/* Eco Knowledge Quiz Specific Styles */
.quiz-categories-section {
    padding: 60px 0;
    background: var(--bg-secondary);
}

.categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.category-card {
    background: white;
    border-radius: var(--radius-large);
    padding: 2.5rem;
    box-shadow: var(--shadow-soft);
    text-align: center;
    transition: var(--transition-normal);
    cursor: pointer;
    border: 2px solid transparent;
}

.category-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-strong);
    border-color: var(--accent-color);
}

.category-icon {
    font-size: 4rem;
    margin-bottom: 1.5rem;
}

.category-title {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.category-description {
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 1.5rem;
}

.category-stats {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 2rem;
}

.category-stats .stat {
    background: var(--bg-secondary);
    padding: 0.5rem 1rem;
    border-radius: var(--radius-small);
    font-size: 0.85rem;
    color: var(--text-secondary);
    font-weight: 500;
}

.category-btn {
    background: linear-gradient(135deg, var(--accent-color) 0%, var(--secondary-color) 100%);
    color: white;
    border: none;
    padding: 1rem 2rem;
    border-radius: var(--radius-medium);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-normal);
    box-shadow: var(--shadow-medium);
}

.category-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-strong);
}

/* Quiz Interface Styles */
.quiz-interface-section {
    padding: 60px 0;
    background: var(--bg-primary);
    min-height: 80vh;
}

.quiz-container {
    max-width: 800px;
    margin: 0 auto;
    background: white;
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}

.quiz-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2rem;
    background: var(--bg-secondary);
    border-bottom: 2px solid var(--border-color);
}

.quiz-progress {
    flex: 1;
    max-width: 400px;
}

.progress-bar {
    width: 100%;
    height: 8px;
    background: #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 0.5rem;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--accent-color) 0%, var(--secondary-color) 100%);
    transition: width 0.3s ease;
    width: 0%;
}

.progress-text {
    font-size: 0.9rem;
    color: var(--text-secondary);
    text-align: center;
}

.quiz-controls {
    display: flex;
    gap: 1rem;
}

.control-btn {
    padding: 0.5rem 1rem;
    background: var(--bg-primary);
    border: 2px solid var(--border-color);
    border-radius: var(--radius-medium);
    font-size: 0.9rem;
    cursor: pointer;
    transition: var(--transition-normal);
}

.control-btn:hover {
    background: var(--accent-color);
    color: white;
    border-color: var(--accent-color);
}

.quiz-content {
    padding: 3rem;
}

.question-container {
    margin-bottom: 3rem;
}

.question-category {
    display: inline-block;
    background: rgba(var(--accent-rgb), 0.1);
    color: var(--accent-color);
    padding: 0.5rem 1rem;
    border-radius: var(--radius-small);
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.question-text {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--primary-color);
    line-height: 1.4;
    margin-bottom: 1.5rem;
}

.question-image {
    text-align: center;
    margin: 1.5rem 0;
}

.question-image img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-soft);
}

.answers-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 3rem;
}

.answer-option {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    background: var(--bg-secondary);
    border: 2px solid var(--border-color);
    border-radius: var(--radius-medium);
    cursor: pointer;
    transition: var(--transition-normal);
}

.answer-option:hover {
    background: rgba(var(--accent-rgb), 0.05);
    border-color: var(--accent-color);
}

.answer-option.selected {
    background: rgba(var(--accent-rgb), 0.1);
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.1);
}

.answer-option.correct {
    background: rgba(76, 175, 80, 0.1);
    border-color: #4CAF50;
    color: #2E7D32;
}

.answer-option.incorrect {
    background: rgba(244, 67, 54, 0.1);
    border-color: #f44336;
    color: #C62828;
}

.option-letter {
    width: 40px;
    height: 40px;
    background: var(--accent-color);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.answer-option.correct .option-letter {
    background: #4CAF50;
}

.answer-option.incorrect .option-letter {
    background: #f44336;
}

.option-text {
    flex: 1;
    font-size: 1rem;
    line-height: 1.4;
}

.quiz-actions {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.submit-btn,
.next-btn {
    padding: 1rem 2rem;
    border: none;
    border-radius: var(--radius-medium);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-normal);
}

.submit-btn {
    background: linear-gradient(135deg, var(--accent-color) 0%, var(--secondary-color) 100%);
    color: white;
    box-shadow: var(--shadow-medium);
}

.submit-btn:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: var(--shadow-strong);
}

.submit-btn:disabled {
    background: #ccc;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.next-btn {
    background: #4CAF50;
    color: white;
}

.next-btn:hover {
    background: #45a049;
    transform: translateY(-2px);
}

.answer-feedback {
    margin-top: 2rem;
    padding: 2rem;
    background: var(--bg-secondary);
    border-radius: var(--radius-medium);
    border-left: 4px solid var(--accent-color);
}

.feedback-content {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
}

.feedback-icon {
    font-size: 2rem;
    flex-shrink: 0;
}

.feedback-title {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.feedback-explanation {
    color: var(--text-secondary);
    line-height: 1.5;
}

/* Quiz Results Styles */
.quiz-results-section {
    padding: 60px 0;
    background: var(--bg-primary);
}

.results-container {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.results-header {
    margin-bottom: 3rem;
}

.results-icon {
    font-size: 5rem;
    margin-bottom: 1rem;
}

.results-title {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 0.5rem;
}

.results-subtitle {
    font-size: 1.1rem;
    color: var(--text-secondary);
}

.results-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.results-analysis {
    background: white;
    border-radius: var(--radius-large);
    padding: 2.5rem;
    box-shadow: var(--shadow-soft);
    margin-bottom: 3rem;
    text-align: left;
}

.analysis-title {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 2rem;
    text-align: center;
}

.analysis-summary,
.analysis-breakdown,
.analysis-recommendations {
    margin-bottom: 2rem;
}

.analysis-summary h4,
.analysis-breakdown h4,
.analysis-recommendations h4 {
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.question-results {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.question-result {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border-radius: var(--radius-medium);
    border: 2px solid var(--border-color);
}

.question-result.correct {
    background: rgba(76, 175, 80, 0.05);
    border-color: #4CAF50;
}

.question-result.incorrect {
    background: rgba(244, 67, 54, 0.05);
    border-color: #f44336;
}

.question-number {
    width: 30px;
    height: 30px;
    background: var(--accent-color);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 0.9rem;
}

.question-status {
    font-size: 1.2rem;
}

.question-summary {
    flex: 1;
}

.question-text {
    font-weight: 500;
    margin-bottom: 0.25rem;
}

.correct-answer {
    font-size: 0.85rem;
    color: var(--text-secondary);
    font-style: italic;
}

.analysis-recommendations ul {
    padding-left: 1.5rem;
}

.analysis-recommendations li {
    margin-bottom: 0.5rem;
    color: var(--text-secondary);
}

.results-actions {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.action-btn {
    padding: 1rem 2rem;
    border: none;
    border-radius: var(--radius-medium);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-normal);
}

.action-btn.primary {
    background: linear-gradient(135deg, var(--accent-color) 0%, var(--secondary-color) 100%);
    color: white;
    box-shadow: var(--shadow-medium);
}

.action-btn.primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-strong);
}

.action-btn.secondary {
    background: white;
    color: var(--accent-color);
    border: 2px solid var(--accent-color);
}

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

.action-btn.tertiary {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border: 2px solid var(--border-color);
}

.action-btn.tertiary:hover {
    background: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
}

/* Learning Resources Styles */
.learning-resources-section {
    padding: 60px 0;
    background: var(--bg-secondary);
}

.resources-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    max-width: 1000px;
    margin: 0 auto;
}

.resource-card {
    background: white;
    border-radius: var(--radius-large);
    padding: 2rem;
    text-align: center;
    box-shadow: var(--shadow-soft);
    transition: var(--transition-normal);
}

.resource-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-strong);
}

.resource-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.resource-title {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.resource-description {
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 1.5rem;
}

.resource-link {
    display: inline-block;
    color: var(--accent-color);
    text-decoration: none;
    font-weight: 600;
    padding: 0.5rem 1rem;
    border: 2px solid var(--accent-color);
    border-radius: var(--radius-medium);
    transition: var(--transition-normal);
}

.resource-link:hover {
    background: var(--accent-color);
    color: white;
}

/* Leaderboard Styles */
.leaderboard-section {
    padding: 60px 0;
    background: var(--bg-primary);
}

.leaderboard-container {
    max-width: 800px;
    margin: 0 auto;
    background: white;
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}

.leaderboard-header {
    padding: 2rem;
    background: var(--bg-secondary);
    border-bottom: 2px solid var(--border-color);
}

.leaderboard-tabs {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
}

.tab-btn {
    padding: 0.75rem 1.5rem;
    background: transparent;
    border: 2px solid var(--border-color);
    border-radius: var(--radius-medium);
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition-normal);
    color: var(--text-secondary);
}

.tab-btn:hover {
    border-color: var(--accent-color);
    color: var(--accent-color);
}

.tab-btn.active {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: white;
}

.leaderboard-list {
    padding: 2rem;
}

.leaderboard-item {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem;
    border-radius: var(--radius-medium);
    margin-bottom: 1rem;
    background: var(--bg-secondary);
    transition: var(--transition-normal);
}

.leaderboard-item:hover {
    background: rgba(var(--accent-rgb), 0.05);
    transform: translateX(5px);
}

.leaderboard-item:last-child {
    margin-bottom: 0;
}

.rank {
    width: 40px;
    height: 40px;
    background: var(--accent-color);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.leaderboard-item:first-child .rank {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
}

.leaderboard-item:nth-child(2) .rank {
    background: linear-gradient(135deg, #C0C0C0 0%, #A0A0A0 100%);
}

.leaderboard-item:nth-child(3) .rank {
    background: linear-gradient(135deg, #CD7F32 0%, #B8860B 100%);
}

.player-info {
    flex: 1;
}

.player-name {
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0.25rem;
}

.player-stats {
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.player-score {
    font-weight: 700;
    color: var(--accent-color);
    font-size: 1.1rem;
}

/* Responsive Design for Quiz */
@media (max-width: 1200px) {
    .categories-grid {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }
}

@media (max-width: 768px) {
    .quiz-header {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }

    .quiz-controls {
        justify-content: center;
    }

    .quiz-content {
        padding: 2rem;
    }

    .question-text {
        font-size: 1.1rem;
    }

    .answer-option {
        padding: 1rem;
    }

    .option-letter {
        width: 35px;
        height: 35px;
        font-size: 1rem;
    }

    .results-stats {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }

    .results-actions {
        flex-direction: column;
        align-items: center;
    }

    .action-btn {
        width: 100%;
        max-width: 300px;
    }

    .resources-grid {
        grid-template-columns: 1fr;
    }

    .leaderboard-tabs {
        flex-wrap: wrap;
        gap: 0.25rem;
    }

    .tab-btn {
        padding: 0.5rem 1rem;
        font-size: 0.8rem;
    }

    .leaderboard-item {
        padding: 1rem;
        gap: 1rem;
    }

    .rank {
        width: 35px;
        height: 35px;
        font-size: 1rem;
    }

    .player-score {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .categories-grid {
        grid-template-columns: 1fr;
    }

    .category-card {
        padding: 2rem;
    }

    .category-icon {
        font-size: 3rem;
    }

    .quiz-content {
        padding: 1.5rem;
    }

    .feedback-content {
        flex-direction: column;
        text-align: center;
    }

    .results-analysis {
        padding: 2rem;
    }

    .question-result {
        flex-direction: column;
        text-align: center;
        gap: 0.5rem;
    }
}
