/* =========================================================================
   Languages with Liam — La Biblioteca (PDF Shop) — page styles
   -------------------------------------------------------------------------
   Layers on top of tokens.css + landing.css + surfaces.css (the Journey
   design system). Only the biblioteca-specific surfaces live here, plus a
   handful of helper classes the theme/verano normally supply.
   All scoped under .lwl-jl so nothing leaks site-wide.
   ========================================================================= */

/* --- helper classes normally supplied by theme / verano.css ------------- */
.lwl-jl .j-fold__crest{ width:84px; height:84px; margin:0 auto; }
.lwl-jl .j-fold__crest img,
.lwl-jl .j-fold__crest svg{ width:100%; height:100%; display:block; }

.lwl-jl .sv-chip{
	background:rgba(255,252,247,.82); border:1px solid var(--color-line);
	border-radius:var(--radius-pill); padding:9px 18px;
	font-size:.9rem; font-weight:500; color:var(--color-deep);
	box-shadow:var(--shadow-1); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
}
.lwl-jl .sv-chip b{ color:var(--color-coral); font-weight:700; }

.lwl-jl .sv-center-intro{
	text-align:center; max-width:760px;
	margin:0 auto clamp(28px,5vw,48px); padding:0 var(--container-pad);
}
.lwl-jl .j-cta{ cursor:pointer; border:none; font-family:var(--font-body); }

/* ----------------------------------------------------------------------- */
/* HERO action block                                                        */
/* ----------------------------------------------------------------------- */
.lwl-jl .bib-hero{ max-width:760px; margin:8px auto 0; text-align:center; position:relative; z-index:2; }
.lwl-jl .bib-hero__actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:8px; }
.lwl-jl .bib-hero__chips{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:28px; }

/* ----------------------------------------------------------------------- */
/* INTRO band + promise strip                                               */
/* ----------------------------------------------------------------------- */
.lwl-jl .bib-intro{ padding:clamp(56px,9vw,104px) 0 clamp(20px,4vw,40px); }
.lwl-jl .bib-promise{
	display:flex; flex-wrap:wrap; gap:12px 26px; justify-content:center;
	max-width:880px; margin:clamp(20px,4vw,36px) auto 0; padding:0 var(--container-pad);
}
.lwl-jl .bib-promise__item{
	display:inline-flex; align-items:center; gap:9px;
	font-size:.96rem; font-weight:500; color:var(--color-ink-soft);
}
.lwl-jl .bib-promise__ic{
	display:inline-grid; place-items:center; width:30px; height:30px;
	border-radius:var(--radius-pill); background:var(--color-paper-warm);
	border:1px solid var(--color-line); font-size:.95rem; color:var(--color-coral);
}

/* ----------------------------------------------------------------------- */
/* THE THREE PACKS                                                          */
/* ----------------------------------------------------------------------- */
.lwl-jl .bib-packs{ padding:clamp(40px,7vw,88px) 0 clamp(56px,9vw,104px); }
.lwl-jl .bib-packs__grid{
	display:grid; gap:clamp(20px,3vw,30px);
	grid-template-columns:repeat(3,1fr);
	max-width:var(--container-max); margin:0 auto; padding:0 var(--container-pad);
	align-items:stretch;
}
@media (max-width:980px){ .lwl-jl .bib-packs__grid{ grid-template-columns:1fr; max-width:540px; } }

.lwl-jl .bib-pack{
	position:relative; display:flex; flex-direction:column;
	background:var(--color-paper);
	border:1px solid var(--color-line); border-radius:var(--radius-lg);
	padding:clamp(22px,2.6vw,30px); box-shadow:var(--shadow-2);
	overflow:hidden; transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
	--pack-accent:var(--color-coral);
}
.lwl-jl .bib-pack::before{
	content:""; position:absolute; inset:0 0 auto 0; height:5px;
	background:var(--pack-accent);
}
.lwl-jl .bib-pack--b1{ --pack-accent:var(--color-level-b1); } /* B1 · red */
.lwl-jl .bib-pack--b2{ --pack-accent:var(--color-level-b2); } /* B2 · green */
.lwl-jl .bib-pack--c1{ --pack-accent:var(--color-level-c1); } /* C1 · blue */
.lwl-jl .bib-pack.is-featured{
	border-color:color-mix(in srgb, var(--pack-accent) 45%, var(--color-line));
	box-shadow:var(--shadow-3);
}
@media (min-width:981px){ .lwl-jl .bib-pack.is-featured{ transform:translateY(-12px); } }
.lwl-jl .bib-pack:hover{ transform:translateY(-6px); box-shadow:var(--shadow-3); }
@media (min-width:981px){ .lwl-jl .bib-pack.is-featured:hover{ transform:translateY(-18px); } }

