.elementor-widget-container .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-container .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-181 .elementor-element.elementor-element-6721d78{--display:flex;}.elementor-widget-shortcode .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-shortcode .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}body.elementor-page-181:not(.elementor-motion-effects-element-type-background), body.elementor-page-181 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}/* Start custom CSS *//* =========================
   LineSwiper Microbook CSS (Full)
   - Smaller typography (about half)
   - Dark theme = pure white text
   - Footer page number sits next to LineSwiper logo (requires mb-footer-row wrapper)
   ========================= */

/* Prevent white flash */
html, body,
body.single-microbook{
  background: #0b0f14 !important;
}

/* Core container */
body.single-microbook .mb-book{
  position: relative !important;

  height: 100vh !important;
  min-height: 100vh !important;

  height: calc(var(--vh, 1vh) * 100) !important;
  min-height: calc(var(--vh, 1vh) * 100) !important;

  overflow: hidden !important;

  background: var(--mb-bg, #0b0f14) !important;
  color: var(--mb-fg, #ffffff) !important;
}

/* -------------------------
   Theme variables
------------------------- */
/* =========================
   FORCE DARK THEME TO PURE WHITE
   ========================= */

body.single-microbook .mb-theme-dark,
body.single-microbook .mb-theme-dark .mb-book,
body.single-microbook .mb-theme-dark .mb-page,
body.single-microbook .mb-theme-dark .mb-head,
body.single-microbook .mb-theme-dark .mb-content,
body.single-microbook .mb-theme-dark .mb-p,
body.single-microbook .mb-theme-dark .mb-h1,
body.single-microbook .mb-theme-dark .mb-h2,
body.single-microbook .mb-theme-dark li {
  color: #ffffff !important;
}

/* Muted text still slightly dimmed */
body.single-microbook .mb-theme-dark .mb-sub,
body.single-microbook .mb-theme-dark .mb-num,
body.single-microbook .mb-theme-dark .mb-brand {
  color: rgba(255,255,255,0.75) !important;
}

body.single-microbook .mb-theme-light{
  --mb-bg: #ffffff;
  --mb-fg: #111111;
  --mb-muted: rgba(17,17,17,.65);
  --mb-border: rgba(17,17,17,.18);
  --mb-panel: rgba(17,17,17,.06);
  --mb-link: #111111;
}

body.single-microbook .mb-theme-beige{
  --mb-bg: #f4efe6;
  --mb-fg: #2a2a2a;
  --mb-muted: rgba(42,42,42,.68);
  --mb-border: rgba(42,42,42,.18);
  --mb-panel: rgba(42,42,42,.06);
  --mb-link: #2a2a2a;
}

body.single-microbook .mb-theme-graph{
  --mb-bg: #0f1117;
  --mb-fg: #ffffff;
  --mb-muted: rgba(255,255,255,.72);
  --mb-border: rgba(255,255,255,.18);
  --mb-panel: rgba(255,255,255,.06);
  --mb-link: #ffffff;

  background-image:
    linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px) !important;
  background-size: 22px 22px !important;
}

/* Make all text inherit theme colour */
body.single-microbook .mb-book,
body.single-microbook .mb-book p,
body.single-microbook .mb-book h1,
body.single-microbook .mb-book h2,
body.single-microbook .mb-book li{
  color: inherit !important;
  font-family: "Inter","SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
}

/* -------------------------
   Track: horizontal swipe
------------------------- */
body.single-microbook .mb-book .mb-track{
  height: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scroll-snap-stop: always !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: none;
  scroll-behavior: auto;
}

/* Each page */
body.single-microbook .mb-book .mb-page{
  flex: 0 0 100% !important;
  width: 100% !important;
  height: 100% !important;
  scroll-snap-align: start !important;
  position: relative !important;
  box-sizing: border-box !important;

  /* More sensible padding */
  padding: 120px clamp(18px, 4vw, 28px) 110px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Content alignment */
body.single-microbook .mb-book .mb-head,
body.single-microbook .mb-book .mb-content{
  width: 100% !important;
  max-width: 490px !important;
  margin: 0 auto !important;
  text-align: center !important;

  /* gentle lift */
  transform: translateY(-4vh);
}

/* Reset margins */
body.single-microbook .mb-book h1,
body.single-microbook .mb-book h2,
body.single-microbook .mb-book p,
body.single-microbook .mb-book ul,
body.single-microbook .mb-book ol{
  margin: 0 !important;
}

/* -------------------------
   Typography (HALVED-ish)
------------------------- */
body.single-microbook .mb-book .mb-h1{
  font-size: clamp(20px, 4.2vw, 34px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.015em !important;
}

body.single-microbook .mb-book .mb-h2{
  font-size: clamp(18px, 3.6vw, 28px) !important;
  line-height: 1.18 !important;
}

body.single-microbook .mb-book .mb-p{
  font-size: clamp(14px, 2.8vw, 20px) !important;
  line-height: 1.45 !important;
  margin-top: 14px !important;
}

body.single-microbook .mb-book .mb-sub{
  color: var(--mb-muted) !important;
  font-size: 12px !important;
  margin-top: 10px !important;
}

/* Swipe hint */
body.single-microbook .mb-book .mb-swipehint{
  display: inline-flex !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--mb-muted) !important;
  font-size: 13px !important;
  margin-top: 10px !important;
}

body.single-microbook .mb-book .mb-arrow{
  font-size: 16px !important;
  line-height: 1 !important;
}


/* -------------------------
   Lists (rich mode)
------------------------- */
body.single-microbook .mb-book .mb-list{
  margin-top: 14px !important;
  padding-left: 20px !important;
  text-align: left !important;
  max-width: 520px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-microbook .mb-book .mb-li{
  margin-bottom: 8px !important;
  font-size: clamp(13px, 2.6vw, 18px) !important;
  line-height: 1.45 !important;
}

/* Embeds */
body.single-microbook .mb-book .mb-embed{
  position: relative !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 18px auto 0 auto !important;
  aspect-ratio: 16 / 9 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: rgba(0,0,0,.2) !important;
}

body.single-microbook .mb-book .mb-embed iframe{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
}

/* Content images */
body.single-microbook .mb-content img{
  display: block;
  max-width: 100%;
  height: auto;
  margin: 18px auto;
  border-radius: 14px;
}

/* -------------------------
   Top bar logo
------------------------- */
body.single-microbook .mb-book .mb-topbar{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 18px;
  z-index: 10;
  pointer-events: auto;
}

body.single-microbook .mb-book .mb-toplogo{
  width: auto !important;
  height: 150px !important;
  max-height: 150px !important;
  max-width: none !important;
  display: block;
}

/* -------------------------
   Footer
------------------------- */
body.single-microbook .mb-book .mb-footer{
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
  z-index: 7 !important;
  pointer-events: auto !important;
}

/* Desktop nav buttons */
body.single-microbook .mb-book .mb-navdesk{
  display: none;
  gap: 10px;
}

@media (hover:hover) and (pointer:fine){
  body.single-microbook .mb-book .mb-navdesk{ display: inline-flex; }
  body.single-microbook .mb-book .mb-footer{ bottom: 48px !important; }
}

/* Nav buttons */
body.single-microbook .mb-book .mb-btn{
  border: 1px solid var(--mb-border);
  background: var(--mb-panel);
  color: var(--mb-fg);
  padding: 9px 12px;
  border-radius: 999px;
  font-size: 13px;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

body.single-microbook .mb-book .mb-btn:active{
  transform: translateY(1px);
}

/* Footer row: logo + page number (REQUIRES mb-footer-row wrapper) */
body.single-microbook .mb-book .mb-footer-row{
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* Footer logo */
body.single-microbook .mb-book .mb-logo-link{
  text-decoration: none !important;
  line-height: 0 !important;
}

body.single-microbook .mb-book .mb-logo{
  height: 28px !important;
  width: auto !important;
  max-width: 220px !important;
  object-fit: contain !important;
  opacity: .95 !important;
  display: block !important;
}

/* Page number beside logo */
body.single-microbook .mb-book .mb-num{
  opacity: 0.75 !important;
  font-size: 12px !important;
  color: var(--mb-muted) !important;
  white-space: nowrap;
}

/* Tools (Share / Remix etc) */
body.single-microbook .mb-book .mb-tools{
  display: flex;
  justify-content: center;
  gap: 10px;
}

body.single-microbook .mb-book .mb-tool{
  font: inherit;
  font-size: 12px;
  line-height: 1;
  background: transparent !important;
  border: 1px solid var(--mb-border);
  color: inherit;
  padding: 6px 10px;
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;
  opacity: .92;
}

body.single-microbook .mb-book .mb-tool:hover{
  opacity: 1;
}

/* Branding line */
body.single-microbook .mb-book .mb-brand{
  margin-top: 2px;
  font-size: 11px;
  letter-spacing: 0.02em;
  opacity: 0.65;
  text-align: center;
}

body.single-microbook .mb-book .mb-brand a{
  color: var(--mb-muted);
  text-decoration: none;
}

body.single-microbook .mb-book .mb-brand a:hover{
  opacity: 1;
  text-decoration: underline;
}

/* Links */
body.single-microbook .mb-book .mb-link,
body.single-microbook .mb-book a{
  color: var(--mb-link) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* Base size (medium default) */
body.single-microbook .mb-book .mb-p{
  font-size: clamp(18px, 3.8vw, 28px) !important;
  line-height: 1.45 !important;
}

/* Whole-book size variants */
body.single-microbook .mb-book.mb-booksize-large .mb-p{
  font-size: clamp(18px, 3.8vw, 28px) !important;
   line-height: 1.4 !important;
}

body.single-microbook .mb-book.mb-booksize-medium .mb-p{
  font-size: clamp(18px, 3.8vw, 28px) !important;
}

body.single-microbook .mb-book.mb-booksize-small .mb-p{
  font-size: clamp(16px, 3.5vw, 24px) !important;
}

.ls-back-btn{
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 999999;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);
  font-size: 30px;
  line-height: 44px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* =========================
   Column width (narrower)
   ========================= */
body.single-microbook .mb-book .mb-head,
body.single-microbook .mb-book .mb-content{
  max-width: 390px !important;
}

body.single-microbook .mb-book .mb-list,
body.single-microbook .mb-book .mb-embed{
  max-width: 390px !important;
}/* End custom CSS */