/* ===================================================
   CozyBooks UI LOCK (import-proof styling layer)
   Loaded last to prevent theme/Elementor bleed.
   Version: 4.7.24-ui-lock1
   =================================================== */

:root{
  --cozy-nude-brown:#C7A27C;
  --cozy-nude-brown-hover:#B8946F;
  --cozy-cream:#FBF4EE;
  --cozy-ink:#6B4B35;
}

/* Scoped variables */
.bal-book-wrap,
.bal-series-page,
.bal-series-browser{
  --bal-accent: var(--cozy-nude-brown);
}

/* -------- Series index grid (Cozieries) -------- */
.bal-series-grid{
  max-width: 1200px;
  margin: 0 auto !important;
  padding: 0 14px !important;
}

/* Card shell */
.bal-series-card{
  background:#fff !important;
  border-radius:18px !important;
  padding:14px !important;
  border:1px solid rgba(199,162,124,.18) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.06) !important;
  transition: transform .18s ease, box-shadow .18s ease;
}

.bal-series-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(0,0,0,.08) !important;
}

/* Series title */
.bal-series-card .bal-series-title,
.bal-series-card h3,
.bal-series-card h4{
  color: var(--cozy-ink) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  margin: 10px 0 6px !important;
}

/* Mini cover strip inside cards */
.bal-series-card .bal-series-covers{
  display:flex !important;
  gap:8px !important;
  align-items:flex-end !important;
  flex-wrap:nowrap !important;
  overflow:hidden !important;
}

/* Covers */
.bal-series-card img,
.bal-series-card img.bal-series-cover,
.bal-series-page img.bal-series-cover{
  border-radius:14px !important;
  border:1px solid rgba(199,162,124,.20) !important;
  background:#fff !important;
  box-shadow:0 6px 16px rgba(0,0,0,.08) !important;
}

/* -------- Book page: series inline strip -------- */
.bal-book-wrap .bal-series-inline-strip{
  background:#fff !important;
  border:1px solid rgba(199,162,124,.20) !important;
  border-radius:18px !important;
  padding:10px !important;
}

/* Ensure the number pill never breaks layout and stays on covers only */
.bal-series-related a.cozybooks-series-cover{
  position:relative !important;
  display:inline-block !important;
}

.bal-series-related .cozybooks-series-num{
  position:absolute !important;
  top:8px !important;
  left:8px !important;
  z-index:2 !important;
  background: rgba(199,162,124,.92) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.55) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.14) !important;
}

/* Links stay cozy */
.bal-series-browser a:hover,
.bal-series-page a:hover{
  color: var(--cozy-nude-brown-hover) !important;
}


/* ===================================================
   Cozy Micro-Polish Pass (safe + scoped)
   =================================================== */

/* Softer interaction + readable rhythm */
.bal-book-wrap, .bal-series-wrap, .bal-author-wrap{
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

/* Summary block */
.bal-book-wrap .bal-book-summary{
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(74,63,53,.10) !important;
  border-radius: 18px !important;
  padding: 12px 14px !important;
  margin: 12px 0 10px !important;
  box-shadow: 0 10px 22px rgba(74,63,53,.05) !important;
}
.bal-book-wrap .bal-book-summary h4{
  margin: 0 0 6px !important;
  font-size: 13px !important;
  letter-spacing: .02em !important;
  color: rgba(74,63,53,.92) !important;
}
.bal-book-wrap .bal-book-summary-text{
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: rgba(74,63,53,.92) !important;
}
.bal-book-wrap .bal-book-summary-text p{
  margin: 0 0 10px !important;
}
.bal-book-wrap .bal-book-summary-text p:last-child{
  margin-bottom: 0 !important;
}

/* Mini cover strips: cozy scroll + snap */
.bal-mini-cover-strip, .bal-series-mini-strip{
  display:flex !important;
  gap:10px !important;
  overflow-x:auto !important;
  padding: 6px 2px !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
}
.bal-mini-cover-strip a, .bal-series-mini-strip a{
  scroll-snap-align: start !important;
}
.bal-mini-cover-strip img, .bal-series-mini-strip img{
  border-radius: 14px !important;
  box-shadow: 0 12px 24px rgba(74,63,53,.10) !important;
  border: 1px solid rgba(74,63,53,.10) !important;
  transform: translateZ(0);
  transition: transform .15s ease, box-shadow .15s ease !important;
}
.bal-mini-cover-strip a:hover img, .bal-series-mini-strip a:hover img{
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 30px rgba(74,63,53,.14) !important;
}

/* Cozy glow on primary interactive elements */
.bal-series-card, .bal-book-card, .bal-author-card, .bal-pill, .bal-series-pill{
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease !important;
}
.bal-series-card:hover, .bal-book-card:hover, .bal-author-card:hover{
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 36px rgba(74,63,53,.12) !important;
  border-color: rgba(199,162,124,.35) !important;
}

/* Reduce “too much white space” feel by tightening card padding slightly */
.bal-series-card .bal-series-card-inner{
  padding: 12px 12px !important;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .bal-series-card, .bal-book-card, .bal-author-card, .bal-pill, .bal-series-pill,
  .bal-mini-cover-strip img, .bal-series-mini-strip img{
    transition: none !important;
  }
}
