/* CSS CUSTOM PROPERTIES*/

/* Disable WOW.js / Animate.css scroll animations entirely */
.wow {
  visibility: visible !important;
  animation: none !important;
  animation-duration: 0s !important;
  opacity: 1 !important;
}

.animated {
  animation-duration: 0s !important;
  animation: none !important;
}

:root {
  --font: Arial, Helvetica, sans-serif;

  /* Desktop sizes */
  --text-base:    2.5rem;
  --text-sm:      2rem;
  --text-nav:     4rem;
  --text-h1-post: 4rem;
  --text-h1:      3rem;
  --text-block:   5rem;
  --text-widget:  3rem;

  /* Mobile sizes */
  --m-text-base:    1.5rem;
  --m-text-sm:      1rem;
  --m-text-nav:     1.5rem;
  --m-text-h1-post: 2rem;
  --m-text-block:   1.5rem;

  /* Line heights */
  --lh-body:    2.0;
  --lh-heading: 1.75;
  --lh-mobile:  1.5;

  /* Colors */
  --color-text:   #000000;
  --color-bg:     #ffffff;
  --color-border: #000000;
}
html { background-color: #ffffff }


/*  BASE */
body {
  font-family: var(--font); background-color: #ffffff;
}

hr {
  margin: 0;
  border: 0;
  border-top: 3px solid var(--color-border);
  border-bottom: 3px solid var(--color-border);
  background: transparent;
  border-radius: 0;
}

.wp-block-separator {
  border-top: none;
}

.comments {
  display: none;
}


/* HEADER / TAGLINE*/
.header .tagline p,
.page .header .tagline p {
  font-size: 2.5em;
  line-height: 0;
  overflow-wrap: break-word;
  font-family: var(--font);
}

.tagline p:before,
.tagline p:after {
  content: "";
  left: 0;
  top: 50%;
  margin-top: -2px;
  width: 20px;
  height: 4px;
}

@media (max-width: 767px) {
  .tagline p {
    display: none;
  }
}


/* POST & PAGE — shared text rules */
.post,
.page {
  text-align: left;
  max-width: none;
  overflow-wrap: break-word;
}

.post p,
.post ul,
.post ol,
.page p,
.page ul,
.page ol {
  line-height: var(--lh-body);
  font-size: var(--text-base);
  overflow-wrap: break-word;
}

.post ul a,
.page ul a {
  text-decoration-line: underline;
  font-family: var(--font);
}

/* Headings shared between post and page */
.post h2, .post h3, .post h4,
.page h2, .page h3 {
  line-height: var(--lh-heading);
  font-size: var(--text-h1);
  overflow-wrap: break-word;
  font-family: var(--font);
  text-transform: none;
}

.post h1 {
  line-height: var(--lh-heading);
  font-size: var(--text-h1-post);
  overflow-wrap: break-word;
  font-family: var(--font);
  text-transform: none;
}

.page h1 {
  line-height: var(--lh-heading);
  font-size: var(--text-h1);
  overflow-wrap: break-word;
  font-family: var(--font);
  text-transform: uppercase;
}

/* Nested lists: prevent size cascade */
.entry-content ul ul,
.entry-content ul ol,
.entry-content ol ul,
.entry-content ol ol {
  font-size: inherit;
}


/* ENTRY META */
.entry-meta {
  font-style: normal;
  font-family: var(--font);
  font-size: var(--text-base);
  line-height: var(--lh-body);
  display: inline-block;
  color: var(--color-text);
}

/* FOOTER */
.footer {
  font-size: var(--text-base);
}

.footer p,
.widget p {
  font-size: var(--text-base);
}


/* WIDGETS */
.widget h3 {
  font-size: var(--text-widget);
  font-family: var(--font);
}


/*  NAVBAR */
.navbar-nav > li > a {
  display: block;
  font-size: var(--text-nav);
  letter-spacing: 2px;
  line-height: 1;
  font-family: var(--font);
}

/* Desktop .page navbar links — explicit 4rem rule restored */
.page .navbar-nav > li > a {
  display: block;
  font-size: var(--text-nav);
  letter-spacing: 1px;
  line-height: 1em;
  font-family: var(--font);
}

.navbar-default {
  margin: 0;
  border: 0;
  border-top: 5px solid var(--color-border);
  border-bottom: 5px solid var(--color-border);
  background: transparent;
  border-radius: 0;
  font-size: var(--text-nav);
  line-height: normal;
  font-family: var(--font);
}

.page ul#menu-menu.nav.navbar-nav {
  font-size: var(--text-nav);
  letter-spacing: 2px;
  text-decoration-line: none;
  font-family: var(--font);
  line-height: 0;
}

.dropdown-menu > li > a {
  font-size: var(--text-sm);
  letter-spacing: 2px;
  font-family: var(--font);
}


/* BLOCK TITLES*/
.block-title span:not(.vcard) {
  display: inline-block;
  font-size: var(--text-block);
  font-family: var(--font);
  max-width: none;
  padding: 0 26px;
  overflow-wrap: break-word;
}