.lwl-jl .bib-pack__flag{
	position:absolute; top:16px; right:-34px; transform:rotate(45deg);
	background:var(--pack-accent); color:#fff;
	font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
	padding:5px 40px; box-shadow:var(--shadow-1);
}
.lwl-jl .bib-pack__head{ display:flex; align-items:center; gap:14px; }
.lwl-jl .bib-pack__badge{
	flex:0 0 auto; display:grid; place-items:center; width:54px; height:54px;
	border-radius:var(--radius-md); background:var(--pack-accent); color:#fff;
	font-family:var(--font-display); font-weight:700; font-size:1.35rem; letter-spacing:.02em;
	box-shadow:var(--shadow-1);
}
.lwl-jl .bib-pack__exam{ display:block; font-size:.74rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--color-ink-soft); }
.lwl-jl .bib-pack__name{
	margin:2px 0 0; font-family:var(--font-display); font-style:italic;
	font-weight:600; font-size:1.3rem; color:var(--color-heading); line-height:1.2;
}
.lwl-jl .bib-pack__tagline{ margin:16px 0 0; font-size:.98rem; line-height:1.55; color:var(--color-ink-soft); }

/* book shelf — four covers, fanned */
.lwl-jl .bib-pack__shelf{
	display:flex; justify-content:center; align-items:flex-end; gap:0;
	margin:clamp(20px,3vw,30px) 0 6px; min-height:170px; perspective:1100px;
}
.lwl-jl .bib-book{
	appearance:none; -webkit-appearance:none; background:none; border:none; padding:0; cursor:pointer;
	position:relative; width:78px; margin-left:-20px;
	transform:rotate(calc((var(--i) - 1.5) * 5deg)) translateY(calc(var(--i) * 0px));
	transform-origin:bottom center;
	transition:transform var(--dur-base) var(--ease-bounce), filter var(--dur-base) var(--ease-out);
	filter:drop-shadow(0 10px 18px rgba(43,37,48,.22));
}
.lwl-jl .bib-book:first-child{ margin-left:0; }
.lwl-jl .bib-book:nth-child(1){ z-index:1; }
.lwl-jl .bib-book:nth-child(2){ z-index:2; }
.lwl-jl .bib-book:nth-child(3){ z-index:3; }
.lwl-jl .bib-book:nth-child(4){ z-index:4; }
.lwl-jl .bib-book__img{ display:block; border-radius:4px 7px 7px 4px; overflow:hidden; background:var(--color-paper); }
.lwl-jl .bib-book__img img{ display:block; width:100%; height:auto; border-radius:4px 7px 7px 4px; }
.lwl-jl .bib-book__type{
	position:absolute; left:50%; bottom:-22px; transform:translateX(-50%) translateY(6px);
	font-size:.66rem; font-weight:600; letter-spacing:.06em; color:var(--color-ink-soft);
	white-space:nowrap; opacity:0; transition:opacity var(--dur-fast), transform var(--dur-fast);
	pointer-events:none;
}
.lwl-jl .bib-pack__shelf:hover .bib-book{ transform:rotate(0deg); margin-left:6px; }
.lwl-jl .bib-pack__shelf:hover .bib-book:first-child{ margin-left:0; }
.lwl-jl .bib-book:hover{
	transform:rotate(0deg) translateY(-14px) scale(1.06); z-index:9 !important;
	filter:drop-shadow(0 18px 30px rgba(43,37,48,.32));
}
.lwl-jl .bib-book:hover .bib-book__type{ opacity:1; transform:translateX(-50%) translateY(0); }
.lwl-jl .bib-book:focus-visible{ outline:2px solid var(--pack-accent); outline-offset:4px; border-radius:6px; }

