/* =========================================================
   JOSHUA CLAUDE ADAMS — CSS CUSTOM FINAL
   Ce fichier doit être chargé APRÈS styles.css.
   ========================================================= */

:root{
  --jc-green-deep:#1E2720;
  --jc-green-library:#2F3B2F;
  --jc-ivory:#F4F0E6;
  --jc-gold:#B08D57;
  --jc-gold-light:#C9A46B;
  --jc-brown:#5B4636;
  --jc-black:#1A1816;
}

/* Base */
body{
  background-color:var(--jc-ivory) !important;
  color:var(--jc-black);
}

/* Navbar */
#mainNav,
#mainNav.is-fixed,
#mainNav.is-visible{
  background:linear-gradient(180deg, #1A211B 0%, var(--jc-green-deep) 100%) !important;
  border-bottom:1px solid rgba(176,141,87,.75) !important;
  font-family:"Cormorant Garamond", "Lora", serif !important;
}

#mainNav .site-logo{
  height:68px;
  width:auto;
  display:block;
}

#mainNav .navbar-nav > li.nav-item > a.nav-link{
  color:var(--jc-ivory) !important;
  font-family:"Cormorant Garamond", "Lora", serif !important;
  font-size:1.05rem !important;
  font-weight:600 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase;
}

#mainNav .navbar-nav > li.nav-item > a.nav-link:hover,
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus{
  color:var(--jc-gold) !important;
}

#mainNav .navbar-toggler{
  color:var(--jc-ivory) !important;
  border:1px solid rgba(176,141,87,.8) !important;
  font-family:"Cormorant Garamond", "Lora", serif !important;
}

/* Hero */
.site-heading h1{
  font-family:"Cormorant Garamond", serif !important;
  color:#E8DDC4 !important;
  font-weight:600 !important;
  letter-spacing:2px;
  line-height:1.1;
  text-shadow:0 3px 12px rgba(0,0,0,.6);
}

.site-heading .subheading{
  font-family:"Lora", serif !important;
  color:var(--jc-gold) !important;
  letter-spacing:6px;
  text-transform:uppercase;
}

/* Articles */
.post-preview,
.post-preview a,
.post-preview > a{
  text-decoration:none !important;
}

.post-title,
.post-preview .post-title,
.post-preview > a > .post-title{
  font-family:"Cormorant Garamond", serif !important;
  color:var(--jc-green-library) !important;
  font-size:2.4rem !important;
  font-weight:600 !important;
  line-height:1.12 !important;
  letter-spacing:.5px;
  margin-top:0;
  margin-bottom:.65rem;
  transition:color .3s ease;
}

.post-subtitle,
.post-preview .post-subtitle,
.post-preview > a > .post-subtitle{
  font-family:"Lora", serif !important;
  color:var(--jc-brown) !important;
  font-size:1.25rem !important;
  font-weight:400 !important;
  line-height:1.25 !important;
  margin-top:.4rem;
}

.post-preview:hover .post-title,
.post-preview > a:hover > .post-title{
  color:var(--jc-gold) !important;
}

.post-meta,
.post-preview .post-meta,
.post-preview > .post-meta{
  font-family:"Lora", serif !important;
  color:var(--jc-brown) !important;
  font-size:.95rem !important;
  font-style:italic;
  margin-top:1.2rem;
}

.post-meta a,
.post-preview .post-meta a,
.post-preview > .post-meta > a{
  color:var(--jc-green-library) !important;
  text-decoration:underline !important;
  text-underline-offset:4px;
}

hr.my-4{
  border:0 !important;
  height:1px !important;
  background-color:rgba(176,141,87,.65) !important;
  opacity:1 !important;
}

/* Bouton Archives */
.btn-library,
a.btn-library,
.btn.btn-library{
  display:inline-block;
  background:var(--jc-green-deep) !important;
  border:1px solid var(--jc-gold) !important;
  color:var(--jc-ivory) !important;
  padding:.8rem 1.8rem;
  text-decoration:none !important;
  font-family:"Cormorant Garamond", serif !important;
  font-size:1.15rem !important;
  font-weight:600 !important;
  letter-spacing:.5px;
  border-radius:0 !important;
  transition:all .3s ease;
}

.btn-library:hover,
a.btn-library:hover,
.btn.btn-library:hover{
  background:var(--jc-green-library) !important;
  border-color:var(--jc-gold-light) !important;
  color:var(--jc-ivory) !important;
}

.btn-library:focus,
a.btn-library:focus,
.btn.btn-library:focus{
  color:var(--jc-ivory) !important;
  border-color:var(--jc-gold-light) !important;
  box-shadow:0 0 0 .25rem rgba(176,141,87,.35) !important;
}