.search .block-title span:not(.vcard) {
  font-size: var(--text-nav); /* 4rem */
}

.tag .block-title {
  font-size: 1.5rem;
}

.block-title span:not(.vcard):before,
.block-title span:not(.vcard):after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -2px;
  width: 20px;
  height: 4px;
  border-top: hidden;
  border-bottom: hidden;
}


/* FORMS & INPUTS */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="date"],
textarea,
select {
  font-weight: 300;
  font-size: var(--text-sm);
  font-family: var(--font);
  font-style: normal;
  border: 1px solid #f1f1f1;
  color: var(--color-text);
  background-color: #fafafa;
  border-radius: 0;
  box-shadow: none;
}

button,
input,
select,
textarea {
  font-family: var(--font);
  font-size: 3rem;
  line-height: 1.8em;
}

.contact-form label {
  font-size: var(--text-base);
  font-family: var(--font);
  font-weight: normal;
}

.contact-form input {
  width: 100%;
  font-size: var(--text-sm);
  font-style: normal;
}

.contact-form :is([type=submit]) {
  align-items: center;
  display: inline-flex;
  gap: .5em;
  justify-content: center;
  width: auto;
}


/* PAGINATION  */
.pagination-post a {
  font-size: 3rem;
  color: var(--color-text);
  letter-spacing: 1px;
  font-family: var(--font);
  text-transform: capitalize;
  font-weight: bold;
}

.pagination-post .next_post {
  float: right;
}

.pagination-blog-feed a {
  font-size: var(--text-nav);
  color: var(--color-text);
  letter-spacing: 1px;
  font-family: var(--font);
}

.pagination-blog-feed .previous_posts a:before {
  content: "\f177";
  font-family: 'FontAwesome';
  margin-right: 10px;
  font-size: 3rem;
  top: 2px;
}

.pagination-blog-feed .next_posts a:after {
  content: "\f178";
  font-family: 'FontAwesome';
  margin-right: 10px;
  font-size: 3rem;
  color: var(--color-text);
  top: 2px;
}

.pagination-post .previous_post a:before {
  content: "\f177";
  font-family: 'FontAwesome';
  margin-right: 10px;
  font-size: 1rem;
  top: 2px;
}

.pagination-post .next_post a:after {
  content: "\f178";
  font-family: 'FontAwesome';
  margin-left: 10px;
  font-size: 1rem;
  top: 2px;
}


/* HIDE: TITLES & SUMMARIES (home, search, category, tag, recipe index) */
.home .entry-title,
.entry-summary,
.search-results .entry-title,
.search-results .entry-summary,
.category .entry-title,
.category .entry-summary,
.tag .entry-title,
.tag .entry-summary,
.full-width-recipe-index .entry-title,
.full-width-recipe-index .entry-summary {
  display: none;
}


/*  RECIPE INDEX */
.full-width-recipe-index .category-title {
  word-wrap: break-word;
}

.full-width-recipe-index .entry-thumb {
  overflow: visible;
}


/* CITEPRESS */
.citepress-box-heading,
.citepress-box-body {
  font-size: var(--text-base);
}


/* DO-NOT-INVERT (light mode) */
.entry-content .do-not-invert {
  filter: invert(0);
}


/* FIX PAGE PADDING (Bootstrap columns) */
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6,
.col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12,
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
.col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12,
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6,
.col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12,
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6,
.col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  padding-right: 3em;
  padding-left: 3em;
}


/* PRINT */
@media print {
  .fa, .recipe-author, .recipe-info .publish-date, .recipe-print,
  .single-post .comments, .single-post .entry-footer, .single-post .entry-header,
  .single-post .entry-related-posts, .single-post .entry-thumb, .entry-meta,
  .single-post .entry-title, .single-post .footer, .single-post .footer-widgets,
  .single-post .header-row-1, .single-post .header-row-3, .single-post .jump-to-recipe,
  .single-post .pagination-post, .single-post .sidebar,
  .single-post .single-content > :not(#lt-recipe) {
    display: revert;
  }

  .has-recipe .fa, .has-recipe .recipe-author, .has-recipe .recipe-info .publish-date,
  .has-recipe .recipe-print, .has-recipe .single-post .comments,
  .has-recipe .single-post .entry-footer, .has-recipe .single-post .entry-header,
  .entry-meta, .has-recipe .single-post .entry-related-posts,
  .has-recipe .single-post .entry-thumb, .has-recipe .single-post .entry-title,
  .has-recipe .single-post .footer, .has-recipe .single-post .footer-widgets,
  .has-recipe .single-post .header-row-1, .has-recipe .single-post .header-row-3,
  .has-recipe .single-post .jump-to-recipe, .has-recipe .single-post .pagination-post,
  .has-recipe .single-post .sidebar,
  .has-recipe .single-post .single-content > :not(#lt-recipe) {
    display: none;
  }
}


