.bcw-wrapper{
  --paper:#FAF6EE;
  --gold:#C8A657;
  --gold-bright:#E0BF73;
  --gold-deep:#8B6914;
  --cream:#F4EDE0;
  --cream-warm:#EBE2D1;
  --ink:#000000;
  --mute:#8A8275;
  --black:#0A0A0A;
  --black-soft:#161616;
}

.catalogue-section{
  /*background:var(--paper);*/
  /*padding:140px 56px;*/
  overflow:hidden;
}

.catalogue-header{
  text-align:center;
  margin-bottom:10px;
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}

.section-num {
    font-family: var(--e-global-typography-primary-font-family);
    font-size: 14px;
    font-style: italic;
    color: var(--gold);
    letter-spacing: 0.15em;
    margin-bottom: 8px;
}

.section-eyebrow {
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: 10px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--gold);
    font-weight: 500;
    margin-bottom: 18px;
}


h2.section-title {
    font-family: var(--e-global-typography-primary-font-family);
    font-weight: 300;
    font-size: 64px;
    line-height: 1.05;
    letter-spacing: -0.015em;
}



.catalogue-sub {
  font-size:20px;
  color:var(--mute);
  line-height:1.5;
  font-family: var(--e-global-typography-primary-font-family);
  font-weight: 300 !important;
  font-style: italic;
}

.carousel{
  position:relative;
  max-width:1200px;
  margin:0 auto;
  perspective:2000px;
}

.carousel-stage{
  position:relative;
  height:540px;
  display:flex;
  justify-content:center;
  align-items:center;
}

.book{
  position:absolute;
  width:280px;
  height:420px;
  border-radius:3px;
  transition:all .9s cubic-bezier(.22,.61,.36,1);
  cursor:pointer;
  box-shadow:0 30px 80px rgba(0,0,0,.25),
             0 10px 30px rgba(0,0,0,.15);
  overflow:hidden;
}


.book-title span {
    font-style: italic;
}

.book.active{
  transform:translateX(0) scale(1) rotateY(0);
  z-index:5;
  opacity:1;
}

.book.prev-1{
  transform:translateX(-340px) scale(.78) rotateY(28deg);
  z-index:3;
  opacity:.55;
  filter:brightness(.65);
}

.book.prev-2{
  transform:translateX(-560px) scale(.62) rotateY(38deg);
  z-index:1;
  opacity:.28;
  filter:brightness(.5);
}

.book.next-1{
  transform:translateX(340px) scale(.78) rotateY(-28deg);
  z-index:3;
  opacity:.55;
  filter:brightness(.65);
}

.book.next-2{
  transform:translateX(560px) scale(.62) rotateY(-38deg);
  z-index:1;
  opacity:.28;
  filter:brightness(.5);
}

.book.hidden{
  opacity:0;
  pointer-events:none;
  transform:scale(.4);
}

.book-cover{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:36px 28px;
  position:relative;
}

.book-cover::after{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:8px;
  height:100%;
  background:linear-gradient(90deg,rgba(0,0,0,.4),transparent);
}

.book-imprint{
  font-size:9px;
  letter-spacing:.3em;
  text-transform:uppercase;
  opacity:.7;
  font-weight: 300;
}

.book-title{
  font-family:var(--e-global-typography-primary-font-family);
  font-size:30px;
  line-height:1.05;
  font-weight:400;
  letter-spacing:-0.01em;
}

.book-title em{
  font-style:italic;
}

.book-author{
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.7;
  font-weight: 300;
}

.carousel-info{
  text-align:center;
  margin-top:30px;
  min-height:90px;
}

.carousel-title{
  font-family:var(--e-global-typography-primary-font-family);
  font-size:30px;
  font-style:italic;
  margin-bottom:8px;
  color: var(--ink);
  font-weight: 300;
}

.carousel-meta{
  font-size:11px;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--mute);
  font-style: normal;
  font-weight: 300;
}

.carousel-controls{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:28px;
  margin-top:40px;
}

.carousel-btn{
  width:48px;
  height:48px;
  border:1px solid var(--ink);
  background:transparent;
  border-radius:50%;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  transition:all .3s;
  color:var(--ink);
}

.carousel-btn:hover{
  background:var(--ink);
  color:var(--gold);
}

.carousel-dots{
  display:flex;
  gap:8px;
}

.dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(0,0,0,.2);
  cursor:pointer;
  transition:all .3s;
}

.dot.active{
  background:var(--gold);
  transform:scale(1.4);
}