.btn-library:active,
a.btn-library:active,
.btn.btn-library:active{
  background:#151C17 !important;
  border-color:var(--jc-gold) !important;
  color:var(--jc-ivory) !important;
}

/*Responsive*/
@media (max-width: 768px){
    .btn-library{
        width:100%;
        display:block;
        text-align:center;
    }
}

/* About*/
.author-quote{
    font-family: "Cormorant Garamond", serif;
    font-size: 2.4rem;
    font-weight: 500;
    color: #2F3B2F;
    line-height: 1.3;
    text-align: center;
    max-width: 900px;
    margin: 0 auto 4rem auto;
}

.about-image{
    margin: 3rem 0;
}

.about-image img{
    display:block;
    width:100%;
    height:auto;
}

.about-image figcaption{
    margin-top:1rem;
    font-style:italic;
    color:#5B4636;
}

/*Books*/
/* =========================
   PAGE OUVRAGES
========================= */

/* Évite que les ouvrages passent sous la navbar fixe */
.book-section,
.portfolio-section,
#portfolio{
    padding-top: 120px;
}

/* Supprime le hover vert + croix du template */
.portfolio-item .portfolio-item-caption,
.portfolio-item-caption{
    display: none !important;
}

/* Taille plus élégante des couvertures */
.portfolio-item img{
    width: 100%;
    max-height: 560px;
    object-fit: cover;
    object-position: top;
}

/* Cartes ouvrages */
.portfolio-item{
    background: #F8F4EB;
    border: 1px solid rgba(176, 141, 87, .35);    height: 100%;
    transition: transform .3s ease, box-shadow .3s ease;
}

.portfolio-item .portfolio-caption{
    background: #F8F4EB;
    padding: 1.8rem 1rem;
}

.portfolio-item .portfolio-caption{
    background: #F8F4EB;
    padding: 1.8rem 1rem;
}

.portfolio-item:hover{
    transform: translateY(-6px);
    box-shadow: 0 18px 35px rgba(26, 24, 22, .18);
}

/* Alignement des titres */
.portfolio-caption{
    background: #F8F4EB;
    padding: 1.5rem 1rem;
}

.book-title{
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;

    font-family: "Cormorant Garamond", serif;
    color: #1E2720;
    font-size: 1.7rem;
    line-height: 1.15;
    text-align: center;
    margin-bottom: 1rem;
}

.book-genre{
    font-family: "Lora", serif;
    color: #5B4636;
    font-size: 1rem;
    text-align: center;
    margin: 0;
}

.book-genre strong{
    color: #8B6A3D;
}

/* Supprime le hover vert + croix sur les ouvrages */
#portfolio .portfolio-item .portfolio-link .portfolio-hover{
    display: none !important;
}

/*Book resume*/
.modal-book-cover{
    max-width: 360px;
    width: 100%;
    display: block;
    margin: 2rem auto;
}

.book-details{
    list-style: none;
    padding-left: 0;
}

.item-intro{
    color: #6A5848 !important;
    font-style: italic;
}

/* Page Mes futurs écrits */

#portfolio .post-title{
    font-family:"Cormorant Garamond", serif;
    font-size:clamp(2.3rem, 4vw, 3.2rem);
    color:var(--jc-green-library);
    margin-bottom:1rem;
}

#portfolio .post-title::after{
    content:"";
    display:block;
    width:90px;
    height:1px;
    background:var(--jc-gold);
    margin:1rem auto 0;
}

#portfolio .post-subtitle{
    font-family:"Lora", serif;
    font-size:1.15rem;
    line-height:1.7;
    font-weight:400;
    color:var(--jc-brown);
    max-width:1100px;
    margin:0 auto 2.5rem;
}

.portfolio-caption{
    text-align:center;
    padding:1.5rem 1rem 0;
}

.book-title{
    font-family:"Cormorant Garamond", serif;
    font-size:clamp(1.7rem, 2.5vw, 2.2rem);
    color:var(--jc-gold);
    margin-bottom:.5rem;
    line-height:1.15;
}

.book-genre{
    font-family:"Lora", serif;
    font-size:.95rem;
    color:var(--jc-brown);
    font-style:italic;
    margin-bottom:0;
}

