:root{
    --background: rgb(40,62,92);
    /* --primary: black;
    --secondary: rgb(148,60,107,1);
    --tirtiary: #eadcbb; */

    --tirtiary: grey;
    /* --primary: rgb(80,120,191); */
    --primary:  rgb(40,62,92);;
    --secondary: rgb(183,209,253);

    --transition-time: 0.5s;
}

.white {filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(23deg) brightness(118%) contrast(118%);}
.primary-color {filter: invert(29%) sepia(13%) saturate(4385%) hue-rotate(284deg) brightness(92%) contrast(81%);}
.secondary-color {filter: invert(87%) sepia(10%) saturate(555%) hue-rotate(4deg) brightness(99%) contrast(97%);}

/* Shared font family */
h1, h2, h3, h4, h5, h6, p, li {
    font-family: 'Georgia', 'serif';
}

.hero-button {
    font-size: 24px;
    font-family: 'Georgia', 'serif';
    background-image: linear-gradient(to right, rgb(73, 121, 197) , rgb(84, 42, 124));
    text-decoration: none;
    a {
        color:white;
    }
    margin-right: 2em;
}

@media (max-width: 768px) {
    .hero-button {
        margin-right: 0em;
    }
}


.hero {
    width: 100%;
    height: 50vh; /* fold shows only the top half */
    overflow: hidden;
}

.hero img {
    width: 100%;
    height: auto; /* keep original full image height */
    display: block;
}

#name-header {  
  font-family: "Tangerine", cursive;
  font-size: 90px;
  text-transform: none !important;
  padding: 5px;
}

.container {
    width:60%;
}

.center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    display:block;
}

.center-image {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100%; 
    object-fit: cover;
    /* max-height: 100%;  */
    /* width: 90%; */
}
.home-navbar {
    background-color: rgba(0,0,0,0.0) !important;
    border-bottom: rgba(0,0,0,0.0) !important;
    a {
        color: white !important;
    }
}

.navbar-header {
    text-transform: uppercase;
    font-size: 48px;
    background-color: var(--background);
    border-bottom: var(--primary) solid;

    display: flex;
    justify-content: space-between; /* h1 left, links right */
    align-items: center;
    align-items: flex-start;        /* CHANGED: top-align instead of vertical center */
    padding: 0 2rem;

    h1 {
       text-align: center;
       text-align: left;           /* CHANGED */
       color: var(--secondary);
       margin: 0;                  /* ADDED */
    }

   /* ADDED: prevent p-4 from forcing vertical centering */
   #name-header {
       padding: 0 !important;
   }

    ul {
        display: flex;
        gap: 12px;
        padding: 0;
        margin: 0;
        list-style: none;
        align-items: flex-start;    /* ADDED */
        margin-left: auto; /* ✅ PUSH NAV TO RIGHT */
    }

    li {
       display: inline;
       margin-right:6px;
       display: block;             /* CHANGED */
       margin-right: 0;            /* CHANGED */
        font-size: 20px;
        color: var(--primary);
    }

    a {
        color: var(--secondary);
        transition: color var(--transition-time);
        text-decoration: none;
    }

    a:hover {
        color: var(--primary);
    }

    a.active {
        color: var(--primary);
    }
}

@media (max-width: 768px) {
    .navbar-header {
       flex-direction: row;
       align-items: flex-start;
       flex-wrap: nowrap;
       overflow-x: clip;
       flex-direction: column;      /* CHANGED: allow second row under header */
       align-items: center;
       overflow-x: hidden;
        gap: 12px;
    }

    .navbar-header ul {
       flex-direction: row;
       align-items: center;
       flex-wrap: nowrap;
       min-width: 0;
       flex-direction: row;         /* CHANGED: horizontal links */
       flex-wrap: wrap;             /* CHANGED: wrap below header */
       justify-content: center;
       width: 100%;
    }

   .navbar-header li {
       white-space: nowrap;
   }

    .navbar-header h1 {
        font-size: 28px;
    }

    .navbar-header li {
        font-size: 16px;
    }
}






/* .navbar-header {
    position: relative;
    background: url("../images/Hero_CampNightfall.png") no-repeat center top;
    background-size: cover;
    color: white;
}

/* Optional: add a dark overlay for readability 
.navbar-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 0;
}

.navbar-header * {
    position: relative;
    z-index: 1;
} */



/*  Changes to try and get stuff for the fold ==============================================================*/

html, body {
    margin: 0;
    padding: 0;
}

/* FULL-FOLD HERO NAVBAR */.hero-fold {
    height: 100vh;
    background: url("../images/Hero_CampNightfall.png") no-repeat center top;
    background-size: cover;
    position: relative;
    color: white;
}

/* overlay for readability */
.hero-fold::before {
    content: "";
    position: absolute;
    inset: 0;
    /* background: rgba(0,0,0,0.45); */
}

/* keep navbar and content above overlay */
.hero-fold nav,
.hero-content {
    position: relative;
    z-index: 1;
}

/* navbar layout */
.navbar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 2rem;
}

#name-header {
    margin: 0;
}

.navbar-header ul {
    list-style: none;
    display: flex;
    gap: 2rem;
    margin: 0;
    padding: 0;
}
.hero-content {
    display: flex;
    width: 100%;
    /* height: 100%; */
    /* align-items: center;
    justify-content: center;
    padding: 3rem 2rem; */
}


.hero-text {
    flex: 0 0 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;

    align-items: flex-end;   /* right inside column */
    text-align: right;
}

