body {
    font-family: Arial, sans-serif;
    text-align: center;
    color: #ffffff;
    background: url('images/background.webp') no-repeat center center fixed;
    background-size: cover;
    padding: 0;
    margin: 0;
}

h1 {
    font-family: 'Great Vibes', cursive;
    margin-top: 20px;
    font-size: 4em;
    color: #e3a876;
    text-shadow: 2px 2px 4px #000;
}

p {
    font-size: 1.2em;
    margin-bottom: 30px;
    color: #f0e6d2;
    text-shadow: 1px 1px 2px #000;
}

/* Container für die Tage im Adventskalender */
.container {
    position: relative;
    width: 100%;
    height: 80vh;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

/* Adventskalender-Tage */
.day {
    position: absolute;
    background-color: rgba(128, 0, 0, 0.7);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.3s;
}

/* Zufällige Schriftarten und Größen */
.day:nth-child(1) { font-family: 'Raleway', sans-serif; font-size: 20px; width: 55px; height: 55px; }
.day:nth-child(2) { font-family: 'Roboto Mono', monospace; font-size: 24px; width: 65px; height: 65px; }
.day:nth-child(3) { font-family: 'Lobster', cursive; font-size: 28px; width: 70px; height: 70px; }
.day:nth-child(4) { font-family: 'Great Vibes', cursive; font-size: 26px; width: 60px; height: 60px; }
.day:nth-child(5) { font-family: 'Raleway', sans-serif; font-size: 22px; width: 55px; height: 55px; }
.day:nth-child(6) { font-family: 'Roboto Mono', monospace; font-size: 26px; width: 65px; height: 65px; }
.day:nth-child(7) { font-family: 'Lobster', cursive; font-size: 30px; width: 70px; height: 70px; }
.day:nth-child(8) { font-family: 'Great Vibes', cursive; font-size: 24px; width: 60px; height: 60px; }
.day:nth-child(9) { font-family: 'Raleway', sans-serif; font-size: 20px; width: 55px; height: 55px; }
.day:nth-child(10) { font-family: 'Roboto Mono', monospace; font-size: 24px; width: 65px; height: 65px; }
.day:nth-child(11) { font-family: 'Lobster', cursive; font-size: 28px; width: 70px; height: 70px; }
.day:nth-child(12) { font-family: 'Great Vibes', cursive; font-size: 26px; width: 60px; height: 60px; }
.day:nth-child(13) { font-family: 'Raleway', sans-serif; font-size: 22px; width: 55px; height: 55px; }
.day:nth-child(14) { font-family: 'Roboto Mono', monospace; font-size: 26px; width: 65px; height: 65px; }
.day:nth-child(15) { font-family: 'Lobster', cursive; font-size: 30px; width: 70px; height: 70px; }
.day:nth-child(16) { font-family: 'Great Vibes', cursive; font-size: 24px; width: 60px; height: 60px; }
.day:nth-child(17) { font-family: 'Raleway', sans-serif; font-size: 20px; width: 55px; height: 55px; }
.day:nth-child(18) { font-family: 'Roboto Mono', monospace; font-size: 24px; width: 65px; height: 65px; }
.day:nth-child(19) { font-family: 'Lobster', cursive; font-size: 28px; width: 70px; height: 70px; }
.day:nth-child(20) { font-family: 'Great Vibes', cursive; font-size: 26px; width: 60px; height: 60px; }
.day:nth-child(21) { font-family: 'Raleway', sans-serif; font-size: 22px; width: 55px; height: 55px; }
.day:nth-child(22) { font-family: 'Roboto Mono', monospace; font-size: 26px; width: 65px; height: 65px; }
.day:nth-child(23) { font-family: 'Lobster', cursive; font-size: 30px; width: 70px; height: 70px; }
.day:nth-child(24) { font-family: 'Great Vibes', cursive; font-size: 24px; width: 60px; height: 60px; }

/* Button und Hover-Effekte */
button, .hint-button {
    margin-top: 20px;
    padding: 10px 20px;
    font-size: 1em;
    font-weight: bold;
    color: #ffffff;
    background-color: #8b0000;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.3);
    transition: background-color 0.3s, transform 0.2s;
}

button:hover:not(.disabled), .hint-button:hover:not(.disabled) {
    background-color: #a52a2a;
    transform: scale(1.05);
}

button:active:not(.disabled), .hint-button:active:not(.disabled) {
    background-color: #5c0a0a;
}

.disabled {
    background-color: #b0b0b0;
    cursor: not-allowed;
}

/* Tag 1 - Suchrätsel */
.grid {
    display: grid;
    grid-template-columns: repeat(10, 50px);
    gap: 5px;
    justify-content: center;
    margin: 30px 0 20px;
}

.letter {
    padding: 10px;
    border: 1px solid #ddd;
    cursor: pointer;
    font-size: 24px;
    color: #fff;
    background-color: rgba(128, 0, 0, 0.7);
    text-align: center;
}

.selected {
    background-color: #4CAF50;
}

#hint {
    margin-top: 20px;
    text-align: center;
    color: #e3a876;
    font-size: 1.2em;
    background-color: rgba(0, 0, 0, 0.4);
    padding: 10px;
    border-radius: 8px;
}

.hint-boxes {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 10px;
}

.hint-box {
    width: 40px;
    height: 40px;
    border: 2px solid #e3a876;
    border-radius: 4px;
    background-color: rgba(255, 255, 255, 0.4);
    color: #fff;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Stil für die Lösungsmeldung */
#message {
    margin-top: 20px;
    font-size: 1.5em;
    padding: 10px;
    color: #ffffff;
    background-color: rgba(0, 128, 0, 0.6);
    border-radius: 8px;
}

.message-visible {
    display: block;
}

/* Puzzle-Raster für Tag 2 */
.puzzle-container {
    display: grid;
    grid-template-columns: repeat(3, 100px); /* 3x3 Raster */
    grid-template-rows: repeat(3, 100px);
    gap: 2px;
    width: 306px;
    margin: auto;
}

.puzzle-piece {
    width: 100px;
    height: 100px;
    cursor: pointer;
    border: 1px solid #ddd;
    background-size: 300px 300px; /* Originalgröße des Bildes */
}

/* Stil für die Koordinaten auf Tag 3 */
.coordinates {
    margin-top: 20px;
    text-align: center;
    color: #e3a876;
    font-size: 2em;
    background-color: rgba(0, 0, 0, 0.4);
    padding: 15px;
    border-radius: 8px;
    display: inline-block;
}

.coordinates a {
    color: #e3a876;
    text-decoration: none;
}

.coordinates a:hover {
    color: #f0e6d2;
    text-decoration: underline;
}


.crossword {
    text-align: center;
    margin-top: 20px;
}

.grid-container {
    display: grid;
    grid-template-columns: repeat(8, 40px);
    gap: 5px;
    justify-content: center;
}

button {
    margin-top: 20px;
    padding: 10px 20px;
    font-size: 1em;
    color: #ffffff;
    background-color: #8b0000;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}