/* ===== Ksiegi Zakonu, feuille de style globale ===== */
:root{
  --gold:#D79E4E;
  --gold-soft:#e4d4b0;
  --green:#1D4831;
  --green-dark:#173a28;
  --green-line:#2c5a41;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Libre Baskerville',Georgia,'Times New Roman',serif;
  background:var(--green);
  color:var(--gold-soft);
  line-height:1.7;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--gold);text-decoration:none;}
img{max-width:100%;display:block;}
h1,h2,h3{font-weight:400;color:var(--gold);margin:0 0 .6em;line-height:1.2;}

/* ===== Header / navigation ===== */
.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--green);
  border-bottom:2px solid var(--gold);
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 40px;
}
.site-header .brand img{height:46px;width:auto;}
.nav-links{
  display:flex;align-items:center;gap:34px;list-style:none;margin:0;padding:0;
}
.nav-links a{
  font-style:italic;font-size:1.05rem;color:var(--gold);
  letter-spacing:.3px;transition:color .2s,opacity .2s;
}
.nav-links a:hover,.nav-links a.active{color:#f0c877;}
.burger{
  display:none;background:none;border:none;cursor:pointer;padding:6px;
}
.burger span{
  display:block;width:28px;height:2px;background:var(--gold);margin:6px 0;transition:.3s;
}

/* ===== Footer ===== */
.site-footer{
  border-top:2px solid var(--gold);
  background:var(--green);
  padding:44px 40px 26px;
}
.footer-cols{
  display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;
  max-width:1200px;margin:0 auto;
}
.footer-col{flex:1 1 260px;}
.footer-brand img{height:44px;margin-bottom:16px;}
.footer-tagline{font-style:italic;font-size:.9rem;color:var(--gold-soft);max-width:420px;}
.footer-col h4{color:var(--gold);font-weight:700;font-size:1.05rem;margin:0 0 4px;}
.footer-col .sub{font-style:italic;color:var(--gold-soft);}
.footer-col .addr{font-style:italic;color:var(--gold-soft);font-size:.95rem;}
.footer-bottom{
  text-align:center;margin-top:36px;padding-top:20px;
  font-weight:700;font-size:.9rem;color:var(--gold);letter-spacing:.4px;
}

/* ===== Boutons ===== */
.btn{
  display:inline-block;background:var(--gold);color:var(--green);
  font-style:italic;font-size:1.05rem;padding:12px 30px;border:1px solid var(--gold);
  transition:.25s;cursor:pointer;
}
.btn:hover{background:transparent;color:var(--gold);}

/* ===== Home / hero ===== */
.hero{
  position:relative;min-height:640px;display:flex;align-items:center;justify-content:center;
  background:#0d1410 center/cover no-repeat;
  background-image:linear-gradient(rgba(15,25,18,.28),rgba(15,25,18,.45)),url('../assets/hero-shelf.jpg');
  text-align:center;padding:40px 20px;
}
.hero-inner{max-width:760px;}
.hero-title-box{
  border:2px solid var(--gold);padding:34px 30px 26px;
  background:linear-gradient(rgba(29,72,49,.34),rgba(29,72,49,.34));
}
.hero-title-box .logo-word{
  font-size:clamp(2rem,6vw,3.6rem);letter-spacing:.14em;color:var(--gold);
  text-shadow:0 2px 10px rgba(0,0,0,.6);
}
.hero-sub{
  color:var(--gold);font-style:italic;font-size:clamp(1.1rem,2.6vw,1.5rem);
  margin:24px 0 14px;text-shadow:0 2px 8px rgba(0,0,0,.7);
}
.hero-quote{
  color:var(--gold-soft);font-style:italic;font-size:clamp(.95rem,2vw,1.15rem);
  text-shadow:0 2px 8px rgba(0,0,0,.75);margin:0;
}

/* ===== Sections génériques ===== */
.section{padding:70px 40px;}
.section-narrow{max-width:900px;margin:0 auto;text-align:center;}
.passion-title{
  font-style:italic;font-size:clamp(2rem,5vw,3rem);color:var(--gold);text-align:center;margin-bottom:34px;
}
.passion-text{
  font-style:italic;color:var(--gold-soft);font-size:1.15rem;max-width:760px;margin:0 auto 14px;text-align:center;
}
.cta-wrap{text-align:center;margin-top:40px;}
.band-img img{width:100%;height:clamp(180px,26vw,320px);object-fit:cover;}

/* ===== Księgarnia (about) ===== */
.about-head{
  display:grid;grid-template-columns:1fr 2fr;gap:50px;padding:70px 40px 40px;max-width:1200px;margin:0 auto;
}
.about-head h1{font-style:italic;font-size:clamp(2.4rem,5vw,3.4rem);}
.about-head h3{font-weight:700;font-style:italic;font-size:1.2rem;}
.about-cols{columns:2;column-gap:44px;}
.about-cols p{font-style:italic;margin:0 0 1em;break-inside:avoid;}
.about-img{max-width:1300px;margin:20px auto;padding:0 40px;}
.about-img img{width:100%;height:auto;}
.about-forgotten{
  display:grid;grid-template-columns:1fr 2fr;gap:50px;padding:20px 40px 70px;max-width:1200px;margin:0 auto;align-items:start;
}
.about-forgotten h2{font-style:italic;font-size:clamp(2rem,4.5vw,2.9rem);}
.about-forgotten p{font-style:italic;margin:0;}

/* ===== Kontakt ===== */
.contact-wrap{
  display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;
  max-width:1200px;margin:0 auto;padding:70px 40px;
}
.contact-img img{width:100%;height:auto;border:1px solid rgba(215,158,78,.25);}
.contact-info h1{font-style:italic;font-size:clamp(2.4rem,5vw,3.4rem);margin-bottom:20px;}
.contact-info .org{font-style:italic;font-weight:700;line-height:1.5;margin-bottom:18px;}
.contact-info .founder{font-style:italic;font-weight:700;margin-bottom:22px;}
.contact-line{display:flex;align-items:center;gap:14px;font-style:italic;margin-bottom:16px;}
.contact-line img{width:46px;height:auto;flex:none;}
.contact-note{font-style:italic;margin-top:24px;max-width:420px;}

/* ===== Kolekcja ===== */
.collection-head{padding:60px 40px 30px;max-width:1200px;margin:0 auto;}
.collection-head h1{font-style:italic;font-size:clamp(2.4rem,5vw,3.4rem);margin-bottom:6px;}
.collection-head p{font-style:italic;margin:2px 0;color:var(--gold-soft);}
.grid-books{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:38px 30px;
  max-width:1200px;margin:0 auto;padding:20px 40px 80px;
}
.book{text-align:center;}
a.book{color:inherit;display:block;transition:transform .2s;}
a.book:hover{transform:translateY(-4px);}
a.book:hover .title{color:#f0c877;}
.book .thumb{
  display:block;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--green-dark);
  border:1px solid rgba(215,158,78,.28);
}
.book .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
a.book:hover .thumb img{transform:scale(1.04);}
.book .title{font-style:italic;color:var(--gold);font-size:.95rem;margin:12px 0 2px;line-height:1.35;}
.book .state{font-style:italic;color:var(--gold-soft);font-size:.82rem;}

/* ===== Livre (page détail) ===== */
.book-detail{max-width:1100px;margin:0 auto;padding:50px 40px 80px;}
.back-link{display:inline-block;font-style:italic;margin-bottom:22px;color:var(--gold);}
.back-link:hover{color:#f0c877;}
.book-detail h1{font-style:italic;font-size:clamp(2rem,4.5vw,3rem);margin-bottom:8px;}
.book-state{font-style:italic;color:var(--gold-soft);font-size:1.05rem;margin:0 0 34px;}
.gallery{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:26px;
}
.gal-thumb{
  padding:0;border:1px solid rgba(215,158,78,.3);background:var(--green-dark);cursor:pointer;
  aspect-ratio:3/4;overflow:hidden;transition:border-color .2s,transform .2s;
}
.gal-thumb:hover{border-color:var(--gold);transform:translateY(-3px);}
.gal-thumb img{width:100%;height:100%;object-fit:cover;display:block;}

/* ===== Lightbox ===== */
.lightbox{
  display:none;position:fixed;inset:0;z-index:100;
  background:rgba(9,16,12,.94);align-items:center;justify-content:center;
}
.lightbox.open{display:flex;}
.lb-img{max-width:88vw;max-height:86vh;width:auto;height:auto;object-fit:contain;
  border:1px solid rgba(215,158,78,.4);box-shadow:0 8px 40px rgba(0,0,0,.6);}
.lb-close,.lb-prev,.lb-next{
  position:absolute;background:none;border:none;color:var(--gold);cursor:pointer;
  font-family:inherit;line-height:1;user-select:none;transition:color .2s;
}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{color:#f0c877;}
.lb-close{top:18px;right:26px;font-size:2.6rem;}
.lb-prev,.lb-next{top:50%;transform:translateY(-50%);font-size:4rem;padding:0 22px;}
.lb-prev{left:6px;}
.lb-next{right:6px;}
.lb-count{position:absolute;bottom:20px;left:0;right:0;text-align:center;
  color:var(--gold-soft);font-style:italic;font-size:.95rem;}

/* ===== Połączenie (login) ===== */
.login-page{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:60px 20px;}
.login-container{width:360px;max-width:100%;border:1px solid var(--gold);padding:34px 30px 38px;}
.login-container h2{text-align:center;color:var(--gold);font-size:1.9rem;margin-bottom:26px;}
.login-container input[type="email"],
.login-container input[type="password"]{
  width:100%;padding:12px;margin:9px 0;border:1px solid var(--gold);color:var(--gold-soft);
  border-radius:0;background:transparent;font-family:inherit;font-size:1rem;
}
.login-container input::placeholder{color:#9db39f;font-style:italic;}
.login-container input[type="submit"]{
  width:100%;padding:13px;margin-top:14px;background:var(--green);color:var(--gold);
  border:1px solid var(--gold);border-radius:0;cursor:pointer;font-weight:700;
  text-transform:uppercase;font-family:inherit;letter-spacing:1px;transition:.25s;
}
.login-container input[type="submit"]:hover{background:var(--gold);color:var(--green);}
.message{margin:14px 0 2px;font-size:.95rem;text-align:center;min-height:1.2em;}
.message.success{color:var(--gold);}
.message.error{color:var(--gold);}

/* ===== Kod ===== */
.kod-page{padding:60px 40px 90px;text-align:center;}
.kod-page h1{font-size:clamp(2.2rem,5vw,3.2rem);margin-bottom:40px;}
.kod-codex{max-width:1056px;margin:0 auto;}
.kod-codex img{width:100%;height:auto;margin:0 auto;}
.codex-mobile{display:none;}

/* ===== Responsive ===== */
@media(max-width:860px){
  .about-head,.about-forgotten,.contact-wrap{grid-template-columns:1fr;gap:26px;}
  .about-cols{columns:1;}
  .contact-img{order:-1;}
}
@media(max-width:760px){
  .site-header{padding:12px 24px;}
  .burger{display:block;}
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;gap:0;background:var(--green);border-bottom:2px solid var(--gold);
  }
  .nav-links.open{display:flex;}
  .nav-links li{width:100%;text-align:center;border-top:1px solid var(--green-line);}
  .nav-links a{display:block;padding:14px;}
  .section,.kod-page{padding-left:24px;padding-right:24px;}
  .about-img,.grid-books,.collection-head{padding-left:24px;padding-right:24px;}
  .site-footer{padding:34px 24px 22px;}
  .codex-desktop{display:none;}
  .codex-mobile{display:block;}
  .grid-books{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:28px 20px;}
  .book-detail{padding-left:24px;padding-right:24px;}
  .gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;}
  .lb-prev,.lb-next{font-size:3rem;padding:0 12px;}
  .lb-close{font-size:2.2rem;top:12px;right:16px;}
}
