/* ============================================================
   Novara brand overrides for the Hestia theme.
   Loaded after the theme stylesheet so these rules win the
   cascade. Organized top-down: variables, base, components,
   responsive tweaks.
   ============================================================ */

/* ---------- Brand tokens ---------------------------------- */
:root {
  --novara-white: #FFFFFF;
  --novara-gray: #D0CFCF;
  --novara-orange: #EA3C25;
  --novara-violet: #2C0D59;
  --novara-dark-violet: #0E031E;
  --novara-black: #000000;
  --novara-glow: linear-gradient(45deg, #2C0D59 0%, #EA3C25 100%);
}

/* ---------- Base typography & links ----------------------- */
body,
.hestia-title,
.hestia-sub-title,
p,
.subtitle {
  color: var(--novara-dark-violet);
}

a,
a:focus {
  color: var(--novara-violet);
}

a:hover {
  color: var(--novara-orange);
}

/* Body content links (subpage articles, widgets) need !important
   to outrank the theme's `a{color:#9c27b0}` and various
   per-context rules. Excludes anything styled as a button. */
.main a:not(.btn):not(.wp-block-button__link),
.main a:not(.btn):not(.wp-block-button__link):focus,
.entry-content a,
.page-content-wrap a,
.blog-post a:not(.btn),
aside .widget a {
  color: var(--novara-violet) !important;
}

.main a:not(.btn):not(.wp-block-button__link):hover,
.entry-content a:hover,
.page-content-wrap a:hover,
.blog-post a:not(.btn):hover,
aside .widget a:hover {
  color: var(--novara-orange) !important;
}

::selection {
  background: var(--novara-orange);
  color: var(--novara-white);
}

/* ---------- Navbar ---------------------------------------- */
.navbar,
.navbar.navbar-not-transparent,
.navbar-color-on-scroll.scrolled {
  background: var(--novara-black) !important;
}

.navbar .navbar-nav > li > a,
.navbar .navbar-nav > li > a:focus,
.navbar .navbar-nav > li > a:link,
.navbar .navbar-nav > li > a:visited {
  color: var(--novara-white) !important;
}

.navbar .navbar-nav > li > a:hover,
.navbar .navbar-nav > li.active > a,
.navbar .navbar-nav > li.current-menu-item > a {
  color: var(--novara-orange) !important;
}

/* Brand logo: theme's `.navbar .navbar-header .navbar-brand img`
   sets max-height:50px, so match that specificity. */
.navbar-brand {
  padding: 10px 15px;
}

.navbar .navbar-header .navbar-brand .novara-logo {
  display: block;
  max-height: 18px !important;
  height: auto;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

/* ---------- Mobile nav drawer ----------------------------- */
/* Hestia gives the collapsed drawer a white background;
   override so the white menu links stay readable. */
@media (max-width: 991px) {
  .navbar.navbar-fixed-top .navbar-collapse,
  .navbar.navbar-fixed-top .navbar-collapse.in,
  .navbar.navbar-fixed-top .navbar-collapse.collapse.in {
    background: var(--novara-black) !important;
  }

  .navbar.navbar-fixed-top .navbar-collapse .navbar-nav > li > a,
  .navbar.navbar-fixed-top .navbar-collapse .navbar-nav > li > a:focus {
    color: var(--novara-white) !important;
  }

  .navbar.navbar-fixed-top .navbar-collapse .navbar-nav > li > a:hover,
  .navbar.navbar-fixed-top .navbar-collapse .navbar-nav > li.active > a,
  .navbar.navbar-fixed-top .navbar-collapse .navbar-nav > li.current-menu-item > a {
    color: var(--novara-orange) !important;
  }
}

@media (max-width: 768px) {
  .navbar .navbar-header .navbar-brand .novara-logo {
    max-height: 14px !important;
  }
}

/* ---------- Hero / gradient page-header ------------------- */
.page-header,
.header-filter,
.hestia-big-title {
  background-image: var(--novara-glow) !important;
}

.page-header:before,
.header-filter:before {
  background: rgba(14, 3, 30, 0.35) !important;
}

.page-header .hestia-title,
.hestia-big-title .hestia-title,
.header-filter + * .hestia-title,
.novara-home-hero .hestia-title {
  color: var(--novara-white);
}

/* Home page two-column hero (text left, screenshot right).
   Overrides the theme's table-layout container so flex columns
   work, then re-centers content on small screens. */
.novara-home-hero .container {
  display: block;
  padding-top: 150px;
  padding-bottom: 60px;
}

.novara-home-hero .container .row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.novara-home-hero .novara-hero-text {
  text-align: left;
}

.novara-home-hero .novara-hero-text .hestia-title {
  text-align: left;
  margin-top: 0;
}

.novara-home-hero .novara-hero-text .sub-title {
  color: var(--novara-white);
  text-align: left;
  display: block;
  opacity: 0.92;
}

.novara-home-hero .novara-hero-image {
  display: flex;
  align-items: center;
  justify-content: center;
}

.novara-home-hero .novara-hero-image img {
  width: 100%;
  max-width: 540px;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}

@media (max-width: 768px) {
  .novara-home-hero .container .row {
    display: block;
  }
  .novara-home-hero .novara-hero-text,
  .novara-home-hero .novara-hero-text .hestia-title,
  .novara-home-hero .novara-hero-text .sub-title {
    text-align: center;
  }
  .novara-home-hero .novara-hero-image {
    margin-top: 20px;
  }
}

/* ---------- Features ("Quick Resources") section ---------- */
.hestia-features {
  padding: 30px 0 40px !important;
}

.hestia-features .hestia-title,
.hestia-features-title-area .hestia-title,
.main .hestia-title {
  color: var(--novara-violet);
}

.hestia-features .description,
.hestia-features-title-area .description {
  color: var(--novara-dark-violet);
}

.feature-box .info-title,
.feature-box .info-title a {
  color: var(--novara-dark-violet);
}

.feature-box .hestia-info .icon {
  color: var(--novara-orange) !important;
}

/* ---------- Buttons & forms ------------------------------- */
.btn,
.btn:focus,
.btn.btn-primary,
button,
input[type="submit"],
.wp-block-button__link {
  background-color: var(--novara-violet);
  border-color: var(--novara-violet);
  color: var(--novara-white);
}

.btn:hover,
.btn:active,
.btn.btn-primary:hover,
.btn.btn-primary:active,
button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover {
  background-color: var(--novara-orange) !important;
  border-color: var(--novara-orange) !important;
  color: var(--novara-white) !important;
}

.btn-gradient,
.hestia-btn-gradient {
  background-image: var(--novara-glow) !important;
  border: 0;
  color: var(--novara-white) !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
textarea:focus {
  border-color: var(--novara-violet);
  box-shadow: 0 0 0 2px rgba(44, 13, 89, 0.15);
}

/* ---------- Misc body content elements -------------------- */
.has-large-font-size {
  color: var(--novara-violet);
}

.wp-block-separator,
hr {
  border-color: var(--novara-gray);
}

blockquote {
  border-left-color: var(--novara-orange);
}

/* ---------- Footer ---------------------------------------- */
.footer,
footer.footer,
.footer-black,
.hestia-bottom-footer-content {
  background: var(--novara-dark-violet) !important;
  color: var(--novara-white);
}

body .footer a,
body .footer a:focus,
body .footer a:link,
body .footer a:visited,
body .footer .footer-menu a,
body .footer .footer-menu a:focus,
body .hestia-bottom-footer-content a,
body .hestia-bottom-footer-content a:focus,
body .footer .copyright,
body .footer .copyright a,
body .footer .copyright a:focus,
body .footer .copyright a:link,
body .footer .copyright a:visited,
body footer.footer .copyright a {
  color: #FFFFFF !important;
}

body .footer a:hover,
body .footer .footer-menu a:hover,
body .hestia-bottom-footer-content a:hover,
body .footer .copyright a:hover,
body footer.footer .copyright a:hover {
  color: var(--novara-orange) !important;
}
