/* === Jack's Barn Theme === */

/* === Color Palette ===
   Base:     #FAF7F2 (warm cream), #F0EAD6 (parchment beige)
   Accents:  #5C2D82 (amethyst), #1B6B45 (emerald), #1A3A6B (sapphire)
             #9B1D2A (ruby), #B8860B (dark gold)
   Text:     #2A2118 (deep espresso brown)
   Light:    #FAF7F2 (cream, for reversed text)
=== */

:root {
    /* Jewel Accents */
    --jewel-ruby:       #9B1B30;
    --jewel-amethyst:   #6B3A8C;
    --jewel-sapphire:   #1A4A8C;
    --jewel-emerald:    #1A6B4A;
    --jewel-topaz:      #c7a11a;
    --jewel-garnet:     #7B1A3A;
    --jewel-rose:       #C4366A;
}

@font-face {
    font-family: 'Luminari Regular';
    src: url('../fonts/Luminari-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* === Global Body Styles === */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    background: #F0EAD6; /* Parchment beige */
    color: #2A2118;      /* Deep espresso brown */
}

/* === Header & Navigation === */
header {
    background: #820D1E; /* Ruby */
    padding: 10px;
}
.navbar a {
    color: #FAF7F2;      /* Warm cream */
    margin: 0 10px;
    text-decoration: none;
    font-weight: bold;
}
.navbar a:hover {
    color: darkgoldenrod;      /* Dark gold */
}

.navbar button:hover {
    color: darkgoldenrod;      /* Dark gold */
}

/* === Main Content === */
main {
    padding: 20px;
}

/* === Footer === */
footer {
    background: #820D1E; /* Ruby */
    color: #FAF7F2;      /* Warm cream */
    text-align: center;
    padding: 10px;
}

h2 {
	color: #820D1E; /* Ruby */
}

h3 {
	color: #5C2D82; /* Amethyst */
}

h4 {
	color: #1A3A6B; /* Sapphire */
}

/* === Centered Text Utility === */
.center-text {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

/* === Background Image Utility === */
.bg-image {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #FAF7F2;      /* Warm cream for contrast */
    padding: 20px;
}

/* === Gallery === */
.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 10px;
    justify-items: center;
    max-width: 1000px;
    margin: auto;
}
.gallery img {
    width: 100%;
    max-width: 250px;
    border-radius: 5px;
    border: 4px solid #5C2D82; /* Amethyst border */
}

/* === Buttons === */
.btn {
    display: inline-block;
    padding: 10px 20px;
    background: #1B6B45; /* Emerald */
    color: #FAF7F2;      /* Warm cream */
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    transition: background 0.3s, transform 0.1s;
}
.btn:hover {
    background: #1A3A6B; /* Sapphire */
    transform: translateY(-2px);
}
.btn:active {
    transform: translateY(0);
}

/* === Card Style (for portfolio/story blocks) === */
.card {
    background: #FAF7F2; /* Warm cream */
    border: 1px solid #5C2D82; /* Amethyst border */
    padding: 30px;
    border-radius: 8px;
    margin-left: 50px;
    margin-right: 50px;
    margin-bottom: 20px;
}
.card h2 {
    margin-top: 0;
    color: #820D1E; /* Ruby */
}

.card h3 {
    margin-top: 0;
    color: #5C2D82; /* Amethyst */
}

.card h4 {
    margin-top: 0;
    color: #1A3A6B; /* Sapphire */
}
.card figure img {
    justify-content: center;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.card figure figcaption {
    text-align: center;
}

pre {
    white-space: pre-wrap; /* Preserves whitespace and enables wrapping */
    word-wrap: break-word; /* Ensures long words break to the next line */
    font-family: calibri;
    font-size: 16px;
}

.center-flex {
    display: flex;
    justify-content: center; /* Centers the divs horizontally on the screen */
    align-items: stretch;    /* Forces both divs to take up equal height */
    gap: 50px;               /* Space between the two divs */
    height: 90vh;           /* Takes up the full viewport height */
}

.center-box-flex {
    padding: 20px;
    width: 600px;            /* Set your desired width here */
}

.center-box-flex h3 {
    margin-top: 15px;
    text-align: center;
}

.center-box-flex img {
    display: block;      /* Converts the inline image to a block element */
    margin-left: auto;
    margin-right: auto;  /* Simplifies to "margin: 0 auto;" */
    border: 5px solid darkgoldenrod;
    border-radius: 5px;
}

.fantasy-font {
    font-family: "Luminari Regular", Times, fantasy;
}