/* 1. Define Custom Fonts From Your Assets Folder */
@font-face {
    font-family: 'Flowers Kingdom';
    src: url('../assets/fonts/Flowers Kingdom.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Bellagia Display';
    src: url('../assets/fonts/CaviarDreams.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* 2. Reset and Universal Styles */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --maroon-color: #58181F;  /* Deep Aztec Maroon */
    --purple-color: #3b1c3f;  /* Deep Aztec Purple */
    --light-accent: #f8f9fa;
    --border-accent: #dca134; /* Soft gold accent line */
}

body {
    /* Apply Bellagia Display as the default body/regular font */
    font-family: 'Bellagia Display', 'Segoe UI', serif;
    line-height: 1.7;
    background-color: #111111;
    color: #ffffff;
}

.container {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* 3. Header Styling */
header {
    background-color: var(--maroon-color);
    text-align: center;
    padding: 60px 20px;
    border-bottom: 5px solid var(--border-accent);
}

header h1 {
    /* Apply Flowers Kingdom to the main page title */
    font-family: 'Flowers Kingdom', sans-serif;
    font-size: 3rem; /* Adjusted up slightly as display fonts can run small */
    letter-spacing: 1px;
    margin-bottom: 10px;
    color: #ffffff;
}

header .subtitle {
    font-size: 1.2rem;
    color: #f0f0f0;
}

/* Alternating Background Colors for Row Wrapper */
.row {
    width: 100%;
}

.bg-maroon {
    background-color: var(--maroon-color);
}

.bg-purple {
    background-color: var(--purple-color);
}

/* Flexbox Layout with Alternating Column Direction */
.flex-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.row-reverse .flex-container {
    flex-direction: row-reverse;
}

/* Column Sizing */
.col-text {
    flex: 1 1 55%;
}

.col-media {
    flex: 1 1 40%;
    text-align: center;
}

/* Elements Inside Text Columns */
.col-text h2 {
    font-size: 1.8rem;
    margin-bottom: 15px;
    color: #ffffff;
    border-bottom: 2px solid var(--border-accent);
    padding-bottom: 5px;
    display: inline-block;
}

.col-text p {
    font-size: 1.05rem;
    color: #ffffff;
    text-align: justify;
}

/* Audio Player Box Styling */
.audio-box {
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 20px;
}

.audio-box p {
    font-size: 0.95rem;
    margin-bottom: 8px;
}

audio {
    width: 100%;
}

/* Image Scaling and Presentation */
.section-img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    border: 3px solid #ffffff;
    box-shadow: 0 8px 16px rgba(0,0,0,0.3);
}

/* Footer & Bibliography Styles */
footer {
    background-color: #0b0b0b;
    border-top: 4px solid var(--border-accent);
}

#citations h3 {
    font-size: 1.3rem;
    margin-bottom: 15px;
    color: #ffffff;
}

#citations ul {
    list-style-type: none;
}

#citations li {
    margin-bottom: 12px;
    font-size: 0.95rem;
    color: #cccccc;
}

#citations em {
    color: #ffffff;
}

/* Responsive Scaling for Tablets/Mobile Devices */
@media (max-width: 768px) {
    .flex-container, .row-reverse .flex-container {
        flex-direction: column !important;
        gap: 20px;
    }
    
    .col-text, .col-media {
        flex: 1 1 100%;
    }
    
    header h1 {
        font-size: 2.5rem;
    }
}
