/******************************
  Custom CSS
******************************/

@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

html {
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
}

body {
  border-top: 8px solid #257953;
  font-size:1rem;
  line-height: 1.625;
  color:#000;
  text-align:left;
}

.button.is-primary-green { 
  background-color:#257953;
  border-color: transparent;
  color: #fff;
}

.blog-index section:first-of-type { padding: 3rem 1.5rem 1.5rem; }
.blog-index section:not(:first-of-type) { padding: 0 1.5rem 1rem; }
.blog-index section .container { padding-bottom: 1.5rem; border-bottom: solid #f4f5f7 2px; }
.blog-index section:last-of-type {  padding: 1.5rem 1rem; }
.blog-index section:last-of-type .container { border-bottom: none; }

.navbar-item img { max-height: 4.75rem; }

time {
  text-transform: uppercase;
  font-size: .75rem;
  font-weight: 700;
  color: #6b7280;
}

.content p:not(:last-child) { margin-bottom: 2rem; }

a { color: #3E75ED; }

ul { margin-bottom: 2em; }

.has-text-primary {
    color: #257953 !important;
}


/******************************
  HOMEPAGE aka BLOG INDEX PAGE
******************************/

.hero .image img {
  object-fit: cover;
  border-radius: 6px; /* Matches Bulma's default rounded corners */
}

.hero .title, .hero .subtitle {
  font-family: 'Arial', sans-serif; /* Example font, replace with your brand's font */
}

.hero .has-background-success-light {
  background-color: #e6f7ef; /* A lighter shade for better readability */
}

.hero .column.has-background-success-light {
  display: flex;
  align-items: center;
}

.hero .box {
  width: 100%;
}

.title {
  font-size: 1.5rem;
  line-height: 1.125;
  color: #000;
  letter-spacing: -.025em;
}

.title-date {
  margin-top:1rem;
}

.excerpt {
  margin: 1rem 0;
}

.fa-calendar-day {
  color: #3E75ED;
}

.read-more {
  font-weight: 500;
  text-decoration: underline;
}

.card {
  transition: transform 0.3s ease;
}
.card:hover {
  transform: translateY(-10px);
  box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
}
.card-image {
  overflow: hidden;
}
.card-image img {
  transition: transform 0.3s ease;
}
.card:hover .card-image img {
  transform: scale(1.1);
}

.ad-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.ad-content {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.book-section {
    background: #f8f8f8;
    padding: 20px 0;
}

.books-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    padding: 20px;
}

.book-card {
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    width: calc(33.333% - 20px); /* Assuming you want 3 books per row, adjust as needed */
    max-width: 300px;
    padding: 15px;
    text-align: center;
    transition: transform 0.3s ease;
}

.book-card:hover {
    transform: translateY(-5px);
}

.book-cover {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

.book-title {
    margin-top: 10px;
    font-size: 1.2em;
}

.book-description p {
    font-size: 0.9em;
    color: #666;
}

.book-links {
    margin: 15px 0;
}

.book-links a {
    margin: 0 5px;
}

.book-links img {
    height: 40px;
}

.learn-more {
    display: inline-block;
    background-color: #257953; /* Your primary green */
    color: white;
    padding: 10px 15px;
    text-decoration: none;
    border-radius: 4px;
    margin-top: 10px;
    transition: background-color 0.3s ease;
    font-weight: bold; /* Optional: for emphasis */
    text-align: center; /* Optional: ensures centered text */
    width: 100%; /* Optional: makes the button full width of its container */
}

.learn-more:hover {
    background-color: #1e5f45; /* A darker shade of your green for hover effect */
}

.level-item.button.is-link.is-light,
.button.is-link.is-light.is-large.is-green {
    background-color: #e8f5e9; /* Light green background */
    color: #257953; /* Dark green text for contrast */
    border-color: transparent; /* Assuming you want no visible border */
    transition: background-color 0.3s ease, color 0.3s ease; /* Smooth transition for hover effects */
}

.level-item.button.is-link.is-light:hover,
.button.is-link.is-light.is-large.is-green:hover {
    background-color: #c8e6c9; /* Slightly darker green on hover */
    color: #1b5e20; /* Even darker text on hover for more contrast */
}

.level-item.button.is-link.is-light:focus,
.button.is-link.is-light.is-large.is-green:focus {
    /* Optional: Focus state for accessibility */
    border-color: #257953;
    box-shadow: 0 0 0 0.125em rgba(37, 121, 83, 0.25);
}

.button.is-link.is-light.is-large.is-green


/******************************
  INDIVIDUAL POST PAGE
******************************/

.content h1:not(:first-child) { 
  letter-spacing: -.025em;
  margin: .5rem 0;
  line-height: 2.5rem;
}

.other-posts {
  font-size: .875rem;
  font-weight: 900;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.further-reading {
  border-bottom: solid #d2d6dc; 
  padding: 1.5rem 0;
}

.further-reading h3 {
  color: #3E75ED;
}


/* ----------------------------------------------
   Layout and Container Styles
---------------------------------------------- */

/* Ensure the page container is narrower on larger screens */
@media (min-width: 768px) {
  .container.book-container {
    max-width: 75% !important;
    margin: 0 auto !important;
  }
}

/* Line between blog posts on blog index page */
.blog-index section .container { 
  border-bottom: solid #f4f5f7 2px;
  padding-bottom: 1.5em;
}
section:last-of-type .container { 
  border-bottom: none; 
}

.book-section {
  background-color: #ffffff; /* White background for even sections */
}

.book-section-alt {
  background-color: #f0f0f0; /* Light gray background for odd sections */
}

/* Book container headings */
.container.book-container h4 {
  margin-bottom: 0;
}

.container.book-container .button {
  margin-top: 1.35em;
}


/* ----------------------------------------------
   Book Figure Styles (for Book Covers)
---------------------------------------------- */

/* Book cover spine */
.figure {
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s ease-in-out;
}

.figure img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.3s ease-in-out;
}

/* Spine shadow effect on the book cover */
.figure::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4%;
  height: 100%;
  background: rgba(0, 0, 0, 0.05);
  box-shadow: inset -1px 0 2px rgba(0, 0, 0, 0.1);
  transition: width 0.3s ease-in-out;
}

/* ----------------------------------------------
 SEARCH
---------------------------------------------- */

#search-hits {
  position: absolute;
  z-index: 1000;
  background: white;
  width: 100%;
  max-width: 600px;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

#search-hits .box {
  margin-bottom: 0.5rem;
}

#search-hits .box:last-child {
  margin-bottom: 0;
}