/*  DARK MODE */
@media (prefers-color-scheme: dark) {
	html {
    background-color: #08050D !important;
  }

  .custom-background {
    background-color: #08050D !important;
  }

  body.custom-background .main-wrapper {
    background-color: #1a1a1a !important;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.4) !important;
  }

  body {
    color: #ffffff !important;
  }

  h1, h2, h3, h4, h5, h6 {
    color: #ffffff !important;
  }

  a, a:hover, a:visited, a:active, a:focus {
    color: #ffffff !important;
  }

  .entry-content p a,
  .page-content p a {
    color: #c9b8f0 !important;
  }

  .entry-title a {
    color: #ffffff !important;
  }

  .entry-meta,
  .pagination-post a,
  .pagination-blog-feed a {
    color: #ffffff !important;
  }

  /* Navbar */
  .navbar-default {
    background-color: #1a1a1a !important;
    border-color: #fff !important;
  }

  .navbar-default .navbar-nav > li > a {
    color: #ffffff !important;
  }

  .navbar-default .navbar-nav > .active > a,
  .navbar-default .navbar-nav > .current_page_item > a {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
  }

  .dropdown-menu {
    background-color: #2a2a2a !important;
    border-color: #ffffff !important;
  }

  .dropdown-menu > li > a {
    color: #ffffff !important;
  }

  /* Forms */
  .form-control,
  input[type="text"],
  input[type="email"],
  input[type="password"],
  textarea,
  select {
    background-color: #2a2a2a !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
  }

  /* Footer */
  .footer {
    background-color: #111 !important;
    color: #ffffff !important;
  }

  /* Images */
  .frontpage-slider,
  .entry-thumb img,
  .entry-content img,
  .random-post-on-refresh__image {
    filter: invert(1) !important;
  }

  .entry-content .do-not-invert {
    filter: invert(0) !important;
  }
}


/* MOBILE  (max-width: 767px) */
@media (max-width: 767px) {

  /* Layout */
  body {
    overflow-x: hidden !important;
  }

  body.custom-background .main-wrapper {
    margin-left: 5px !important;
    margin-right: 5px !important;
    overflow-x: hidden !important;
  }

  .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .site-content,
  .content-area,
  #primary,
  .entry-content,
  [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    box-sizing: border-box !important;
    float: none !important;
  }

  #secondary,
  .widget-area {
    display: none !important;
  }

  /* Text */
  .post p,
  .post ul,
  .post ol,
  .page p,
  .page ol,
  .page ul {
    line-height: var(--lh-mobile);
    font-size: var(--m-text-base);
    overflow-wrap: break-word;
  }

  .post h1 {
    line-height: var(--lh-heading);
    font-size: var(--m-text-h1-post);
    overflow-wrap: break-word;
    font-family: var(--font);
    text-transform: none;
  }

  .post h2, .post h3, .post h4,
  .page h2, .page h3 {
    line-height: var(--lh-mobile);
    font-size: var(--m-text-base);
    overflow-wrap: break-word;
    font-family: var(--font);
    text-transform: none;
  }

  .page h1 {
    line-height: var(--lh-mobile);
    font-size: var(--m-text-base);
    overflow-wrap: break-word;
    font-family: var(--font);
    text-transform: uppercase;
  }

  .footer,
  .footer p,
  .widget p,
  .widget h3,
  .entry-meta {
    font-size: var(--m-text-base);
  }

  .entry-meta {
    line-height: var(--lh-mobile);
  }

  /* Lists */
  .entry-content ul,
  .entry-content ol {
    padding-left: 20px !important;
    margin-left: 0 !important;
  }

  .entry-content ul li,
  .entry-content ol li {
    margin-left: 0 !important;
    padding-left: 4px !important;
  }

  /* Block titles */
  .block-title span:not(.vcard),
  .search .block-title span:not(.vcard) {
    font-size: var(--m-text-block);
    font-family: var(--font);
    max-width: none;
    position: relative;
    padding: 0 1em;
  }

  /* Navbar */
  .navbar-nav > li > a {
    display: block;
    font-size: var(--m-text-nav);
    letter-spacing: 2px;
  }

  .home .navbar-nav > li > a {
    font-size: 2rem;
    letter-spacing: 1px;
    line-height: 0; /* FIX #6: restored to 0 — matches original */
  }

  .page .navbar-nav > li > a {
    display: block;
    font-size: 1.75rem;
    letter-spacing: 1px;
    line-height: 1em;
  }

  .navbar-default {
    font-size: var(--m-text-nav);
  }

  .page ul#menu-menu.nav.navbar-nav {
    font-size: var(--m-text-nav);
  }

  .dropdown-menu > li > a {
    font-size: var(--m-text-nav);
  }

  body.v4-text-only .v4-text-alt {
    display: inline-block;
    font-size: 1.5em;
  }

  /* Pagination */
  .pagination-post a {
    font-size: var(--m-text-base);
  }

  .pagination-blog-feed a {
    font-size: var(--m-text-base);
  }

  .pagination-blog-feed .previous_posts a:before,
  .pagination-blog-feed .next_posts a:after {
    font-size: var(--m-text-base);
  }

  /* Citepress */
  .citepress-box-heading,
  .citepress-box-body {
    font-size: var(--m-text-base);
  }
}
