/* ===========================
   GLOBAL PAGE STYLING
=========================== */

body {
    background-color: #0b0b0b;
    color: #e6e6e6;
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    line-height: 1.6;
}

header, nav, main, footer {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
}

/* ===========================
   HORROR FONTS
=========================== */

@import url('https://fonts.googleapis.com/css2?family=Creepster&family=Nosifer&display=swap');

/* ===========================
   MAIN TITLE STYLING
=========================== */

.main-title {
    text-align: center;
    margin-top: 40px;
}

.main-title h1 {
    font-family: 'Nosifer', cursive;
    font-size: 5rem;
    color: #ff1a1a;
    text-shadow: 0 0 25px #660000;
    margin-bottom: 10px;
}

.main-title p {
    font-size: 1.3rem;
    color: #cccccc;
}

/* ===========================
   NAVIGATION BAR
=========================== */

nav {
    background-color: #111;
    padding: 15px;
    text-align: center;
    border-bottom: 2px solid #660000;
}

nav a {
    color: #ff3333;
    text-decoration: none;
    margin: 0 12px;
    font-weight: bold;
    font-size: 1.1rem;
}

nav a:hover {
    color: #66ff66;
    text-shadow: 0 0 10px #66ff66;
}

/* ===========================
   QUOTE HEADER
=========================== */

.quote-header {
    text-align: center;
    font-family: 'Creepster', cursive;
    color: #ff3333;
    font-size: 2.4rem;
    margin-top: 40px;
    text-shadow: 0 0 10px #660000;
}

/* ===========================
   HORROR QUOTE BANNER
=========================== */

.horror-quote {
    background: linear-gradient(to right, #1a0000, #000000, #1a0000);
    padding: 30px;
    margin: 20px auto 50px auto;
    border: 2px solid #660000;
    border-radius: 6px;
    box-shadow: 0 0 20px #330000;
    text-align: center;
    max-width: 900px;
}

.quote-text {
    font-family: 'Creepster', cursive;
    font-size: 2rem;
    color: #ff3333;
    text-shadow: 0 0 10px #660000;
    line-height: 1.4;
}

.quote-author {
    margin-top: 10px;
    font-size: 1.1rem;
    color: #bbbbbb;
    font-style: italic;
}

/* ===========================
   CENTERED SECTIONS
=========================== */

.center-section {
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
}

.center-list {
    list-style-position: inside;
    padding: 0;
    margin: 0 auto;
    text-align: center;
}

/* ===========================
   TOP 10 RANKINGS GRID
=========================== */

.rankings-title {
    text-align: center;
    font-family: 'Creepster', cursive;
    font-size: 3rem;
    color: #ff3333;
    text-shadow: 0 0 12px #660000;
    margin-top: 40px;
}

.ranking-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 25px;
    margin-top: 40px;
}

.movie-card {
    background-color: #111;
    border: 2px solid #660000;
    padding: 15px;
    border-radius: 6px;
    box-shadow: 0 0 15px #330000;
    text-align: center;
}

.movie-card img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    border: 2px solid #660000;
}

/* ===========================
   MOVIE CARD TEXT
=========================== */

.movie-card h3 {
    font-family: 'Nosifer', cursive;
    color: #ff1a1a;
    font-size: 1.4rem;
    margin-top: 10px;
}

.movie-card p {
    color: #cccccc;
    font-size: 0.95rem;
    margin-top: 8px;
}

/* ===========================
   FOOTER
=========================== */

footer {
    background-color: #111;
    color: #888;
    text-align: center;
    padding: 20px;
    margin-top: 40px;
    border-top: 2px solid #660000;
}

/* ===========================
   LINKS
=========================== */

a {
    color: #ff3333;
}

a:hover {
    color: #66ff66;
}

/* ===========================
   RED BOLD CLASS
=========================== */

.red-bold {
    color: #ff3333;
    font-weight: bold;
}

/* ===========================
   INFO TABLE
=========================== */

.info-table {
    margin: 0 auto 20px auto;
    border-collapse: collapse;
    width: 60%;
    color: #ddd;
}

.info-table th, .info-table td {
    border: 1px solid #ff3333;
    padding: 8px 12px;
    text-align: left;
}

.info-table th {
    background-color: #1a1a1a;
}

/* ===========================
   FEATURED IMAGE
=========================== */

.featured-image {
    text-align: center;
    margin-bottom: 20px;
}

/* ===========================
   IMAGE HOVER GLOW
=========================== */

img:hover {
    filter: brightness(1.2);
    box-shadow: 0 0 20px #ff1a1a, 0 0 40px #660000;
    transition: 0.3s ease-in-out;
}

/* ===========================
   BLOOD DRIP ANIMATION
=========================== */

@keyframes blood-drip {
    0% { text-shadow: 0 0 10px #660000; }
    50% { text-shadow: 0 10px 20px #ff0000; }
    100% { text-shadow: 0 0 10px #660000; }
}

.blood-drip {
    animation: blood-drip 2.5s infinite ease-in-out;
}

/* ===========================
   PAGE-SPECIFIC BACKGROUNDS
=========================== */

body.home-page {
    background: linear-gradient(to bottom, #0b0b0b, #1a0000);
}

body.rankings-page {
    background: linear-gradient(to bottom, #0b0b0b, #1a0000);
}

body.subgenres-page {
    background: linear-gradient(to bottom, #0b0b0b, #1a0000);
}

body.movie-week {
    background: linear-gradient(to bottom, #0b0b0b, #1a0000);
}

body.contact-page {
    background: linear-gradient(to bottom, #0b0b0b, #1a0000);
}
