/**
 * Grandmaw's Almanac Styles
 */

/* Base Calendar Styles */
.gma-calendar {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.gma-calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #e8e8e8;
}

.gma-calendar-header h2 {
    margin: 0;
    font-size: 1.8em;
    color: #2c5530;
}

.gma-nav-btn {
    background: #2c5530;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 14px;
    transition: background 0.3s;
}

.gma-nav-btn:hover {
    background: #3d7a45;
}

/* Legend */
.gma-calendar-legend {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.gma-legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.gma-rating-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
}

/* Rating Colors */
.gma-best, .gma-rating-dot.gma-best {
    background-color: #2e7d32;
}

.gma-good, .gma-rating-dot.gma-good {
    background-color: #689f38;
}

.gma-fair, .gma-rating-dot.gma-fair {
    background-color: #fbc02d;
}

.gma-poor, .gma-rating-dot.gma-poor {
    background-color: #d32f2f;
}

/* Calendar Grid */
.gma-calendar-grid {
    margin-bottom: 30px;
}

.gma-calendar-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
    margin-bottom: 10px;
}

.gma-calendar-weekdays span {
    text-align: center;
    font-weight: bold;
    color: #555;
    padding: 10px 0;
    background: #f5f5f5;
    border-radius: 4px;
}

.gma-calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
}

.gma-day {
    min-height: 90px;
    padding: 8px;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s;
    cursor: pointer;
}