/*Blog*/
/* =========================
   PAGE ARTICLE
========================= */
.article-page{
    max-width: 900px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.article-content::before{
    content:"";
    display:block;
    width:80px;
    height:1px;
    background-color:var(--jc-gold);
    margin:0 auto 4rem auto;
}

.article-page h2{
    font-family: "Cormorant Garamond", serif;
    color: #2F3B2F;
    font-size: 2.8rem;
    font-weight: 600;
    margin: 3.5rem 0 1.5rem;
}

.article-page p{
    font-family: "Lora", serif;
    color: #1A1816;
    font-size: 1.15rem;
    line-height: 1.9;
    margin-bottom: 1.8rem;
}

.article-page img{
    width: 100%;
    max-width: 760px;
    display: block;
    margin: 4rem auto 1rem;
    border: 1px solid rgba(176,141,87,.35);
}

.article-page .image-caption{
    text-align: center;
    font-family: "Lora", serif;
    font-style: italic;
    color: #7A6552;
    font-size: .95rem;
    margin-bottom: 4rem;
}

.article-page h2{
    color: #9A7745;
}

.article-image{
    margin: 4rem auto;
    max-width: 500px;
    text-align: center;
}

.article-image img{
    width: 100%;
    height: auto;
    display: block;
    border-radius: 2px;
}

.article-image figcaption{
    margin-top: 1rem;
    font-style: italic;
    color: #7A7A7A;
    font-size: 0.95rem;
}

.article-header{
    max-width: 900px;
    margin: 4rem auto 1rem auto;
    text-align: center;
}

/*Responsive*/
@media (max-width: 991px){

    .article-header{
        padding-left: 2rem;
        padding-right: 2rem;
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

}

@media (max-width: 576px){

    .article-header{
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

}

.article-header h1{
    font-family: "Cormorant Garamond", serif;
    font-size: 4rem;
    color: #1E2720;
    margin-bottom: 1rem;
}

/*Responsive*/
.article-header h1{
    font-size: 4rem;
}

@media (max-width: 991px){
    .article-header h1{
        font-size: 3rem;
    }
}

@media (max-width: 576px){
    .article-header h1{
        font-size: 2.5rem;
        line-height: 1.15;
    }
}

.article-subtitle{
    font-family: "Lora", serif;
    font-size: 1.4rem;
    font-style: italic;
    color: #B8935C;
    max-width: 700px;
    margin: 0 auto 1.5rem auto;
}

.article-meta{
    color: #777;
    font-size: 0.95rem;
}

.article-signature{
    margin-top:5rem;
    text-align:center;
    padding-top:3rem;
    border-top:1px solid rgba(169,122,69,.3);
}

.signature-quote{
    font-style:italic;
    color:#8b8b8b;
    margin-bottom:1.5rem;
}

.signature-author{
    font-family:"Cormorant Garamond", serif;
    font-size:2rem;
    color:var(--jc-black);
    margin-bottom:0.3rem;
}

.signature-role{
    font-size:0.9rem;
    text-transform:uppercase;
    letter-spacing:3px;
    color:var(--jc-gold);
}

.other-articles{
    margin-top:5rem;
    padding-top:3rem;
    border-top:1px solid rgba(169,122,69,.25);
}

.other-articles h3{
    font-family:"Cormorant Garamond", serif;
    font-size:2.2rem;
    color:var(--jc-gold);
    margin-bottom:2rem;
}

.other-articles ul{
    list-style:none;
    padding:0;
}

.other-articles li{
    margin-bottom:1rem;
}

.other-articles li::before{
    content:"❧";
    color:var(--jc-gold);
    margin-right:.8rem;
}

.other-articles li{
    margin-bottom:1rem;
}

.other-articles a{
    color:var(--jc-black);
    text-decoration:none;
    transition:all .3s ease;
}

.other-articles a:hover{
    color:var(--jc-gold);
    padding-left:5px;
}

/* Footer */
footer{
  background:var(--jc-ivory) !important;
  border-top:1px solid rgba(176,141,87,.25) !important;
}

.social-links a{
  width:46px;
  height:46px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border:1px solid var(--jc-gold);
  border-radius:50%;
  color:var(--jc-gold) !important;
  background:transparent !important;
  font-size:1.1rem;
  text-decoration:none !important;
  transition:all .3s ease;
}

.social-links a:hover,
.social-links a:focus{
  background:var(--jc-green-deep) !important;
  color:var(--jc-ivory) !important;
  transform:translateY(-3px);
}

footer .small{
  font-family:"Lora", serif !important;
  color:var(--jc-brown) !important;
}

/* Responsive */
@media (max-width:991.98px){
  #mainNav,
  #mainNav.is-fixed,
  #mainNav.is-visible{
    background:var(--jc-green-deep) !important;
  }

  #mainNav .site-logo{
    height:56px;
  }

  #mainNav .navbar-collapse{
    background:var(--jc-green-deep) !important;
    border-top:1px solid rgba(176,141,87,.35);
    padding:.75rem 0;
  }

  #mainNav .navbar-nav > li.nav-item > a.nav-link{
    color:var(--jc-ivory) !important;
    padding-top:.65rem;
    padding-bottom:.65rem;
  }
}