.ais-SearchBox-form {
  display: flex;
}

.ais-SearchBox-input {
  flex-grow: 1;
}

.ais-SearchBox-submit,
.ais-SearchBox-reset {
  display: none;
}


/* ----------------------------------------------
   Back to Top Button Styles
---------------------------------------------- */

/* Back to Top Button */
#myBtn {
  opacity: 0; /* Start invisible */
  transition: opacity 0.5s ease; /* Smooth fade-in */
  position: fixed; /* Fixed/sticky position */
  bottom: 20px; /* Place the button at the bottom */
  right: 30px; /* Place the button 30px from the right */
  z-index: 99; /* Ensure it does not overlap */
  border: none; /* Remove borders */
  outline: none; /* Remove outline */
  background-color: #257953; /* Button background */
  color: white; /* White text */
  cursor: pointer; /* Add a pointer on hover */
  padding: 15px; /* Some padding */
  border-radius: 10px; /* Rounded corners */
}

/* Show the button when the user has scrolled */
#myBtn.show {
  opacity: 1; /* Fully visible when scrolled */
}

/* Button hover effect */
#myBtn:hover {
  background-color: #333; /* Darker background on hover */
}

/* Extra small devices (portrait phones, less than 768px)
No media query for `mobile` since this is the default
-------------------------------------------------- */

@media screen and (max-width: 768px) {
  .hero .column.is-half, .hero .column.has-background-success-light {
    width: 100%; /* Full width on mobile for better layout */
  }
  .hero .column {
    width: 100%;
  }
  .hero .column.has-background-success-light {
    height: auto; /* Reset height for mobile to prevent overflow issues */
  }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .book-card {
        width: calc(50% - 20px);
    }
}

@media (max-width: 480px) {
    .book-card {
        width: 100%;
    }
}

/* Tablets (tablets, 769px and up) */
@media (min-width: 768px) { 
  .title-container { margin-bottom: 2rem; }
  .title { font-size: 1.875rem; }
}

/* Desktops (desktops, 1024px and up) */
@media (min-width: 1024px) {  }

/* Widescreen devices (large desktops, 1216px and up) */
@media (min-width: 1216px) {  }

/* Full HD devices (extra large desktops, 1408px and up) */
@media (min-width: 1408px) {  }