/* what's inside list */
.lwl-jl .bib-pack__list{ list-style:none; margin:clamp(22px,3vw,30px) 0 0; padding:0; }
.lwl-jl .bib-pack__list li{
	display:flex; align-items:baseline; gap:10px; padding:9px 0;
	border-top:1px solid var(--color-line); font-size:.95rem;
}
.lwl-jl .bib-pack__list li:first-child{ border-top:none; }
.lwl-jl .bib-pack__tick{
	flex:0 0 auto; width:7px; height:7px; border-radius:50%;
	background:var(--pack-accent); transform:translateY(-1px);
}
.lwl-jl .bib-pack__list b{ color:var(--color-ink); font-weight:600; }
.lwl-jl .bib-pack__meta{ margin-left:auto; color:var(--color-ink-soft); font-size:.84rem; text-align:right; }

/* buy block */
.lwl-jl .bib-pack__buy{ margin-top:auto; padding-top:clamp(20px,3vw,28px); }
.lwl-jl .bib-pack__price{ display:flex; align-items:baseline; gap:10px; margin-bottom:14px; }
.lwl-jl .bib-pack__amt{ font-family:var(--font-display); font-weight:700; font-size:2.1rem; color:var(--color-heading); line-height:1; }
.lwl-jl .bib-pack__per{ font-size:.8rem; color:var(--color-ink-soft); }
.lwl-jl .bib-pack .j-cta--full[disabled]{ opacity:.55; cursor:not-allowed; }

.lwl-jl .bib-packs__foot{
	text-align:center; margin:clamp(30px,5vw,48px) auto 0; max-width:620px;
	padding:0 var(--container-pad); color:var(--color-ink-soft); font-size:.95rem;
}
.lwl-jl .bib-packs__foot a{ color:var(--color-coral); font-weight:600; }

/* ----------------------------------------------------------------------- */
/* Guide-type demo SVG animations (inside .s-surface__demo)                 */
/* ----------------------------------------------------------------------- */
.lwl-jl .bib-demo{ width:100%; height:100%; display:block; }
.lwl-jl .bib-line{ stroke-dasharray:120; stroke-dashoffset:120; }
.lwl-jl .bib-path{ stroke-dasharray:200; stroke-dashoffset:200; }
.lwl-jl .bib-tile, .lwl-jl .bib-foliage{ transform-box:fill-box; transform-origin:center; }
.lwl-jl .bib-tile{ opacity:0; }
.lwl-jl .bib-foliage{ transform:scale(.4); opacity:0; }
.lwl-jl .bib-wave rect{ transform-box:fill-box; transform-origin:center bottom; }

/* play when the surface scrolls into view (.j-in added by runtime) */
.lwl-jl .s-surface.j-in .bib-line{ animation:bibDraw .7s var(--ease-out) forwards; animation-delay:var(--d,0s); }
.lwl-jl .s-surface.j-in .bib-path{ animation:bibDrawLong .9s var(--ease-out) forwards; animation-delay:var(--d,0s); }
.lwl-jl .s-surface.j-in .bib-tile{ animation:bibPop .5s var(--ease-bounce) forwards; animation-delay:var(--d,0s); }
.lwl-jl .s-surface.j-in .bib-foliage{ animation:bibGrow .6s var(--ease-bounce) forwards; animation-delay:var(--d,0s); }
.lwl-jl .s-surface.j-in .bib-wave rect{ animation:bibWave 1.4s var(--ease-in-out) infinite alternate; }
.lwl-jl .bib-wave rect:nth-child(2n){ animation-delay:.2s; }
.lwl-jl .bib-wave rect:nth-child(3n){ animation-delay:.35s; }

@keyframes bibDraw{ to{ stroke-dashoffset:0; } }
@keyframes bibDrawLong{ to{ stroke-dashoffset:0; } }
@keyframes bibPop{ from{ opacity:0; transform:translateY(8px) scale(.92);} to{ opacity:1; transform:translateY(0) scale(1);} }
@keyframes bibGrow{ to{ transform:scale(1); opacity:1; } }
@keyframes bibWave{ from{ transform:scaleY(.5);} to{ transform:scaleY(1);} }