@media (max-width:767.98px){
  .post-title,
  .post-preview .post-title,
  .post-preview > a > .post-title{
    font-size:2rem !important;
  }

  .post-subtitle,
  .post-preview .post-subtitle,
  .post-preview > a > .post-subtitle{
    font-size:1.08rem !important;
  }

  .site-heading h1{
    font-size:3rem !important;
  }

  .site-heading .subheading{
    font-size:.9rem !important;
    letter-spacing:3px;
  }
}


/* =========================
   PAGES LEGALES
========================= */

.legal-page{
    max-width: 900px;
    margin: 0 auto;
    padding: 5rem 1.5rem 6rem;
}

.legal-page h2{
    font-family: "Cormorant Garamond", serif;
    color: var(--jc-gold);
    font-size: 2.4rem;
    font-weight: 600;
    margin: 3.5rem 0 1.2rem;
}

.legal-page h2:first-child{
    margin-top: 0;
}

.legal-page h3{
    font-family: "Cormorant Garamond", serif;
    color: var(--jc-green-library);
    font-size: 1.7rem;
    margin: 2rem 0 1rem;
}

.legal-page p,
.legal-page li{
    font-family: "Lora", serif;
    color: var(--jc-black);
    font-size: 1.05rem;
    line-height: 1.8;
}

.legal-page ul{
    margin: 1rem 0 2rem;
    padding-left: 1.4rem;
}

.legal-page a{
    color: var(--jc-green-library);
    text-underline-offset: 4px;
}

.legal-page a:hover{
    color: var(--jc-gold);
}

.legal-note{
    background: rgba(248, 244, 235, .8);
    border-left: 3px solid var(--jc-gold);
    padding: 1.3rem 1.5rem;
    margin: 2.5rem 0;
    font-style: italic;
    color: var(--jc-brown);
}

.footer-legal-links{
    margin-top: 1rem;
    font-family: "Lora", serif;
    font-size: .9rem;
}

.footer-legal-links a{
    color: var(--jc-brown);
    text-decoration: none;
    margin: 0 .45rem;
}

.footer-legal-links a:hover{
    color: var(--jc-gold);
}

/* =========================
   BANDEAU COOKIES TECHNIQUES
========================= */

.cookie-banner{
    position: fixed;
    left: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    z-index: 9999;
    max-width: 980px;
    margin: 0 auto;
    background: rgba(30, 39, 32, .97);
    color: var(--jc-ivory);
    border: 1px solid rgba(176, 141, 87, .65);
    box-shadow: 0 18px 45px rgba(0,0,0,.35);
    padding: 1.2rem 1.4rem;
    display: none;
}

.cookie-banner.is-visible{
    display: block;
}

.cookie-banner-inner{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

.cookie-banner p{
    margin: 0;
    font-family: "Lora", serif;
    font-size: .95rem;
    line-height: 1.6;
}

.cookie-banner a{
    color: var(--jc-gold-light);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cookie-accept{
    border: 1px solid var(--jc-gold);
    background: transparent;
    color: var(--jc-ivory);
    font-family: "Cormorant Garamond", serif;
    font-size: 1.05rem;
    font-weight: 600;
    padding: .7rem 1.2rem;
    cursor: pointer;
    white-space: nowrap;
    transition: all .3s ease;
}

.cookie-accept:hover,
.cookie-accept:focus{
    background: var(--jc-gold);
    color: var(--jc-green-deep);
}

@media (max-width: 768px){
    .legal-page{
        padding: 3.5rem 1.3rem 4.5rem;
    }

    .legal-page h2{
        font-size: 2rem;
    }

    .cookie-banner{
        left: 1rem;
        right: 1rem;
        bottom: 1rem;
        padding: 1rem;
    }

    .cookie-banner-inner{
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }

    .cookie-accept{
        width: 100%;
        text-align: center;
    }
}


.contact-privacy-note{
    font-family: "Lora", serif;
    color: var(--jc-brown);
    font-size: .9rem;
    line-height: 1.6;
    margin: .2rem 0 1.6rem;
}

.contact-privacy-note a{
    color: var(--jc-green-library);
    text-underline-offset: 4px;
}

.contact-privacy-note a:hover{
    color: var(--jc-gold);
}
