/* Custom fonts - loaded before theme styles */
@import url("https://fonts.googleapis.com/css2?family=Comfortaa:wght@400;700&family=Merriweather:wght@400;700&display=swap");

/* Global: fonts and line spacing */
html {
  font-size: 16px !important;
}

body {
  font-size: 1rem !important;
  line-height: 1.4 !important;
}

p, li,
.content p,
.content li,
article p,
article li,
main p,
main li {
  margin-bottom: 0.7em !important;
  line-height: 1.5 !important;
  font-size: 1rem !important;
}

/* Paragraph spacing */
p + p,
.content p + p {
  margin-top: 0.8em !important;
}

/* Preserve navigation bar font sizes */
.nav a,
.item--nav a,
.list--nav a,
.nav--header a {
  font-size: 1rem !important;
  line-height: 1.4 !important;
}

h1 {
  font-size: 2.2rem !important;
  line-height: 1.2 !important;
  margin-top: 0.8em !important;
  margin-bottom: 0.3em !important;
}

h2 {
  font-size: 1.7rem !important;
  line-height: 1.2 !important;
  margin-top: 0.7em !important;
  margin-bottom: 0.25em !important;
}

h3 {
  font-size: 1.35rem !important;
  line-height: 1.2 !important;
  margin-top: 0.6em !important;
  margin-bottom: 0.2em !important;
}

h4, h5, h6 {
  font-size: 1.15rem !important;
  line-height: 1.2 !important;
  margin-top: 0.5em !important;
  margin-bottom: 0.15em !important;
}

table th, table td {
  font-size: 0.95rem !important;
  padding: 3px 6px !important;
}

/* Section spacing */
section, article, .content {
  margin-bottom: 1em !important;
}

hr {
  margin: 1.2em 0 !important;
}

blockquote {
  margin: 1em 0 !important;
  padding: 0.8em 1.2em !important;
  font-size: 1rem !important;
}

ul, ol {
  margin-top: 0.6em !important;
  margin-bottom: 0.8em !important;
}

/* Heading gaps */
h1 + *, h2 + *, h3 + *, h4 + *, h5 + *, h6 + * {
  margin-top: 0.5em !important;
}

/* Banner styling */
.feature {
  min-height: 500px;
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}

/* Shimmer animation - plays once on load */
.feature::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(232, 168, 124, 0.5) 50%,
    transparent 100%
  );
  animation: shimmer 2.5s ease-in-out forwards;
  pointer-events: none;
  z-index: 1;
}

@keyframes shimmer {
  0% { left: -100%; opacity: 1; }
  100% { left: 100%; opacity: 0; }
}

.feature h1,
.feature h2,
.feature p {
  color: #fffab1 !important;
  text-shadow: 
    0 0 12px rgba(0, 0, 0, 1),
    0 0 24px rgba(0, 0, 0, 0.8),
    0 0 36px rgba(0, 0, 0, 0.6);
}

/* Banner headers - much larger */
.feature h1 {
  font-size: 3rem !important;
  line-height: 1.1 !important;
}

.feature h2 {
  font-size: 2.4rem !important;
  line-height: 1.15 !important;
}

/* Page headings in primary color */
h1, h2, h3, h4, h5, h6 {
  color: #398275 !important;
}

/* Keep banner text light */
.feature h1, .feature h2 {
  color: #fffab1 !important;
}

/* Remove any text shadows from content area */
.content p,
.content a,
.content div {
  text-shadow: none !important;
}

/* Mobile navigation improvements */
@media (max-width: 640px) {
  /* Full width header */
  .header,
  .header .container,
  .nav--header {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  /* Burger button - right aligned, larger */
  .button--nav {
    display: block !important;
    margin-left: auto !important;
    margin-right: 15px !important;
    padding: 12px !important;
  }
  
  .button--nav svg {
    width: 24px !important;
    height: 24px !important;
  }
  
  
  /* Menu items styling with separators */
  .list--nav {
    text-align: left !important;
  }
  
  .item--nav {
    text-align: left !important;
  }
  
  .item--nav a {
    padding: 10px 15px !important;
    display: block !important;
    border-bottom: 1px solid rgba(57, 130, 117, 0.15) !important;
    margin-right: 60px !important;
  }
  
  .item--nav:last-child a {
    border-bottom: none !important;
  }
}