.hero-text p {
    font-size: 30px;
    margin: 0.5rem 0;
    display: inline;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.hero-image {
    flex: 0 0 50%;
    display: flex;
    justify-content: flex-start; /* left inside column */
    align-items: center;
}

.hero-image img {
    max-height: 80vh;
    width: auto;
    max-width: 100%;           /* IMPORTANT: prevents bleeding */
    display: block;
}


/* Mobile stack */
@media (max-width: 768px) {
    .hero-content {
        flex-direction: column;
    }

    .hero-image,
    .hero-text {
        flex: 0 0 100%;
        width: 100%;
    }

    .hero-image {
        justify-content: center;
    }

    .hero-text {
        align-items: center;
        text-align: center;
    }
}




/*  Changes to try and get stuff for the fold ==============================================================*/


.section {
    h1,h2,h3 {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 10px;
        padding-bottom: 10px;
        display: block;
    }
    p {
        text-align: center;
    }

    li {
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 15px;
        text-align: center;
        font-size: 18px;
        list-style-type: none;
    }
    
    margin-top: 10px;
    margin-bottom:5px;
    padding-bottom:10px;
    padding-bottom:5px;
}

.section-flex {
    h1,h2,h3 {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 10px;
        padding-bottom: 10px;
        display: block;
        flex-basis: 100%;
    }
    p {
        text-align: center;
    }
    display: inline-flex;
    flex-wrap: wrap;
    margin-bottom:10px;
    padding-bottom:10px;
}

.section-body {
    margin-bottom: 10px;
    margin-left:auto;
    margin-right:auto;
    padding: 10px;
    padding-bottom: 10px;
}

.book-section {
    display: inline-flex;
    flex-wrap: wrap;
    margin-bottom:10px;
    padding-bottom:10px;
}

.column-3 {
    width: 30%;
}

.column-2 {
    width: 45%;
}

h1 {
    color: var(--primary);
}

h2 {
    color: var(--primary);
    font-size: 30px;
}

p {
    font-size: 18px;
    line-height: 40px;
}

/* a {
    color: var(--secondary);
    text-decoration: underline; 
} */


/* Transition from secondary color to tirtiary color for links */
a {
    color: var(--primary);
    -webkit-transition: color var(--transition-time);
    -moz-transition: color var(--transition-time);
    -o-transition: color var(--transition-time);
    transition: color var(--transition-time);
}
a:hover {
    color: var(--secondary);
}

a.active {
    color: var(--secondary);
}


.copyright {
    float:left;
    padding-left:10px;
    padding-right:10px;
}

.social-media {
    float:right;
    padding-left:10px;
    padding-right:10px;
}

/*****BOOKS***/
#books {
    a {
        text-decoration: none !important;
    }
}

.book {
    margin:auto;
    padding: 5px;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    transition: 0.3s;
    text-align: center;

    img {
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding:10px;
        max-width: 100%; 
        /* max-height: 400px;
        min-height: 100px; */
        /* object-fit: cover; */
    }
}

.book:hover {
    box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
}

.book-details {
    padding: 2px 16px;
    color: black !important;
    text-decoration: none !important;
}

/* Small devices such as phones (768px or lesser) */
@media only screen and (max-width: 768px) { 

    .container {
        width:90%;
    }
    .section-body {
        width: 90%;
    }
    .column-3 {
        width: 90%;
    }
    .column-2 {
        width: 90%;
    }
    
    .book {
        margin-top:10px;
        margin-bottom:10px;
    }
}

@media only screen and (max-width: 1024px) and (min-width: 769px){  
    .section-body {
        width: 90%;
    }
    .column-3 {
        width: 90%;
    }
    .column-2 {
        width: 90%;
    }
    .book {
        margin-top:10px;
        margin-bottom:10px;
    }
}


/* FEATURED BOOKS (CONSOLIDATED) */
*,
*::before,
*::after {
  box-sizing: border-box;
}

.featured-books {
  padding: 4rem 1.5rem;
}

.featured-books__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: stretch;
}

.book-card {
  flex: 1 1 calc((100% - (3rem * 2)) / 3);
  max-width: calc((100% - (3rem * 2)) / 3);

  display: flex;
  flex-direction: column;

  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}



.book-card__image {
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  display: block;
}

.book-card__synopsis {
  flex: 1; /* keeps CTA aligned at bottom */
}

/* Desktop padding bump */
@media (min-width: 900px) {
  .featured-books {
    padding: 5rem 2rem;
  }
}

/* Tablet: 2 columns */
@media (max-width: 900px) {
  .book-card {
    flex: 1 1 calc((100% - 1.5rem) / 2);
    max-width: calc((100% - 1.5rem) / 2);
  }
}

/* Mobile: 1 column + tighter padding */
@media (max-width: 600px) {
  .featured-books {
    padding: 3rem 1.25rem;
  }

  .book-card {
    flex: 1 1 100%;
    max-width: 100%;
  }
}
/* More space between cards */
.featured-books__grid {
  gap: 3rem; /* increase spacing */
}

/* Make the entire card (image + text + button) smaller together */
@media (min-width: 901px) {
  .book-card {
    flex: 0 1 280px;   /* fixed-ish card width */
    max-width: 280px;  /* keeps card smaller */
  }
}

/* For outlined text */
.white-text-black-outline {
  color: white;
  /* background-color: white; */
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}
/* For outlined text */
.black-text-white-outline {
  color: black;
  /* background-color: white; */
  text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}