.gma-day:hover {
    transform: scale(1.02);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.gma-day.gma-empty {
    background: #f9f9f9;
    cursor: default;
}

.gma-day.gma-empty:hover {
    transform: none;
    box-shadow: none;
}

.gma-day.gma-today {
    border: 3px solid #1976d2;
}

/* Fishing Calendar Day Colors */
.gma-fishing-calendar .gma-day.gma-best {
    background: linear-gradient(135deg, #c8e6c9, #a5d6a7);
    color: #1b5e20;
}

.gma-fishing-calendar .gma-day.gma-good {
    background: linear-gradient(135deg, #dcedc8, #c5e1a5);
    color: #33691e;
}

.gma-fishing-calendar .gma-day.gma-fair {
    background: linear-gradient(135deg, #fff9c4, #fff59d);
    color: #f57f17;
}

.gma-fishing-calendar .gma-day.gma-poor {
    background: linear-gradient(135deg, #ffcdd2, #ef9a9a);
    color: #b71c1c;
}

.gma-day-number {
    font-weight: bold;
    font-size: 1.2em;
    margin-bottom: 4px;
}

.gma-day-rating {
    font-size: 0.85em;
    font-weight: 600;
    text-transform: uppercase;
}

.gma-day-time {
    font-size: 0.8em;
    opacity: 0.8;
    margin-top: 2px;
}

.gma-day-phase {
    font-size: 1.2em;
    margin-top: auto;
}

/* Tips Section */
.gma-fishing-tips {
    background: #f5f5f5;
    padding: 20px;
    border-radius: 8px;
    margin-top: 20px;
}

.gma-fishing-tips h3 {
    color: #2c5530;
    margin-top: 0;
    margin-bottom: 15px;
}

.gma-fishing-tips ul {
    margin: 0;
    padding-left: 20px;
}

.gma-fishing-tips li {
    margin-bottom: 8px;
    line-height: 1.5;
}

/* Zone Selector */
.gma-zone-selector-wrap {
    background: #e8f5e9;
    padding: 15px 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.gma-zone-selector-wrap label {
    font-weight: bold;
    color: #2c5530;
    margin-right: 10px;
}

.gma-zone-selector {
    padding: 8px 12px;
    font-size: 14px;
    border: 2px solid #2c5530;
    border-radius: 5px;
    background: #fff;
}

.gma-zone-description {
    margin: 10px 0 0;
    font-size: 14px;
    color: #555;
    font-style: italic;
}

/* Frost Dates */
.gma-frost-dates {
    background: #fff3e0;
    padding: 15px 20px;
    border-radius: 8px;
    margin-bottom: 20px;
    border-left: 4px solid #ff9800;
}

.gma-frost-dates h3 {
    margin: 0 0 10px;
    color: #e65100;
}

.gma-frost-dates p {
    margin: 5px 0;
}

/* Planting Section */
.gma-planting-section {
    margin-bottom: 25px;
}

.gma-planting-section h3 {
    color: #2c5530;
    border-bottom: 2px solid #2c5530;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.gma-planting-category {
    background: #f9f9f9;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 15px;
}

.gma-planting-category h4 {
    margin: 0 0 10px;
    color: #333;
    font-size: 1.1em;
}

.gma-planting-category ul {
    margin: 0;
    padding-left: 20px;
    columns: 2;
}

.gma-planting-category li {
    margin-bottom: 5px;
}

/* Moon Planting */
.gma-moon-planting {
    background: #e3f2fd;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 25px;
}

.gma-moon-planting h3 {
    margin: 0 0 15px;
    color: #1565c0;
}

.gma-moon-category {
    background: #fff;
    padding: 12px 15px;
    border-radius: 6px;
    margin-bottom: 10px;
}

.gma-moon-category h4 {
    margin: 0 0 8px;
    font-size: 1em;
    color: #333;
}

.gma-best-days {
    font-size: 1.1em;
    font-weight: 600;
    color: #2e7d32;
    margin: 0;
}

.gma-moon-category.gma-avoid {
    background: #ffebee;
}

.gma-avoid-days {
    font-size: 1.1em;
    font-weight: 600;
    color: #c62828;
    margin: 0;
}

/* Pest Warnings */
.gma-pest-warnings {
    background: #fff8e1;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 25px;
    border-left: 4px solid #ffa000;
}

.gma-pest-warnings h3 {
    margin: 0 0 15px;
    color: #ff6f00;
}

.gma-pest-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 15px;
}

.gma-pest-item {
    background: #fff;
    padding: 12px 15px;
    border-radius: 6px;
    border-left: 3px solid #ffa000;
}

.gma-pest-item h4 {
    margin: 0 0 8px;
    color: #e65100;
    font-size: 1em;
}

.gma-pest-item p {
    margin: 0;
    font-size: 0.9em;
    line-height: 1.4;
    color: #555;
}

/* Crop Tips */
.gma-crop-tips {
    background: #e8f5e9;
    padding: 20px;
    border-radius: 8px;
}

.gma-crop-tips h3 {
    margin: 0 0 15px;
    color: #2e7d32;
}

.gma-crop-tips ul {
    margin: 0;
    padding-left: 20px;
}

.gma-crop-tips li {
    margin-bottom: 10px;
    line-height: 1.5;
}

/* Responsive */
@media (max-width: 768px) {
    .gma-calendar {
        padding: 15px;
    }
    
    .gma-calendar-header {
        flex-direction: column;
        gap: 15px;
    }
    
    .gma-calendar-header h2 {
        font-size: 1.4em;
    }
    
    .gma-calendar-weekdays span {
        font-size: 0.8em;
        padding: 5px 0;
    }
    
    .gma-day {
        min-height: 70px;
        padding: 5px;
    }
    
    .gma-day-number {
        font-size: 1em;
    }
    
    .gma-day-rating {
        font-size: 0.7em;
    }
    
    .gma-day-time {
        font-size: 0.65em;
    }
    
    .gma-planting-category ul {
        columns: 1;
    }
    
    .gma-pest-list {
        grid-template-columns: 1fr;
    }
    
    .gma-calendar-legend {
        gap: 10px;
    }
}

@media (max-width: 480px) {
    .gma-day-rating,
    .gma-day-time {
        display: none;
    }
    
    .gma-day {
        min-height: 50px;
    }
}

/* Print Styles */
@media print {
    .gma-calendar {
        box-shadow: none;
    }
    
    .gma-nav-btn {
        display: none;
    }
}
