.photo-container {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.photo-header {
    background: linear-gradient(180deg, #2f6f5b 0%, #1f4d3d 100%);
    border: 4px outset #7ed7b1;
    padding: 20px;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.photo-header img {
    height: 75px;
    width: auto;
}

.photo-header-text {
    flex: 1;
}

.photo-header h1 {
    color: #ffcc00;
    font-family: 'Arial Black', sans-serif;
    text-shadow: 3px 3px 0px #000;
    margin: 0 0 8px 0;
}

.photo-tagline {
    color: #00ffff;
    font-style: italic;
    margin: 0;
}

.upload-form {
    margin-bottom: 30px;
    display: none;
}

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

.photo-upload-title {
    color: #ffcc00;
    font-family: 'Arial Black', sans-serif;
    margin-bottom: 20px;
}

.upload-form .form-group {
    margin-bottom: 15px;
}

.upload-form label {
    margin-bottom: 5px;
}

.photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.photo-card {
    background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1a 100%);
    border: 3px outset #444;
    padding: 10px;
    text-align: center;
}

.photo-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border: 1px solid #666;
    margin-bottom: 10px;
}

.photo-title {
    font-family: 'Arial Black', sans-serif;
    color: #ffcc00;
    margin-bottom: 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.photo-date {
    color: #888;
}

.photo-grid .empty-state {
    text-align: center;
    padding: 60px 20px;
    color: #b7bfd9;
    font-style: italic;
    background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1a 100%);
    border: 2px dashed #7a5aa6;
}