.gradient-1 .book-cover{
  background:linear-gradient(180deg,#3a1f0e 0%,#1a0e08 100%);
}

.gradient-2 .book-cover{
  background:linear-gradient(180deg,#1a1a1a 0%,#0a0a0a 100%);
}

.gradient-3 .book-cover{
  background:linear-gradient(180deg,#c8946a 0%,#8b5a2b 100%);
}

.gradient-4 .book-cover{
  background:linear-gradient(180deg,#5a3a28 0%,#2a1810 100%);
}

.gradient-5 .book-cover{
  background:linear-gradient(180deg,#2a1a2a 0%,#0a0a0a 100%);
}

.gradient-6 .book-cover{
  background:linear-gradient(180deg,#b85c4a 0%,#6a2e1a 100%);
}

.gradient-7 .book-cover{
  background:linear-gradient(180deg,#d4a85a 0%,#8b6914 100%);
}

.gradient-8 .book-cover{
  background:linear-gradient(180deg,#2a1a1a 0%,#0a0a0a 100%);
}




/* =========================
   BASE TEXT (inherit Elementor font)
========================= */

.book-cover{
  position: relative;
  overflow: hidden;
}

/* ALL TEXT DEFAULT */
.book-imprint,
.book-title,
.book-author{
  position: relative;
  z-index: 2;
  transition: all 0.3s ease;
}

/* =========================
   GRADIENT TEXT THEMES
   (apply based on .gradient-X class)
========================= */

/* GRADIENT 1 */
.gradient-1 .book-imprint,
.gradient-1 .book-title,
.gradient-1 .book-author{
  color: #C8A657;
}

/* GRADIENT 2 */
.gradient-2 .book-imprint,
.gradient-2 .book-title,
.gradient-2 .book-author{
  color: #EDEDED;
}

/* GRADIENT 3 */
.gradient-3 .book-imprint,
.gradient-3 .book-title,
.gradient-3 .book-author{
  color: #F5E6C8;
}

/* GRADIENT 4 */
.gradient-4 .book-imprint,
.gradient-4 .book-title,
.gradient-4 .book-author{
  color: #FFD6A5;
}

/* GRADIENT 5 */
.gradient-5 .book-imprint,
.gradient-5 .book-title,
.gradient-5 .book-author{
  color: #D6B4FF;
}

/* GRADIENT 6 */
.gradient-6 .book-imprint,
.gradient-6 .book-title,
.gradient-6 .book-author{
  color: #FFB4B4;
}

/* GRADIENT 7 */
.gradient-7 .book-imprint,
.gradient-7 .book-title,
.gradient-7 .book-author{
  color: #B4FFD8;
}

/* GRADIENT 8 */
.gradient-8 .book-imprint,
.gradient-8 .book-title,
.gradient-8 .book-author{
  color: #A8C5FF;
}

/* =========================
   IMAGE COVER OVERRIDE
========================= */

.book-cover.has-cover-image .book-imprint,
.book-cover.has-cover-image .book-title,
.book-cover.has-cover-image .book-author{
  color: #ffffff !important;
}

/* optional readability overlay already exists */
.book-cover.has-cover-image::before{
  content:'';
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,0.2), rgba(0,0,0,0.55));
  z-index:1;
}


@media(max-width:900px){

  .catalogue-section{
    padding-left:24px;
    padding-right:24px;
  }

  .book{
    width:220px;
    height:330px;
  }

  .book.prev-1{
    transform:translateX(-260px) scale(.78) rotateY(28deg);
  }

  .book.next-1{
    transform:translateX(260px) scale(.78) rotateY(-28deg);
  }

  .book.prev-2{
    transform:translateX(-420px) scale(.62) rotateY(38deg);
  }

  .book.next-2{
    transform:translateX(420px) scale(.62) rotateY(-38deg);
  }

}

@media(max-width:600px){
h2.section-title {
    font-size: 44px;
  }
}


.book-cover.has-cover-image {
    object-fit: contain !important;
    width: 100% !important;
    height: 100% !important;
    background-position: center;
    /*background-size: contain;*/
    background-size: 100% 100%;
    background-repeat: no-repeat;
}


.book-cover.has-cover-image:before {
    display:none !important;
}



.bcw-wrapper .book.hidden .book-cover,
.bcw-wrapper .book[class*="hidden"] .book-cover {
    opacity: 0 !important;
    display: none !important;
}


.bcw-wrapper .book.hidden .book-title,
.bcw-wrapper .book.hidden .book-author,
.bcw-wrapper .book.hidden .book-imprint {
    opacity: 0 !important;
    display: none !important;
}


@media only screen and (max-width: 767px) {
    .bcw-wrapper .carousel-stage {
        max-height: 370px !important;
    }
}


.carousel, .carousel-stage, .book {
    pointer-events: auto !important; /* Taaki mouse events block na hon */
}

button.carousel-btn:focus {
    background: var(--e-global-color-f200338) !important;
}