@media (prefers-reduced-motion:reduce){
	.lwl-jl .bib-line,.lwl-jl .bib-path{ stroke-dashoffset:0; }
	.lwl-jl .bib-tile,.lwl-jl .bib-foliage{ opacity:1; transform:none; }
	.lwl-jl .s-surface.j-in .bib-wave rect{ animation:none; }
}

/* ----------------------------------------------------------------------- */
/* FINAL CTA band — three mini cards                                        */
/* ----------------------------------------------------------------------- */
.lwl-jl .bib-final{
	display:grid; gap:16px; grid-template-columns:repeat(3,1fr);
	max-width:880px; margin:clamp(24px,4vw,40px) auto 0; padding:0 var(--container-pad);
}
@media (max-width:760px){ .lwl-jl .bib-final{ grid-template-columns:1fr; max-width:420px; } }
.lwl-jl .bib-final__card{
	display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px;
	background:rgba(255,252,247,.9); border:1px solid var(--color-line);
	border-radius:var(--radius-lg); padding:22px 18px; box-shadow:var(--shadow-1);
	border-top:4px solid var(--bib-fc,var(--color-coral));
}
.lwl-jl .bib-final__card--b1{ --bib-fc:var(--color-level-b1); } /* B1 · red */
.lwl-jl .bib-final__card--b2{ --bib-fc:var(--color-level-b2); } /* B2 · green */
.lwl-jl .bib-final__card--c1{ --bib-fc:var(--color-level-c1); } /* C1 · blue */
.lwl-jl .bib-final__lvl{ font-family:var(--font-display); font-weight:700; font-size:1.5rem; color:var(--bib-fc); }
.lwl-jl .bib-final__name{ font-family:var(--font-display); font-style:italic; font-size:.98rem; color:var(--color-heading); }
.lwl-jl .bib-final__price{ font-family:var(--font-display); font-weight:700; font-size:1.5rem; color:var(--color-heading); margin:2px 0 10px; }
.lwl-jl .bib-final__card .j-cta{ width:100%; }
.lwl-jl .bib-final__card .j-cta[disabled]{ opacity:.55; cursor:not-allowed; }

/* ----------------------------------------------------------------------- */
/* Cover lightbox                                                           */
/* ----------------------------------------------------------------------- */
.lwl-jl .bib-modal{
	position:fixed; inset:0; z-index:var(--z-overlay);
	display:grid; place-items:center; padding:clamp(20px,5vw,60px);
	background:rgba(26,21,31,.78); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
	opacity:0; transition:opacity var(--dur-base) var(--ease-out);
}
/* [hidden] must beat the display above or the invisible overlay eats clicks */
.lwl-jl .bib-modal[hidden]{ display:none; }
.lwl-jl .bib-modal.is-open{ opacity:1; }
.lwl-jl .bib-modal__frame{ margin:0; max-width:min(92vw,760px); width:100%; text-align:center; transform:scale(.94); transition:transform var(--dur-base) var(--ease-bounce); }
.lwl-jl .bib-modal.is-open .bib-modal__frame{ transform:scale(1); }
.lwl-jl .bib-modal__frame img{
	display:block; width:auto; max-width:100%; height:auto; max-height:88vh; margin:0 auto; object-fit:contain;
	border-radius:var(--radius-md); box-shadow:var(--shadow-cinematic);
}
.lwl-jl .bib-modal__frame figcaption{
	margin-top:16px; color:var(--color-paper);
	font-family:var(--font-display); font-style:italic; font-size:1.05rem;
}
.lwl-jl .bib-modal__close{
	position:absolute; top:18px; right:22px; width:44px; height:44px;
	border-radius:50%; border:none; cursor:pointer; font-size:1.6rem; line-height:1;
	background:rgba(255,252,247,.16); color:var(--color-paper);
	transition:background var(--dur-fast);
}
.lwl-jl .bib-modal__close:hover{ background:rgba(255,252,247,.3); }
.lwl-jl body.lwl-jl-modal-open{ overflow:hidden; }

