/* Shared styles for The Zachlings Chronicles */

/* Base styles */
body { 
    font-family: Arial, sans-serif; 
    max-width: 900px; 
    margin: 0 auto; 
    padding: 20px; 
    line-height: 1.6; 
    background: linear-gradient(135deg, #000000 0%, #343434 100%);
    color: #333;
}

.container {
    background: white;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

/* Typography */
h1 { 
    color: #e74c3c; 
    text-align: center; 
    font-size: 2.5em;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
    margin-bottom: 10px;
}

.subtitle {
    text-align: center;
    color: #7f8c8d;
    font-size: 1.2em;
    margin-bottom: 30px;
    font-style: italic;
}

h2 { 
    color: #3498db; 
    border-bottom: 3px solid #3498db; 
    padding-bottom: 5px;
}

h3 { 
    color: #27ae60; 
    margin-top: 25px;
}

h4 { 
    color: #f39c12; 
}

strong { 
    color: #8e44ad; 
}

/* Navigation */
.nav { 
    background-color: #34495e; 
    padding: 10px; 
    margin: -20px -20px 20px -20px; 
    text-align: center; 
}

.nav a { 
    color: white; 
    text-decoration: none; 
    margin: 0 15px; 
}

.nav a:hover { 
    text-decoration: underline; 
}

.nav-logo { 
    height: 24px; 
    width: auto; 
    vertical-align: middle; 
    margin-right: 15px; 
}

.nav-logo-link { 
    text-decoration: none; 
}

.nav-logo-link:hover { 
    text-decoration: none; 
}

/* Hero section */
.hero {
    background: linear-gradient(135deg, #ff7f50, #ff6b6b);
    color: white;
    padding: 30px;
    border-radius: 10px;
    text-align: center;
    margin: 20px 0;
}

.hero h2 {
    border: none;
    color: white;
    margin-bottom: 15px;
}

/* Navigation cards grid */
.nav-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin: 30px 0;
}

.nav-card {
    background: #f8f9fa;
    border: 2px solid #e9ecef;
    border-radius: 10px;
    padding: 20px;
    text-align: center;
    transition: all 0.3s ease;
    text-decoration: none;
    color: inherit;
}

.nav-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    border-color: #3498db;
}

.nav-card h3 {
    color: #3498db;
    margin-top: 0;
}

.nav-card p {
    color: #666;
    font-size: 0.9em;
}

/* Special elements */
.zachling-rainbow {
    text-align: center;
    font-size: 2em;
    margin: 20px 0;
    letter-spacing: 5px;
}

.features {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 10px;
    margin: 20px 0;
}

.features ul {
    list-style: none;
    padding: 0;
}

.features li {
    padding: 8px 0;
    border-bottom: 1px solid #e9ecef;
}

.features li:before {
    content: "⚡";
    margin-right: 10px;
}

.footer {
    text-align: center;
    margin-top: 40px;
    padding-top: 20px;
    border-top: 2px solid #e9ecef;
    color: #7f8c8d;
}

.emoji { 
    font-size: 1.2em; 
}

/* Common elements */
ul, ol { 
    margin-left: 20px; 
}

blockquote { 
    background-color: #f0f0f0; 
    padding: 15px; 
    border-left: 4px solid #3498db; 
    margin: 20px 0; 
    font-style: italic; 
}

/* Character cards */
.character-card { 
    background-color: #f8f9fa; 
    border-left: 5px solid #3498db; 
    padding: 15px; 
    margin: 20px 0; 
}

/* Combat sections */
.combat-section { 
    background-color: #f8f9fa; 
    border-left: 5px solid #e74c3c; 
    padding: 15px; 
    margin: 20px 0; 
}

.belch-effect { 
    background-color: #fff3cd; 
    border-left: 5px solid #ffc107; 
    padding: 10px; 
    margin: 10px 0; 
}

.example-box { 
    background-color: #e8f5e8; 
    border: 1px solid #27ae60; 
    padding: 15px; 
    margin: 20px 0; 
    border-radius: 5px; 
}

/* Tables */
table { 
    width: 100%; 
    border-collapse: collapse; 
    margin: 20px 0; 
}

th, td { 
    border: 1px solid #ddd; 
    padding: 12px; 
    text-align: left; 
}

th { 
    background-color: #3498db; 
    color: white; 
}

/* Form elements */
.form-field { 
    margin: 10px 0; 
    padding: 10px; 
    background-color: #f8f9fa; 
    border-left: 4px solid #3498db; 
}

.checkbox-section { 
    display: flex; 
    gap: 20px; 
    margin: 10px 0; 
}

.divider { 
    border-top: 2px solid #34495e; 
    margin: 30px 0; 
}

.quick-ref { 
    background-color: #e8f6f3; 
    padding: 15px; 
    border-radius: 5px; 
    margin-top: 20px; 
}

/* Enemy and encounter cards */
.encounter-card { 
    background-color: #f0f8ff; 
    border-left: 5px solid #3498db; 
    padding: 15px; 
    margin: 20px 0; 
    border-radius: 5px; 
}

.stat-line { 
    font-weight: bold; 
    color: #c0392b; 
}

.dialogue { 
    font-style: italic; 
    color: #7f8c8d; 
}

.weakness-list { 
    background-color: #e8f5e8; 
    padding: 15px; 
    border-radius: 5px; 
    margin: 20px 0; 
}

.want-list { 
    background-color: #fff3cd; 
    padding: 15px; 
    border-radius: 5px; 
    margin: 20px 0; 
}

/* Stats and power grids */
.stats-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); 
    gap: 15px; 
    margin: 20px 0; 
}

.stat-card { 
    background-color: #fff3cd; 
    padding: 15px; 
    border-radius: 5px; 
    text-align: center; 
}

.powers-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); 
    gap: 10px; 
    margin: 15px 0; 
}

.power-card { 
    background-color: #e1f5fe; 
    padding: 10px; 
    border-radius: 5px; 
    font-size: 0.9em; 
}

.tips-section { 
    background-color: #f3e5f5; 
    border-left: 5px solid #9c27b0; 
    padding: 15px; 
    margin: 20px 0; 
    border-radius: 5px; 
}

/* Adventure and scenario elements */
.adventure-section { 
    background-color: #fff8e1; 
    border-left: 5px solid #ff9800; 
    padding: 15px; 
    margin: 20px 0; 
    border-radius: 5px; 
}

.gm-tips { 
    background-color: #e8f5e8; 
    border-left: 5px solid #4caf50; 
    padding: 15px; 
    margin: 20px 0; 
    border-radius: 5px; 
}

.fun-moments { 
    background-color: #fce4ec; 
    padding: 10px; 
    border-radius: 5px; 
    margin: 10px 0; 
}

.scenario-list { 
    margin: 15px 0; 
}

.scenario-list li { 
    margin: 10px 0; 
}

/* Village and zone colors */
.village-card { 
    background-color: #f8f9fa; 
    border-left: 5px solid #3498db; 
    padding: 15px; 
    margin: 20px 0; 
    border-radius: 5px; 
}

.zone-red { 
    border-left-color: #e74c3c; 
}

.zone-orange { 
    border-left-color: #ff9800; 
}

.zone-green { 
    border-left-color: #4caf50; 
}

.zone-blue { 
    border-left-color: #2196f3; 
}

.zone-purple { 
    border-left-color: #9c27b0; 
}

/* Responsive adjustments */
@media (max-width: 768px) {
    body {
        padding: 10px;
    }
    
    .container {
        padding: 20px;
    }
    
    h1 {
        font-size: 2em;
    }
    
    .nav-grid {
        grid-template-columns: 1fr;
    }
}