/* BookSesh UI — shared design tokens + minimal component classes.
   Tokens/components/assets ONLY — no framework, no layout system, no JS.
   Source of truth for values: mu-plugins/booksesh-home-preview/assets/aura-home.css
   (Plus Jakarta Sans; ink/coral/lavender/paper/stone/blue brand system).
   Consumers enqueue this file directly; nothing here is auto-applied globally —
   every rule is a token or an opt-in `.bks-*` utility class, so importing this
   file has zero effect until a consumer's own scoped CSS/markup uses the vars
   or classes. Currently consumed by: booksesh-session-preview (page-scoped). */

:root {
  --bks-ink: #090711;
  --bks-body-ink: #252229;
  --bks-lav: #AA96F8;
  --bks-soft-lav: #EEE9FE;
  --bks-lav-deep: #7A5AF0;
  --bks-coral: #EB666D;
  --bks-paper: #F7F5F1;
  --bks-stone: #D8D3CC;
  --bks-blue: #0F40FF;
  --bks-white: #FFFFFF;

  --bks-font: 'Plus Jakarta Sans', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --bks-radius-sm: 12px;
  --bks-radius-md: 16px;
  --bks-radius-lg: 20px;
  --bks-radius-xl: 24px;

  --bks-ease: cubic-bezier(.22,.61,.36,1);
  --bks-hover-shadow: 0 8px 30px rgba(9,7,17,.09);
  --bks-hover-lift: -2px;
}

/* ---------- Pill chip (category/filter chip component) ---------- */
.bks-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid var(--bks-stone);
  background: var(--bks-white);
  color: var(--bks-body-ink);
  font-family: var(--bks-font);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background .2s var(--bks-ease), border-color .2s var(--bks-ease), color .2s var(--bks-ease);
}
.bks-chip:hover {
  border-color: var(--bks-lav-deep);
}
.bks-chip.is-active,
.bks-chip[aria-pressed="true"] {
  background: var(--bks-ink);
  border-color: var(--bks-ink);
  color: var(--bks-white);
}

/* ---------- Card accent (hover lift + shadow + radius) ---------- */
.bks-card {
  border-radius: var(--bks-radius-lg);
  overflow: hidden;
  transition: transform .3s var(--bks-ease), box-shadow .3s var(--bks-ease);
}
.bks-card:hover {
  transform: translateY(var(--bks-hover-lift));
  box-shadow: var(--bks-hover-shadow);
}

/* 2-line clamp for card titles */
.bks-title-clamp {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ---------- Button ---------- */
.bks-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  border-radius: var(--bks-radius-md);
  border: none;
  background: var(--bks-coral);
  color: var(--bks-white);
  font-family: var(--bks-font);
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  transition: background .2s var(--bks-ease), transform .2s var(--bks-ease), box-shadow .2s var(--bks-ease);
}
.bks-btn:hover {
  transform: translateY(-1px);
  box-shadow: var(--bks-hover-shadow);
}

/* ---------- Graceful placeholder (gradient + monogram) — used when a listing
   has no image; consumer supplies the monogram letter via a CSS custom
   property or a child element; this class only sets the gradient canvas. ---------- */
.bks-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--bks-soft-lav) 0%, var(--bks-paper) 100%);
  color: var(--bks-lav-deep);
  font-family: var(--bks-font);
  font-weight: 800;
  font-size: 28px;
}