/* ======================================================================= */
/* TRUST BAND                                                               */
/* ======================================================================= */
.lwl-jl .bib-trust{ padding:clamp(40px,7vw,72px) var(--container-pad) clamp(20px,4vw,36px); text-align:center; }
.lwl-jl .bib-trust__line{
	max-width:760px; margin:0 auto; font-family:var(--font-display);
	font-size:clamp(1.15rem,2.4vw,1.6rem); line-height:1.45; color:var(--color-heading);
}
.lwl-jl .bib-trust__line em{ color:var(--color-coral); font-style:italic; }

/* ======================================================================= */
/* MUESTRA section                                                          */
/* ======================================================================= */
.lwl-jl .bib-muestra{ padding:clamp(48px,8vw,96px) 0; background:var(--color-paper-warm); }
.lwl-jl .s-kicker--center{ text-align:center; display:block; }

/* ---- Flip viewer ---- */
.lwl-jl .bib-flip{ max-width:760px; margin:0 auto; padding:0 var(--container-pad); }
.lwl-jl .bib-flip__tabs{ display:flex; gap:8px; justify-content:center; margin-bottom:22px; }
.lwl-jl .bib-flip__tab{
	appearance:none; border:1px solid var(--color-line); background:var(--color-paper);
	border-radius:var(--radius-pill); padding:8px 22px; cursor:pointer;
	font-family:var(--font-display); font-weight:700; font-size:1rem; letter-spacing:.03em;
	color:var(--color-ink-soft); transition:all var(--dur-fast) var(--ease-out);
	--tab-c:var(--color-coral);
}
.lwl-jl .bib-flip__tab--b1{ --tab-c:var(--color-level-b1); }
.lwl-jl .bib-flip__tab--b2{ --tab-c:var(--color-level-b2); }
.lwl-jl .bib-flip__tab--c1{ --tab-c:var(--color-level-c1); }
.lwl-jl .bib-flip__tab:hover{ border-color:var(--tab-c); color:var(--tab-c); }
.lwl-jl .bib-flip__tab.is-active{ background:var(--tab-c); border-color:var(--tab-c); color:#fff; box-shadow:var(--shadow-1); }

.lwl-jl .bib-flip__stage{ display:flex; align-items:center; gap:clamp(6px,2vw,18px); justify-content:center; }
.lwl-jl .bib-flip__book{
	position:relative; flex:1 1 auto; max-width:540px; min-height:62vh;
	display:flex; align-items:center; justify-content:center; perspective:1600px;
}
.lwl-jl .bib-flip__page{
	margin:0; position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.lwl-jl .bib-flip__page[hidden]{ display:none; }
.lwl-jl .bib-flip__page img{
	display:block; max-width:100%; max-height:62vh; width:auto; height:auto;
	border-radius:4px 8px 8px 4px; box-shadow:var(--shadow-3);
	border-left:3px solid var(--color-coral);
	cursor:zoom-in; transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast);
}
.lwl-jl .bib-flip__page img:hover{ transform:translateY(-3px) scale(1.012); box-shadow:0 20px 50px rgba(43,37,48,.22); }
/* zoom affordance badge */
.lwl-jl .bib-flip__page::after{
	content:"⤢ Ampliar en HD"; position:absolute; top:10px; left:50%; transform:translateX(-50%) translateY(-6px);
	font-size:.7rem; font-weight:600; letter-spacing:.04em; color:#fff;
	background:rgba(43,37,48,.72); padding:5px 12px; border-radius:var(--radius-pill);
	opacity:0; pointer-events:none; transition:opacity var(--dur-fast), transform var(--dur-fast); z-index:2;
}
.lwl-jl .bib-flip__page:hover::after{ opacity:1; transform:translateX(-50%) translateY(0); }
.lwl-jl .bib-flip__page figcaption{
	margin-top:14px; display:flex; align-items:center; gap:10px;
	font-family:var(--font-display); font-style:italic; font-size:.98rem; color:var(--color-ink-soft);
}
.lwl-jl .bib-flip__cap-lvl{ font-style:normal; font-weight:700; font-size:.7rem; letter-spacing:.06em; color:#fff; border-radius:var(--radius-pill); padding:3px 10px; background:var(--color-coral); }
.lwl-jl .bib-flip__cap-lvl--b1{ background:var(--color-level-b1); }
.lwl-jl .bib-flip__cap-lvl--b2{ background:var(--color-level-b2); }
.lwl-jl .bib-flip__cap-lvl--c1{ background:var(--color-level-c1); }

/* page-turn entrance */
.lwl-jl .bib-flip__page--in-next{ animation:bibPageNext .42s var(--ease-out); }
.lwl-jl .bib-flip__page--in-prev{ animation:bibPagePrev .42s var(--ease-out); }
@keyframes bibPageNext{ from{ opacity:0; transform:translateX(36px) rotateY(-18deg); transform-origin:left center; } to{ opacity:1; transform:none; } }
@keyframes bibPagePrev{ from{ opacity:0; transform:translateX(-36px) rotateY(18deg); transform-origin:right center; } to{ opacity:1; transform:none; } }

.lwl-jl .bib-flip__nav{
	flex:0 0 auto; width:46px; height:46px; border-radius:50%; cursor:pointer;
	border:1px solid var(--color-line); background:var(--color-paper); color:var(--color-deep);
	font-size:1.6rem; line-height:1; display:grid; place-items:center;
	box-shadow:var(--shadow-1); transition:all var(--dur-fast) var(--ease-out);
}
.lwl-jl .bib-flip__nav:hover{ background:var(--color-coral); color:#fff; border-color:var(--color-coral); transform:scale(1.08); }
.lwl-jl .bib-flip__nav:active{ transform:scale(.96); }

.lwl-jl .bib-flip__foot{ display:flex; align-items:center; justify-content:center; gap:18px; margin-top:20px; }
.lwl-jl .bib-flip__dots{ display:flex; gap:7px; }
.lwl-jl .bib-flip__dot{ width:8px; height:8px; border-radius:50%; border:none; padding:0; cursor:pointer; background:var(--color-line); transition:all var(--dur-fast); }
.lwl-jl .bib-flip__dot.is-active{ background:var(--color-coral); transform:scale(1.3); }
.lwl-jl .bib-flip__counter{ font-family:var(--font-mono); font-size:.85rem; color:var(--color-ink-soft); }
.lwl-jl .bib-flip__hint{ text-align:center; margin-top:10px; font-size:.85rem; color:var(--color-ink-soft); }

/* ---- Try-it exercise ---- */
.lwl-jl .bib-try{ max-width:720px; margin:clamp(48px,7vw,80px) auto 0; padding:0 var(--container-pad); }
.lwl-jl .bib-try__intro{ text-align:center; margin-bottom:24px; }
.lwl-jl .bib-try__title{ font-family:var(--font-display); font-weight:600; font-size:clamp(1.5rem,3.4vw,2.1rem); color:var(--color-heading); margin:.2em 0; }
.lwl-jl .bib-try__title em{ font-style:italic; color:var(--color-coral); }
.lwl-jl .bib-try__lead{ color:var(--color-ink-soft); max-width:520px; margin:0 auto; }
.lwl-jl .bib-try__card{ background:var(--color-paper); border:1px solid var(--color-line); border-radius:var(--radius-lg); padding:clamp(20px,3vw,34px); box-shadow:var(--shadow-2); }
.lwl-jl .bib-try__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:24px; }
.lwl-jl .bib-q{ border-bottom:1px solid var(--color-line); padding-bottom:22px; }
.lwl-jl .bib-q:last-child{ border-bottom:none; padding-bottom:0; }
.lwl-jl .bib-q__head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.lwl-jl .bib-q__tag{ font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--color-indigo); background:rgba(84,96,168,.1); border-radius:var(--radius-pill); padding:3px 11px; }
.lwl-jl .bib-q__n{ font-family:var(--font-display); font-style:italic; color:var(--color-line); font-size:1.3rem; }
.lwl-jl .bib-q__stem{ font-size:1.1rem; color:var(--color-ink); margin:0 0 14px; line-height:1.5; }
.lwl-jl .bib-q__gap{ display:inline-block; min-width:64px; border-bottom:2px dashed var(--color-coral); }
.lwl-jl .bib-q__opts{ display:flex; flex-wrap:wrap; gap:10px; }
.lwl-jl .bib-q__opt{
	appearance:none; cursor:pointer; font-family:var(--font-body); font-size:1rem;
	border:1.5px solid var(--color-line); background:var(--color-paper); color:var(--color-ink);
	border-radius:var(--radius-md); padding:10px 20px; transition:all var(--dur-fast) var(--ease-out);
}
.lwl-jl .bib-q__opt:hover:not(:disabled){ border-color:var(--color-indigo); transform:translateY(-2px); }
.lwl-jl .bib-q__opt.is-selected{ border-color:var(--color-indigo); background:rgba(84,96,168,.08); font-weight:600; }
.lwl-jl .bib-q__opt.is-correct{ border-color:var(--color-moss); background:rgba(63,111,74,.12); color:var(--color-moss-deep); font-weight:700; }
.lwl-jl .bib-q__opt.is-wrong{ border-color:var(--color-coral); background:rgba(252,60,48,.08); color:var(--color-coral-dark); text-decoration:line-through; }
.lwl-jl .bib-q__opt:disabled{ cursor:default; }
.lwl-jl .bib-q__feedback{
	margin:14px 0 0; padding:12px 16px; border-radius:var(--radius-md);
	background:var(--color-paper-warm); border-left:3px solid var(--color-moss);
	font-size:.95rem; line-height:1.5; color:var(--color-ink-soft);
}
.lwl-jl .bib-q__feedback b{ color:var(--color-moss-deep); }
.lwl-jl .bib-q__feedback em{ font-style:italic; color:var(--color-ink); }
.lwl-jl .bib-try__actions{ display:flex; align-items:center; gap:16px; margin-top:24px; flex-wrap:wrap; }
.lwl-jl .bib-try__score{ font-family:var(--font-display); font-style:italic; font-size:1.1rem; color:var(--color-heading); }
.lwl-jl .bib-try__foot{ margin:18px 0 0; font-size:.92rem; color:var(--color-ink-soft); font-style:italic; }

/* ======================================================================= */
/* TESTIMONIALS                                                             */
/* ======================================================================= */
.lwl-jl .bib-testi{ padding:clamp(48px,8vw,96px) 0; }
.lwl-jl .bib-testi__grid{ display:grid; gap:20px; grid-template-columns:repeat(3,1fr); max-width:var(--container-max); margin:0 auto; padding:0 var(--container-pad); }
@media (max-width:860px){ .lwl-jl .bib-testi__grid{ grid-template-columns:1fr; max-width:540px; } }
.lwl-jl .bib-testi-card{ position:relative; background:var(--color-paper); border:1px solid var(--color-line); border-radius:var(--radius-lg); padding:30px 26px 24px; box-shadow:var(--shadow-1); display:flex; flex-direction:column; }
.lwl-jl .bib-testi-card__mark{ position:absolute; top:6px; left:18px; font-family:var(--font-display); font-size:3.4rem; color:var(--color-line); line-height:1; }
.lwl-jl .bib-testi-card__quote{ position:relative; font-family:var(--font-display); font-style:italic; font-size:1.05rem; line-height:1.5; color:var(--color-deep); margin:14px 0 20px; }
.lwl-jl .bib-testi-card__who{ display:flex; align-items:center; gap:10px; margin-top:auto; }
.lwl-jl .bib-testi-card__name{ font-weight:600; color:var(--color-ink); }
.lwl-jl .bib-testi-card__level{ font-size:.7rem; font-weight:700; letter-spacing:.08em; color:#fff; border-radius:var(--radius-pill); padding:3px 11px; }
.lwl-jl .bib-lvl--b1{ background:var(--color-level-b1); }
.lwl-jl .bib-lvl--b2{ background:var(--color-level-b2); }
.lwl-jl .bib-lvl--c1{ background:var(--color-level-c1); }

/* ======================================================================= */
/* FAQ accordion                                                            */
/* ======================================================================= */
.lwl-jl .bib-faq{ padding:clamp(40px,7vw,80px) 0; background:var(--color-paper-warm); }
.lwl-jl .bib-faq__list{ max-width:720px; margin:0 auto; padding:0 var(--container-pad); }
.lwl-jl .bib-faq__item{ border-bottom:1px solid var(--color-line); }
.lwl-jl .bib-faq__q{
	appearance:none; width:100%; background:none; border:none; cursor:pointer;
	display:flex; align-items:center; justify-content:space-between; gap:16px;
	padding:20px 4px; text-align:left; font-family:var(--font-display);
	font-size:1.12rem; font-weight:600; color:var(--color-heading);
}
.lwl-jl .bib-faq__chev{ flex:0 0 auto; width:14px; height:14px; border-right:2px solid var(--color-coral); border-bottom:2px solid var(--color-coral); transform:rotate(45deg); transition:transform var(--dur-base) var(--ease-out); margin-bottom:5px; }
.lwl-jl .bib-faq__q[aria-expanded="true"] .bib-faq__chev{ transform:rotate(-135deg); margin-bottom:-3px; }
.lwl-jl .bib-faq__a{ max-height:0; overflow:hidden; transition:max-height var(--dur-base) var(--ease-out); }
.lwl-jl .bib-faq__a p{ margin:0 4px 20px; color:var(--color-ink-soft); line-height:1.6; }

/* ======================================================================= */
/* STICKY BUY BAR                                                           */
/* ======================================================================= */
.lwl-jl .bib-stickybar{
	position:fixed; left:0; right:0; bottom:0; z-index:var(--z-sticky);
	display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap;
	padding:12px 20px; background:rgba(255,252,247,.94);
	-webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
	border-top:1px solid var(--color-line); box-shadow:0 -6px 24px rgba(43,37,48,.1);
	transform:translateY(110%); transition:transform var(--dur-base) var(--ease-out);
}
.lwl-jl .bib-stickybar[hidden]{ display:none; }
.lwl-jl .bib-stickybar.is-visible{ transform:none; }
.lwl-jl .bib-stickybar__txt{ font-size:.95rem; color:var(--color-ink); }
.lwl-jl .bib-stickybar__txt b{ color:var(--color-heading); }
.lwl-jl .bib-stickybar .j-cta{ padding-top:10px; padding-bottom:10px; }
@media (max-width:560px){
	.lwl-jl .bib-stickybar{ gap:10px; padding:10px 14px; }
	.lwl-jl .bib-stickybar__txt{ font-size:.82rem; flex:1 1 100%; text-align:center; }
}

@media (prefers-reduced-motion:reduce){
	.lwl-jl .bib-flip__page--in-next,
	.lwl-jl .bib-flip__page--in-prev{ animation:none; }
}

/* ======================================================================= */
/* ITERATION 3 — value signals, thumbnails, buy handoff, reassurance        */
/* ======================================================================= */

/* hero reassurance microcopy */
.lwl-jl .bib-hero__reassure{ margin:14px 0 0; font-size:.85rem; color:var(--color-ink-soft); }

/* pack page-count value stat */
.lwl-jl .bib-pack__stat{
	display:flex; align-items:baseline; gap:9px; margin-top:16px;
	padding:11px 15px; background:var(--color-paper-warm);
	border:1px solid var(--color-line); border-radius:var(--radius-md);
}
.lwl-jl .bib-pack__stat-num{ font-family:var(--font-display); font-weight:700; font-size:1.6rem; line-height:1; color:var(--pack-accent); }
.lwl-jl .bib-pack__stat-lbl{ font-size:.8rem; color:var(--color-ink-soft); line-height:1.3; }

/* flip viewer — thumbnail strip */
.lwl-jl .bib-flip__thumbs{
	display:flex; gap:8px; justify-content:center; flex-wrap:nowrap;
	margin-top:18px; padding:4px 2px; overflow-x:auto; scrollbar-width:thin;
}
.lwl-jl .bib-flip__thumb{
	flex:0 0 auto; width:46px; height:65px; padding:0; cursor:pointer;
	border:2px solid transparent; border-radius:4px; overflow:hidden;
	background:var(--color-paper); box-shadow:var(--shadow-1); opacity:.55;
	transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast);
}
.lwl-jl .bib-flip__thumb img{ width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
.lwl-jl .bib-flip__thumb:hover{ opacity:1; transform:translateY(-2px); }
.lwl-jl .bib-flip__thumb.is-active{ opacity:1; border-color:var(--color-coral); }

/* flip viewer — contextual buy handoff */
.lwl-jl .bib-flip__buy{ text-align:center; margin-top:22px; }

@media (max-width:560px){
	.lwl-jl .bib-flip__thumbs{ justify-content:flex-start; }
}
