/* ============================================================
   Plex-inspired Dark Theme
   Palette:
     Background:   #1c1c1c  (page)
                   #282828  (card / navbar)
                   #323232  (card-image bg, inputs)
     Accent:       #e5a00d  (Plex orange)
     Text primary: #e0e0e0
     Text muted:   #9e9e9e
     Border:       #3a3a3a
   ============================================================ */

/* ---------- Base ---------- */
html,
body {
    background-color: #1c1c1c;
    color: #e0e0e0;
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

a {
    color: #e5a00d;
}
a:hover {
    color: #ffbf40;
}

hr {
    background-color: #3a3a3a;
    height: 1px;
}

/* ---------- Navbar ---------- */
.navbar.is-primary,
.navbar {
    background-color: #282828 !important;
    border-bottom: 2px solid #e5a00d;
}

.navbar-item,
.navbar-link {
    color: #e0e0e0 !important;
}

.navbar-item:hover,
.navbar-link:hover {
    background-color: #323232 !important;
    color: #e5a00d !important;
}

.navbar-burger span {
    background-color: #e0e0e0;
}

.navbar-menu {
    background-color: #282828;
}

/* ---------- Cards ---------- */
.card {
    background-color: #282828;
    color: #e0e0e0;
    border: 1px solid #3a3a3a;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.6);
    border-radius: 6px;
}

.card-content {
    background-color: #282828;
    color: #e0e0e0;
}

.card-footer {
    background-color: #282828;
    border-top: 1px solid #3a3a3a;
}

.card-footer-item {
    color: #e0e0e0;
}

.card-footer-item:hover {
    background-color: #323232;
}

/* ---------- Recipe detail panel ---------- */
.column.is-full-mobile.is-half-desktop {
    background-color: #282828 !important;
    border: 1px solid #3a3a3a;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.7) !important;
}

/* Recipe image background */
.is-flex[style*="background-color"] {
    background-color: #323232 !important;
}

/* ---------- Typography ---------- */
.title {
    color: #e0e0e0 !important;
}

.subtitle {
    color: #9e9e9e !important;
}

h1, h2, h3, h4, h5, h6 {
    color: #e0e0e0;
}

/* Section headers inside recipe content */
.content h2 {
    color: #e5a00d;
    border-bottom: 1px solid #3a3a3a;
    padding-bottom: 0.25em;
    margin-top: 1.5em;
}

/* ---------- Lists ---------- */
li {
    padding-bottom: 0.5em;
    font-size: 20px;
    color: #e0e0e0;
}

.content ul,
.content ol {
    color: #e0e0e0;
}

/* ---------- Recipe stats row ---------- */
.columns.is-mobile .column {
    border-color: #3a3a3a !important;
    color: #e0e0e0;
}

.columns.is-mobile .column i {
    color: #e5a00d;
}

/* ---------- Tags ---------- */
.tag-btn,
a.tag-btn {
    background-color: #323232;
    color: #e5a00d !important;
    border: 1px solid #e5a00d;
    border-radius: 4px;
    padding: 2px 8px;
    font-size: 0.8rem;
    margin: 0 2px;
    text-decoration: none;
    display: inline-block;
}

.tag-btn:hover,
a.tag-btn:hover {
    background-color: #e5a00d;
    color: #1c1c1c !important;
}

/* ---------- Buttons ---------- */
.button {
    background-color: #323232;
    color: #e0e0e0;
    border-color: #3a3a3a;
}

.button:hover {
    background-color: #3a3a3a;
    color: #e5a00d;
    border-color: #e5a00d;
}

.button.is-primary,
.card-footer-item.button.is-primary {
    background-color: #e5a00d;
    color: #1c1c1c;
    border-color: #e5a00d;
    font-weight: 600;
}

.button.is-primary:hover {
    background-color: #ffbf40;
    border-color: #ffbf40;
    color: #1c1c1c;
}

/* ---------- Forms / Search ---------- */
.input,
.textarea,
.select select {
    background-color: #323232;
    border-color: #3a3a3a;
    color: #e0e0e0;
}

.input::placeholder {
    color: #6e6e6e;
}

.input:focus,
.textarea:focus {
    border-color: #e5a00d;
    box-shadow: 0 0 0 2px rgba(229, 160, 13, 0.3);
}

/* ---------- Notifications ---------- */
.notification.is-danger {
    background-color: #4a1a1a;
    color: #ffb3b3;
}

/* ---------- Section backgrounds ---------- */
.section {
    background-color: #1c1c1c;
}

/* ---------- Search results ---------- */
#searchResults {
    background-color: #1c1c1c;
}

#searchResults .title {
    color: #e5a00d;
}

/* ---------- Footer ---------- */
.footer,
p.footer {
    background-color: #282828;
    color: #9e9e9e;
    padding: 1.5rem;
    text-align: center;
    border-top: 1px solid #3a3a3a;
}

.footer a,
p.footer a {
    color: #e5a00d;
}

.footer a:hover,
p.footer a:hover {
    color: #ffbf40;
}

/* ---------- Print button icon ---------- */
#printButton a {
    color: #9e9e9e;
}

#printButton a:hover {
    color: #e5a00d;
}

/* ---------- Datetime / meta ---------- */
time,
.far.fa-calendar-alt,
.fas.fa-tags {
    color: #9e9e9e;
}

/* ---------- Categories page ---------- */
.box {
    background-color: #282828;
    color: #e0e0e0;
    border: 1px solid #3a3a3a;
}

/* ---------- Taxonomy (categories / tags) card headers ---------- */
/* Default .title is is-3 (2rem); drop one size to is-4 (1.5rem) */
.card-header-title a.title {
    font-size: 1.5rem !important;
}
