/* ============================================================
   LINEAGE GIFTS FRONTEND CSS (Adapted to Theme Palette)
   ============================================================ */

/* Global Typography: h1, h2, h3 */
h1, h2, h3,
.lineage-reels-title,
.light-title,
.gate-modal h3,
.oracle-card h3,
.audio-card h3,
.wallpaper-card h3,
.lineage-title {
  font-family: "Playfair", "Playfair Display", Georgia, serif !important;
  font-weight: 500 !important;
  text-transform: capitalize !important;
  font-size: 34px !important;
}

/* Gate Modal */
.gate-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(8px);
  z-index: 9999;
  justify-content: center;
  align-items: center;
  padding: 20px;
}

.gate-modal {
  background: var(--bg, #000000);
  border: 1px solid var(--gold-dim, #6d5930);
  padding: 40px 30px;
  max-width: 400px;
  width: 100%;
  border-radius: 2px;
  text-align: center;
  box-shadow: 0 20px 40px rgba(0,0,0,0.9);
}

.gate-modal h3 {
  font-family: var(--serif, "Instrument Serif", serif);
  color: var(--gold, #c69d52);
  font-size: 32px;
  margin: 0 0 10px 0;
  font-weight: 400;
}

.gate-modal p {
  color: var(--ink-mute, #7c766a);
  font-size: 13px;
  margin: 0 0 25px 0;
  line-height: 1.4;
}

.gate-modal input {
  width: 100%;
  padding: 14px;
  margin-bottom: 15px;
  background: transparent;
  border: 1px solid var(--rule, #211e18);
  color: var(--ink, #efece5);
  font-size: 13px;
  box-sizing: border-box;
  font-family: inherit;
}

.gate-modal input:focus {
  border-color: var(--gold, #c69d52);
  outline: none;
}

.gate-btn {
  width: 100%;
  padding: 14px;
  background: var(--gold, #c69d52);
  color: var(--bg, #000000);
  font-weight: bold;
  border: none;
  cursor: pointer;
  letter-spacing: 0.1em;
  text-transform: none;
  font-size: 11px;
  transition: opacity 0.2s;
}

.gate-btn:hover { opacity: 0.9; }

/* Persistent Soft Signup Bar — translucent grey glass, fixed at the bottom. */
.lineage-soft-banner {
  --lg-soft-bg: rgba(79,82,81,.48);
  --lg-soft-blur: 24px;
  --lg-soft-saturation: 110%;
  --lg-soft-border: rgba(255,255,255,.22);
  --lg-soft-border-width: 1px;
  --lg-soft-radius: 24px;
  --lg-soft-max-width: 1280px;
  --lg-soft-bottom: 12px;
  --lg-soft-padding-x: 34px;
  --lg-soft-padding-y: 0px;
  --lg-soft-shadow: 0 16px 45px rgba(0,0,0,.32);
  --lg-soft-text: #fff;
  --lg-soft-muted: #e6e6e6;
  --lg-soft-button-bg: #fff;
  --lg-soft-button-text: #171717;
  --lg-soft-button-radius: 999px;
  --lg-soft-button-px: 27px;
  --lg-soft-button-py: 14px;
  --lg-soft-image-size: 150px;
  --lg-soft-image-radius: 28px;
  --lg-soft-image-opacity: .78;
  position: fixed;
  left: 0;
  right: 0;
  bottom: var(--lg-soft-bottom);
  z-index: 9998;
  padding: 0 12px;
  pointer-events: none;
  opacity: 0;
  transform: translateY(110%);
  transition: opacity .35s ease, transform .45s cubic-bezier(.2,.75,.25,1);
}
.lineage-soft-banner.is-visible { opacity: 1; transform: translateY(0); }
.lineage-soft-banner-inner {
  position: relative;
  width: min(var(--lg-soft-max-width), 100%);
  min-height: 132px;
  margin: 0 auto;
  padding: var(--lg-soft-padding-y) 250px var(--lg-soft-padding-y) 355px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 28px;
  color: var(--lg-soft-text);
  background: linear-gradient(90deg, var(--lg-soft-bg) 0%, rgba(38,40,39,.62) 100%);
  border: var(--lg-soft-border-width) solid var(--lg-soft-border);
  border-radius: var(--lg-soft-radius);
  box-shadow: var(--lg-soft-shadow);
  backdrop-filter: blur(var(--lg-soft-blur)) saturate(var(--lg-soft-saturation));
  -webkit-backdrop-filter: blur(var(--lg-soft-blur)) saturate(var(--lg-soft-saturation));
  overflow: visible;
  pointer-events: auto;
}
.lineage-soft-copy { min-width: 0; flex: 1 1 auto; max-width: none; padding: 18px 0; }
.lineage-soft-copy h3, .lineage-soft-copy p, .lineage-soft-eyebrow { overflow-wrap: normal; }
.lineage-soft-actions { position:absolute; right:30px; top:50%; transform:translateY(-50%); display:flex; align-items:center; gap:22px; flex:0 0 auto; padding-right:10px; z-index:4; }
.lineage-soft-actions .lineage-soft-no-thanks, .lineage-soft-actions .lineage-soft-signup { pointer-events:auto; }
.lineage-soft-eyebrow { margin: 0 0 5px; color: var(--lg-soft-muted); font-size: clamp(11px,1vw,14px); line-height: 1.1; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.lineage-soft-copy h3 { margin: 0 0 5px; color: var(--lg-soft-text); font-family: inherit; font-size: clamp(25px,2.25vw,32px); line-height: 1.08; font-weight: 500; letter-spacing: -.02em; white-space: nowrap; }
.lineage-soft-copy p { margin: 0; color: var(--lg-soft-muted); font-size: clamp(14px,1.25vw,18px); line-height: 1.35; }
.lineage-soft-visual { position: absolute; left: 34px; bottom: 0; width: 290px; height: 185px; pointer-events: none; z-index:3; }
.lineage-soft-img { position: absolute; display: block; width: var(--lg-soft-image-size); height: var(--lg-soft-image-size); background-repeat: no-repeat; background-size: cover; background-position: center; background-position: center; border-radius: var(--lg-soft-image-radius); box-shadow: 0 8px 24px rgba(0,0,0,.28); }
.lineage-soft-img-back { left: 0; bottom: 8px; transform: rotate(-10deg); opacity: var(--lg-soft-image-opacity); }
.lineage-soft-img-mid { left: 65px; bottom: 0; transform: rotate(8deg); opacity: calc(var(--lg-soft-image-opacity) + .12); }
.lineage-soft-img-front { left: 58px; bottom: 0; width: calc(var(--lg-soft-image-size) + 4px); height: calc(var(--lg-soft-image-size) + 20px); transform: rotate(0deg); border-radius: var(--lg-soft-image-radius); border: 2px solid rgba(255,255,255,.18); opacity: 1; }
.lineage-soft-img-empty { background: linear-gradient(145deg,#4b4b4b,#111) !important; }

.lineage-soft-no-thanks,.lineage-soft-signup { appearance:none; border:0; background:transparent; color:var(--lg-soft-muted); font:inherit; font-size:16px; cursor:pointer; white-space:nowrap; padding:12px 4px; }
.lineage-soft-signup { min-width: 170px; color:var(--lg-soft-button-text); background:var(--lg-soft-button-bg); border-radius:var(--lg-soft-button-radius); padding:var(--lg-soft-button-py) var(--lg-soft-button-px); font-weight:500; box-shadow:0 3px 10px rgba(0,0,0,.12); }
.lineage-soft-signup:hover { filter:brightness(.96); }
.lineage-soft-no-thanks:hover { color:var(--lg-soft-text); }
.lineage-soft-close { position:absolute; right:12px; top:8px; width:30px; height:30px; padding:0; border:0; background:transparent; color:var(--lg-soft-muted); font-size:24px; line-height:30px; cursor:pointer; }
.lineage-soft-form { display:none; grid-template-columns:minmax(130px,1fr) minmax(170px,1fr) minmax(140px,1fr) auto; gap:8px; margin-top:12px; }
.lineage-soft-form input { width:100%; min-height:42px; box-sizing:border-box; padding:10px 12px; border:1px solid rgba(255,255,255,.28); border-radius:8px; outline:none; background:rgba(255,255,255,.10); color:var(--lg-soft-text); font:inherit; }
.lineage-soft-form input::placeholder { color:rgba(255,255,255,.68); }
.lineage-soft-dob-wrap { position:relative; display:flex; align-items:center; gap:6px; min-width:0; }
.lineage-soft-dob-wrap .lineage-dob-calendar { position:relative; right:auto; top:auto; transform:none; flex:0 0 42px; width:42px; height:42px; }
.lineage-soft-dob-wrap input { flex:1; min-width:0; }
.lineage-soft-dob-wrap .lineage-dob-calendar { min-width:42px; border:1px solid rgba(255,255,255,.28); border-radius:8px; background:rgba(255,255,255,.10); color:#fff; cursor:pointer; }
.lineage-soft-submit { min-height:42px; padding:10px var(--lg-soft-button-px); border:0; border-radius:var(--lg-soft-button-radius); background:var(--lg-soft-button-bg); color:var(--lg-soft-button-text); cursor:pointer; font-weight:500; white-space:nowrap; }
.lineage-soft-submit:disabled { opacity:.65; cursor:wait; }
.lineage-soft-banner.is-expanded .lineage-soft-banner-inner { min-height:155px; }
.lineage-soft-banner.is-expanded .lineage-soft-copy p { display:none; }
.lineage-soft-banner.is-expanded .lineage-soft-actions { display:none; }

/* Oracle DOB-only state: keep the section subtitle visible and use a dedicated CTA. */
.lineage-soft-banner.is-oracle-dob .lineage-soft-copy p { display: block; }
.lineage-soft-banner.is-oracle-dob .lineage-soft-actions { display: none; }
.lineage-soft-banner.is-oracle-dob .lineage-soft-form { margin-top: 10px; grid-template-columns: minmax(190px, 300px) auto; align-items: center; }
.lineage-soft-banner.is-oracle-dob .lineage-soft-dob-wrap { min-width: 190px; }
.lineage-soft-banner.is-oracle-dob .lineage-soft-submit { min-width: 220px; }
.lineage-soft-banner.is-oracle-dob .lineage-soft-visual { opacity: 1; }
@media (max-width: 680px) {
  .lineage-soft-banner.is-oracle-dob .lineage-soft-form { grid-template-columns: 1fr; }
  .lineage-soft-banner.is-oracle-dob .lineage-soft-submit { width: 100%; }
}

@media (max-width: 900px) {
  .lineage-soft-banner-inner {
    padding: 20px 24px 20px 210px;
    min-height: 110px;
  }
  .lineage-soft-visual { left: 12px; width: 190px; height: 135px; }
  .lineage-soft-img { width: 112px; height: 112px; }
  .lineage-soft-img-front { width: 116px; height: 126px; left: 42px; }
  .lineage-soft-img-mid { left: 47px; }
  .lineage-soft-copy h3 { font-size: 26px; }
  .lineage-soft-copy p { font-size: 14px; }
  .lineage-soft-actions { right:16px; gap:10px; }
  .lineage-soft-no-thanks { font-size: 14px; }
  .lineage-soft-signup { font-size: 14px; padding: 12px 18px; }
}
@media (max-width: 680px) {
  .lineage-soft-banner { padding: 0 8px 8px; }
  .lineage-soft-banner-inner,
  .lineage-soft-banner.is-expanded .lineage-soft-banner-inner {
    display: grid;
    grid-template-columns: 92px minmax(0,1fr);
    gap: 14px;
    min-height: 0;
    padding: 14px 16px;
    border-radius: 18px;
  }
  .lineage-soft-visual { display: block; position: relative; left: auto; bottom: auto; width: 92px; height: 96px; align-self: center; }
  .lineage-soft-img { width: 68px; height: 78px; border-radius: 16px; }
  .lineage-soft-img-back { left: 0; bottom: 5px; transform: rotate(-10deg); }
  .lineage-soft-img-mid { left: 17px; bottom: 0; transform: rotate(8deg); }
  .lineage-soft-img-front { left: 13px; bottom: 0; width: 72px; height: 84px; }
  .lineage-soft-copy { padding: 0 24px 0 0; }
  .lineage-soft-copy h3 { white-space: normal; }
  .lineage-soft-copy h3 { font-size: 20px; line-height: 1.12; white-space: normal; }
  .lineage-soft-copy p { font-size: 13px; margin-top: 4px; }
  .lineage-soft-eyebrow { font-size: 9px; }
  .lineage-soft-actions { position:static; transform:none; grid-column:1 / -1; margin-top:2px; justify-content:flex-end; padding-right:0; gap:10px; }
  .lineage-soft-no-thanks { font-size: 13px; }
  .lineage-soft-signup { font-size: 13px; padding: 10px 15px; }
  .lineage-soft-form { grid-column: 1 / -1; grid-template-columns: 1fr; margin-top: 2px; }
  .lineage-soft-submit { width: 100%; }
  .lineage-soft-banner.is-expanded .lineage-soft-visual { display: none; }
  .lineage-soft-banner.is-expanded .lineage-soft-copy { grid-column: 1 / -1; }
}
@media (max-width: 390px) {
  .lineage-soft-banner-inner { grid-template-columns: 1fr; }
  .lineage-soft-visual { display: none; }
  .lineage-soft-copy { grid-column: 1 / -1; padding-right: 24px; }
}

/* Expansion Drawers */
.detail-drawer {
  display: none;
  scroll-margin-top: 90px;
  margin-top: 40px;
  padding: 40px;
  border-radius: 8px;
  animation: slideDown 0.4s ease forwards;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}




@keyframes slideDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Oracle Spread Section */
.oracle-section {
  scroll-margin-top: 90px;
  background-color: transparent;
  padding: 6px 12px 28px;
  text-align: center;
  color: var(--ink, #efece5);
  overflow: visible;
}

.oracle-tag, .light-tag {
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: none;
  font-weight: 700;
  color: var(--gold-dim, #6d5930);
  margin-bottom: 4px;
}

.oracle-title, .light-title {
  font-family: inherit;
  font-size: 34px;
  font-weight: 800;
  margin: 0 0 2px 0;
  color: var(--ink, #efece5);
  line-height: 1.1;
}

.oracle-desc {
  font-size: 15px;
  color: var(--ink-mute, #7c766a);
  margin: 0 0 0;
  line-height: 1.35;
}

.oracle-container {
  position: relative;
  width: 100%;
  height: 510px;
  max-width: 1100px;
  margin: 30px auto 0;
  display: block;
  overflow: visible;
}

.oracle-card {
  width: var(--oracle-card-width, 320px);
  height: var(--oracle-card-height, 480px);
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -160px;
  transform-origin: center bottom;
  border-radius: 14px;
  background-color: #000;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  box-shadow: none;
  cursor: pointer;
  transition: transform 0.42s cubic-bezier(0.22,1,0.36,1), box-shadow 0.25s ease; will-change: transform;
  border: 0 !important;
  outline: none !important;
}

.oracle-card:hover { filter: none !important; }


/* Result archetype image download control: reveal on hover; always visible on touch devices. */
.reveal-flip-back { position: relative; overflow: hidden; }
.reveal-flip-back .oracle-art-download { opacity: 0; transition: opacity .2s ease, transform .2s ease; transform: translateY(4px); }
.reveal-flip-back:hover .oracle-art-download { opacity: 1; transform: translateY(0); }
@media (hover: none), (max-width: 768px) {
  .reveal-flip-back .oracle-art-download { opacity: 1; transform: none; }
}

/* Audio cards: no visible border/outline in any state. */
.white-cards-grid .white-card,
.white-cards-grid .white-card:hover,
.white-cards-grid .white-card:focus,
.white-cards-grid .white-card:focus-visible,
.white-cards-grid .white-card:active {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.18) !important;
}

@media (max-width: 768px) {
  .oracle-section {
    padding: 4px 6px 20px;
  }
  .oracle-tag { margin-bottom: 5px; }
  .oracle-title {
    font-size: clamp(24px, 7vw, 30px);
    margin-bottom: 4px;
  }
  .oracle-desc {
    font-size: 13px;
    margin-bottom: 2px;
  }
  .oracle-container {
    margin: 20px auto 0 !important;
    max-width: 100%;
  }
  .oracle-card {
    max-width: 110px;
    border-radius: 10px;
  }
}

@media (max-width: 480px) {
  .oracle-section { padding-left: 3px; padding-right: 3px; }
  .oracle-container { max-width: 100%; margin-top: 16px !important; }
}

/* Light Grids (Adapted to dark theme) */
.light-section {
  background-color: transparent; 
  padding: 80px 20px;
  color: var(--ink, #efece5);
}

.light-header {
  text-align: center;
  max-width: 1100px;
  margin: 0 auto 30px auto;
  text-align: left;
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  max-width: 1100px;
  margin: 0 auto;
}

.grid-card {
  background: var(--bg, #000);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--rule, #211e18);
  box-shadow: 0 4px 20px rgba(0,0,0,0.5);
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.grid-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.8);
  border-color: var(--gold-dim, #6d5930);
}

.card-img-wrapper {
  position: relative;
  height: 340px;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  padding: 25px 20px;
  text-align: center;
}

.card-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.4) 50%, transparent 100%);
}

.card-img-title {
  position: relative;
  color: var(--ink, #fff);
  font-family: var(--serif, "Instrument Serif", serif); 
  font-size: 26px;
  font-weight: 400;
  z-index: 2;
  margin: 0 0 8px 0;
  text-transform: none;
  letter-spacing: 0.05em;
}

.card-img-desc {
  position: relative;
  color: var(--ink-mute, #e0e0e0);
  font-size: 11px;
  font-style: italic;
  z-index: 2;
  margin: 0;
  line-height: 1.4;
}

.card-bottom {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  background: var(--bg, #000);
  border-top: 1px solid var(--rule, #211e18);
}

.card-bottom h4 {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--ink, #fff);
  line-height: 1.3;
}

.card-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.pill-badge {
  background: var(--rule, #211e18); 
  color: var(--gold, #c69d52); 
  font-size: 9px;
  font-weight: 800;
  text-transform: none;
  letter-spacing: 0.05em;
  padding: 5px 10px;
  border-radius: 20px;
  border: 1px solid var(--gold-dim, #6d5930);
}

.pill-btn {
  background: var(--gold, #c69d52); 
  color: var(--bg, #000);
  font-size: 12px;
  font-weight: 700;
  padding: 8px 18px;
  border-radius: 20px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 5px;
}


/* Netflix Style Cards */
.netflix-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 15px;
  max-width: 1100px;
  margin: 0 auto;
}

.netflix-card {
  position: relative;
  width: 100%;
  aspect-ratio: 2 / 3;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  border: 1px solid var(--rule, #211e18);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.3s ease;
  box-shadow: 0 4px 15px rgba(0,0,0,0.5);
}

.netflix-card:hover {
  transform: scale(1.05);
  z-index: 10;
  box-shadow: 0 10px 25px rgba(0,0,0,0.8), 0 0 15px rgba(198, 157, 82, 0.3);
  border-color: var(--gold-dim, #6d5930);
}

.netflix-img {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-color: #c69d52;
  position: relative;
}

.netflix-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.2) 60%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px 15px;
  opacity: 0.9;
  transition: opacity 0.3s ease;
}

.netflix-card:hover .netflix-overlay {
  opacity: 1;
}

.netflix-title {
  color: var(--ink, #fff);
  font-family: var(--serif, "Instrument Serif", serif);
  font-size: 22px;
  margin: 8px 0 0 0;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-transform: none;
  line-height: 1.1;
}

.play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.8);
  font-size: 40px;
  color: var(--gold, #c69d52);
  opacity: 0;
  transition: all 0.3s ease;
}

.netflix-card:hover .play-icon {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}


/* White UI Cards - Slidable / Horizontal Scroll */
.white-cards-grid {
  display: flex;
  overflow-x: auto;
  gap: 20px;
  padding-bottom: 25px;
  padding-top: 10px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #c69d52 transparent;
  margin: 0 auto;
  max-width: 100%;
}

.white-cards-grid::-webkit-scrollbar {
  height: 8px;
}
.white-cards-grid::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 10px;
}
.white-cards-grid::-webkit-scrollbar-thumb {
  background-color: #c69d52;
  border-radius: 10px;
}

.white-card {
  flex: 0 0 300px; /* Fixed width to allow sliding */
  scroll-snap-align: start;
  background: #000000;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
  border: 0 !important;
  outline: 0 !important;
}

@media (max-width: 768px) {
    .white-card {
        flex: 0 0 260px;
    }
}

.white-card:focus, .white-card:focus-visible, .white-card:active {
  border: 0 !important;
  outline: 0 !important;
}

.white-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.white-card-img {
  width: 100%;
  aspect-ratio: 2/3;
  background-size: cover;
  background-position: center;
  background-color: #c69d52;
  position: relative;
}

.white-card-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.2) 50%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
}

.white-card-img-title {
  color: #fff;
  font-family: var(--serif, "Instrument Serif", serif);
  font-size: 24px;
  margin: 0;
  text-align: center;
  line-height: 1.1;
}

.white-card-img-desc {
  color: #aaaaaa;
  font-size: 13px;
  text-align: center;
  margin: 8px 0 0 0;
  font-style: italic;
  font-family: sans-serif;
}

.white-card-content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.white-card-title {
  color: #c69d52;
  font-family: var(--serif, 'Instrument Serif', serif);
  font-size: 26px;
  font-weight: 400;
  font-weight: 700;
  margin: 0 0 20px 0;
  line-height: 1.3;
}

.white-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
}

.white-card-badge {
  background: #222222;
  color: #c69d52;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0.5px;
}

.white-card-btn {
  background: #c69d52;
  color: #000;
  border: none;
  padding: 8px 20px;
  border-radius: 20px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease;
}

.white-card:hover .white-card-btn {
  background: #e5b962;
}






.drawer-light, .drawer-dark {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    color: #ffffff;
    margin-top: 30px;
}


/* Mobile Responsive Fixes */
@media (max-width: 768px) {
    .oracle-container { margin-bottom: 0 !important; }
    .drawer-light, .drawer-dark {
        padding: 20px !important;
    }
    .reveal-img-wrapper {
        margin-right: 0 !important;
        margin-bottom: 20px !important;
        width: 100% !important;
        text-align: center !important;
    }
    .reveal-text-wrapper { text-align: center !important; min-width: 100% !important; }
    .reveal-img-wrapper img { max-width: 160px !important;
        margin: 0 auto;
    }
}


/* Oracle spread layout: backend controls dimensions; JS writes the responsive values. */
.oracle-container { --oracle-card-width: 320px; --oracle-card-height: 480px; }
.oracle-section { scroll-margin-top: 80px; }
.oracle-card { border: 0 !important; outline: 0 !important; }


/* Configurable Mulank and Audio card sizes. Values come from Lineage Gifts > Settings. */
.mulank-feature-card {
  width: var(--mulank-card-width, 350px) !important;
  flex: 0 0 var(--mulank-card-width, 350px) !important;
  height: var(--mulank-card-height, 525px) !important;
  min-height: 0 !important;
}
.mulank-feature-card .white-card-img {
  flex: 0 0 68%;
  height: 68%;
  aspect-ratio: auto;
}
.mulank-feature-card .white-card-content {
  flex: 1 1 auto;
  min-height: 0;
}

.audio-cards-grid .audio-feature-card {
  width: var(--audio-card-width, 300px) !important;
  flex: 0 0 var(--audio-card-width, 300px) !important;
  height: var(--audio-card-height, 450px) !important;
  min-height: 0 !important;
}
.audio-cards-grid .audio-feature-card .white-card-img {
  flex: 0 0 68%;
  height: 68%;
  aspect-ratio: auto;
}
.audio-cards-grid .audio-feature-card .white-card-content {
  flex: 1 1 auto;
  min-height: 0;
}

@media (max-width: 768px) {
  .mulank-card-wrap .mulank-feature-card {
    width: min(var(--mulank-card-width, 350px), calc(100vw - 32px)) !important;
    flex-basis: min(var(--mulank-card-width, 350px), calc(100vw - 32px)) !important;
    height: auto !important;
    aspect-ratio: var(--mulank-card-width, 350) / var(--mulank-card-height, 525);
  }
  .audio-cards-grid .audio-feature-card {
    width: min(var(--audio-card-width, 300px), calc(100vw - 32px)) !important;
    flex-basis: min(var(--audio-card-width, 300px), calc(100vw - 32px)) !important;
    height: auto !important;
    aspect-ratio: var(--audio-card-width, 300) / var(--audio-card-height, 450);
  }
}

/* Independent mobile card sizes: Oracle, Mulank and Audio. */
@media (max-width: 768px) {
  .mulank-card-wrap .mulank-feature-card {
    width: min(var(--mulank-mobile-card-width, 180px), calc(100vw - 32px)) !important;
    flex-basis: min(var(--mulank-mobile-card-width, 180px), calc(100vw - 32px)) !important;
    height: min(var(--mulank-mobile-card-height, 270px), calc((100vw - 32px) * 1.55)) !important;
    aspect-ratio: var(--mulank-mobile-card-width, 180) / var(--mulank-mobile-card-height, 270) !important;
  }
  .audio-cards-grid .audio-feature-card {
    width: min(var(--audio-mobile-card-width, 170px), calc(100vw - 32px)) !important;
    flex-basis: min(var(--audio-mobile-card-width, 170px), calc(100vw - 32px)) !important;
    height: min(var(--audio-mobile-card-height, 255px), calc((100vw - 32px) * 1.55)) !important;
    aspect-ratio: var(--audio-mobile-card-width, 170) / var(--audio-mobile-card-height, 255) !important;
  }
}

/* ============================================================
   Premium Oracle Result Card
   ============================================================ */
.lineage-result-card {
  position: relative;
  max-width: 760px;
  margin: 0 auto;
  padding: 34px 28px 32px;
  text-align: center;
  background: transparent !important;
  color: var(--lg-result-secondary, #fff);
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible;
}
.lineage-result-close {
  position:absolute; top:8px; right:10px; width:42px; height:42px;
  border:0; background:transparent; color:#c69d52; font-size:30px; line-height:1;
  cursor:pointer; z-index:12; border-radius:50%;
}
.lineage-result-close:hover { background:rgba(198,157,82,.10); }
.lineage-result-badge {
  display:inline-block; margin:0 0 20px; padding:7px 13px; border-radius:999px;
  font-weight:700; letter-spacing:.12em; text-transform:none;
}
.lineage-result-title { margin:0 0 14px; font-family:var(--serif,'Instrument Serif',serif); font-weight:400; line-height:1.08; }
.lineage-result-subtitle { margin:0 0 8px; font-weight:600; line-height:1.35; }
.lineage-result-subsubtitle { margin:0 0 18px; font-weight:400; line-height:1.45; }

.lineage-result-logo { margin:24px auto 0; text-align:center; }
.lineage-result-logo img { display:block; max-width:180px; max-height:70px; width:auto; height:auto; margin:0 auto 10px; object-fit:contain; border:0 !important; box-shadow:none !important; border-radius:0 !important; }
.lineage-result-domain { font-size:13px; letter-spacing:.22em; color:var(--lg-result-secondary,#fff); opacity:.72; }
.lineage-result-description { max-width:640px; margin:0 auto; font-family:var(--sans,'Inter',sans-serif); font-weight:300; line-height:1.72; }

.reveal-flip-front, .reveal-flip-back { border:0 !important; box-shadow:none !important; }
.oracle-result-actions { display:flex; justify-content:center; align-items:center; gap:10px; flex-wrap:wrap; margin-top:28px; }
.oracle-result-actions button, .oracle-result-actions a {
  min-height:44px; border:0; border-radius:999px; padding:12px 20px;
  font:600 14px/1.2 inherit; cursor:pointer; text-decoration:none; display:inline-flex;
  align-items:center; justify-content:center; transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.oracle-result-actions button:hover, .oracle-result-actions a:hover { transform:translateY(-1px); box-shadow:0 8px 24px rgba(0,0,0,.28); }
.oracle-share-btn { background:#c69d52; color:#0b0b0b; }
.oracle-download-result-card { background:#efece5; color:#0b0b0b; }
.oracle-whatsapp-btn { background:#25D366; color:#fff; }

@media (max-width:768px) {
  .lineage-result-card { padding:28px 16px 24px; border-radius:14px; border:var(--lg-result-border,0) !important; box-shadow:var(--lg-result-shadow,none) !important; }
  .lineage-result-description { line-height:1.65; }
  
.reveal-flip-front, .reveal-flip-back { border:0 !important; box-shadow:none !important; }
.oracle-result-actions { margin-top:22px; }
  .oracle-result-actions button, .oracle-result-actions a { width:100%; max-width:340px; }
}

/* FINAL ORACLE LIVE RESULT OVERRIDES: branding/border/shadow belong only to generated share/download cards. */
.oracle-container .oracle-card { border:0 !important; outline:0 !important; }
.detail-drawer.drawer-dark, .detail-drawer.drawer-light, .lineage-result-card { background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
.detail-drawer .lineage-result-logo, .detail-drawer .lineage-result-domain { display:none !important; }
.reveal-flip-front, .reveal-flip-back { border:0 !important; box-shadow:none !important; background-color:transparent !important; }


/* Final interaction corrections: hover lifts in place, never shifts to center. */
.oracle-card { transition: transform .28s cubic-bezier(.25,1,.5,1), box-shadow .2s ease, filter .2s ease !important; }
.oracle-card:hover { filter: none !important; }

/* Desktop audio deck: first card is physically centered, remaining cards fan outward with a gap. */
@media (min-width: 769px) {
  .audio-cards-grid {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: var(--audio-card-height, 450px) !important;
    min-height: var(--audio-card-height, 450px) !important;
    margin: 0 auto !important;
    overflow: visible !important;
    padding: 0 !important;
  }
  .audio-cards-grid .audio-feature-card {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    width: var(--audio-card-width, 300px) !important;
    flex: none !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    z-index: 10 !important;
  }
  .audio-cards-grid .audio-feature-card:nth-child(1) { left: 50% !important; }
  .audio-cards-grid .audio-feature-card:nth-child(2) { left: calc(50% - (var(--audio-card-width, 300px) + 18px)) !important; }
  .audio-cards-grid .audio-feature-card:nth-child(3) { left: calc(50% + (var(--audio-card-width, 300px) + 18px)) !important; }
  .audio-cards-grid .audio-feature-card:nth-child(4) { left: calc(50% - 2 * (var(--audio-card-width, 300px) + 18px)) !important; }
  .audio-cards-grid .audio-feature-card:nth-child(5) { left: calc(50% + 2 * (var(--audio-card-width, 300px) + 18px)) !important; }
  .audio-cards-grid .audio-feature-card:nth-child(6) { left: calc(50% - 3 * (var(--audio-card-width, 300px) + 18px)) !important; }
}

/* Mobile DOB: clean DD-MM-YYYY field with a separate native calendar picker. */
.lineage-dob-wrap { position: relative; display: flex; align-items: center; width: 100%; }
.lineage-dob-wrap #gateDob { width: 100%; padding-right: 52px !important; }
.lineage-dob-calendar { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border: 0; background: transparent; color: inherit; cursor: pointer; font-size: 20px; z-index: 3; }
.lineage-dob-picker { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
@media (max-width: 768px) { .lineage-dob-wrap #gateDob { min-height: 48px; font-size: 16px !important; } .lineage-dob-calendar { width: 42px; height: 42px; } }

/* Wallpaper gallery: compact, one-card-at-a-time presentation. */
.wallpaper-section {
  overflow: hidden !important;
  min-height: auto !important;
  height: auto !important;
  padding: 56px 20px 44px !important;
}
.wallpaper-header {
  text-align: center !important;
  max-width: 1100px;
  margin: 0 auto 28px !important;
}
.wallpaper-subtitle { text-align:center !important; margin: 0 auto !important; }
.wallpaper-stage {
  position: relative;
  width: min(var(--wallpaper-width, 430px), 88vw);
  height: min(var(--wallpaper-height, 620px), 78vh);
  margin: 0 auto;
  overflow: hidden;
  touch-action: pan-y;
  outline: none;
}
.wallpaper-face-card,
.wallpaper-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 16px;
  background: #000;
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
  user-select: none;
  -webkit-user-select: none;
  cursor: pointer;
}
.wallpaper-face-card {
  z-index: 20;
  opacity: 1;
  transform: translateX(0) scale(1);
  transition: opacity .35s ease, transform .45s cubic-bezier(.22,.8,.25,1);
}
.wallpaper-face-card.is-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-105%) scale(.96);
}
.wallpaper-face-card img,
.wallpaper-slide img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
}
.wallpaper-face-hint {
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  padding:9px 15px;
  border-radius:999px;
  background:rgba(0,0,0,.68);
  color:#f4f0e8;
  font:600 12px/1.2 var(--sans,"Helvetica Neue",Helvetica,Arial,sans-serif);
  letter-spacing:.08em;
  text-transform:none;
  white-space:nowrap;
}
.wallpaper-slides { position:absolute; inset:0; }
.wallpaper-slide {
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transform: translateX(105%);
  transition: opacity .38s ease, transform .48s cubic-bezier(.22,.8,.25,1);
}
.wallpaper-slide.is-active {
  z-index: 10;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}
.wallpaper-slide.wallpaper-slide-in { animation: wallpaperSlideIn .48s cubic-bezier(.22,.8,.25,1) both; }
@keyframes wallpaperSlideIn {
  from { opacity:0; transform:translateX(calc(var(--wallpaper-direction, 1) * 105%)); }
  to { opacity:1; transform:translateX(0); }
}
.wallpaper-slide-actions {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  justify-content:center;
  padding:42px 18px 18px;
  background:linear-gradient(to top, rgba(0,0,0,.82), transparent);
  pointer-events:none;
}
.wallpaper-download-btn {
  pointer-events:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 24px;
  border-radius:999px;
  background:#c69d52;
  color:#0b0b0b !important;
  font:600 14px/1.2 var(--sans,"Helvetica Neue",Helvetica,Arial,sans-serif);
  text-decoration:none !important;
  letter-spacing:.02em;
}
.wallpaper-download-btn:hover { transform:translateY(-1px); }
.wallpaper-counter {
  margin: 14px auto 0;
  text-align:center;
  font:600 12px/1.2 var(--sans,"Helvetica Neue",Helvetica,Arial,sans-serif);
  color:#c69d52;
  letter-spacing:.14em;
  text-transform:none;
}
.wallpaper-count { opacity:.65; margin-left:4px; }
.wallpaper-empty { text-align:center; opacity:.7; margin:20px auto 0; }
@media (max-width: 768px) {
  .wallpaper-section { padding: 44px 14px 30px !important; }
  .wallpaper-header { margin-bottom:20px !important; }
  .wallpaper-stage { width:min(var(--wallpaper-mobile-width, 330px), 88vw); height:min(var(--wallpaper-mobile-height, 510px), 72vh); }
  .wallpaper-face-card, .wallpaper-slide { border-radius:14px; }
}


/* Oracle result refinement: match the Lineage Story serif hierarchy and keep
   backend-entered text exactly as entered. No forced uppercase/casing. */
.lineage-result-card {
  max-width: 900px;
  padding: 46px 28px 40px;
}
.lineage-result-title {
  margin: 0 0 18px;
  font-family: "Sharpe", "Instrument Serif", Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  font-size: clamp(36px, 4.4vw, 62px) !important;
  line-height: 1.02 !important;
  letter-spacing: .01em;
  text-transform: none !important;
}
.lineage-result-subtitle,
.lineage-result-subsubtitle,
.lineage-result-description,
.lineage-result-loshufragments {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  text-transform: none !important;
}
.lineage-result-subtitle {
  max-width: 780px;
  margin: 0 auto 22px !important;
  font-weight: 600;
  line-height: 1.45 !important;
}
.lineage-result-subsubtitle {
  max-width: 720px;
  margin: 0 auto 24px !important;
  line-height: 1.55 !important;
}
.lineage-result-loshufragments {
  max-width: 760px;
  margin: 8px auto 26px;
  padding: 0;
}
.lineage-result-loshufragments p {
  margin: 0 0 16px;
  color: var(--lg-result-secondary, #fff);
  font-size: 17px;
  line-height: 1.7;
  font-weight: 300;
  text-transform: none !important;
}
.lineage-result-description {
  max-width: 760px !important;
  margin: 0 auto !important;
  font-weight: 300 !important;
  line-height: 1.75 !important;
  text-transform: none !important;
}
.reveal-img-wrapper {
  margin-bottom: 44px !important;
}
.lineage-result-badge {
  text-transform: none !important;
  letter-spacing: .08em;
}
@media (max-width: 768px) {
  .lineage-result-card { padding: 36px 18px 32px; }
  .reveal-img-wrapper { margin-bottom: 36px !important; }
  .lineage-result-title { font-size: clamp(34px, 10vw, 48px) !important; }
  .lineage-result-subtitle { font-size: 16px !important; }
  .lineage-result-loshufragments p { font-size: 16px; line-height: 1.65; }
  .lineage-result-description { font-size: 17px !important; line-height: 1.7 !important; }
}

/* Audio detected/revealed result: player only, never the Oracle flip card. */
.lineage-audio-result-widget {
  width: min(720px, 100%);
  margin: 24px auto 0;
  padding: 24px;
  text-align: center;
  box-sizing: border-box;
}
.lineage-audio-result-title {
  margin: 0 0 16px;
  font-family: var(--serif, "Sharpe", "Instrument Serif", Georgia, "Times New Roman", serif);
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 400;
  line-height: 1.15;
  color: var(--gold, #c69d52);
}
.lineage-audio-result-iframe { display:block; width:100%; border:0; border-radius:12px; }
.lineage-audio-result-player { display:block; width:100%; margin:0 auto; height:48px; }
.lineage-audio-result-video { position:relative; width:100%; padding-bottom:56.25%; height:0; overflow:hidden; border-radius:12px; }
.lineage-audio-result-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
@media (max-width: 600px) {
  .lineage-audio-result-widget { padding: 18px 10px; }
  .lineage-audio-result-title { font-size: 26px; }
}

/* Guide Cards overrides based on audio layout */
.guide-cards-grid .guide-feature-card {
  width: var(--audio-card-width, 300px) !important;
  flex: 0 0 var(--audio-card-width, 300px) !important;
  height: var(--audio-card-height, 450px) !important;
  min-height: 0 !important;
}
.guide-cards-grid .guide-feature-card .white-card-img {
  flex: 0 0 68%;
  height: 68%;
  aspect-ratio: auto;
}
.guide-cards-grid .guide-feature-card .white-card-content {
  flex: 1 1 auto;
  min-height: 0;
}
@media (max-width: 768px) {
  .guide-cards-grid .guide-feature-card {
    width: min(var(--audio-mobile-card-width, 170px), calc(100vw - 32px)) !important;
    flex-basis: min(var(--audio-mobile-card-width, 170px), calc(100vw - 32px)) !important;
    height: min(var(--audio-mobile-card-height, 255px), calc((100vw - 32px) * 1.55)) !important;
    aspect-ratio: var(--audio-mobile-card-width, 170) / var(--audio-mobile-card-height, 255) !important;
  }
}

/* Make the guide grid centered if few items, but slidable if many */
@media (min-width: 769px) {
  .guide-cards-grid {
    justify-content: center;
  }
}


/* Access-state hardening: normal gifts remain clickable after No, thanks/signup. */
.guide-feature-card { position: relative; z-index: 1; pointer-events: auto !important; cursor: pointer; }
.guide-feature-card .white-card-btn { position: relative; z-index: 2; pointer-events: auto !important; cursor: pointer; }
.lineage-soft-banner { z-index: 2147483000; pointer-events: none; }
.lineage-soft-banner.is-visible { pointer-events: auto; }
.lineage-soft-banner button, .lineage-soft-banner input { pointer-events: auto; }

/* Reading Room slider + persistent signup attention */
.guide-slider-wrap {
  position: relative;
  width: min(100%, 1440px);
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 54px;
  box-sizing: border-box;
  overflow: visible;
}
.guide-slider-wrap .guide-cards-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 12px 4px 30px !important;
  gap: 30px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-padding-left: 4px;
  scroll-snap-type: x mandatory;
  box-sizing: border-box;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.guide-slider-wrap .guide-cards-grid::-webkit-scrollbar { display:none; height:0; }
.guide-slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  min-width: 52px;
  padding: 0;
  border: 1px solid rgba(198,157,82,.55);
  border-radius: 50%;
  background: rgba(0,0,0,.78);
  color: #f3ead7;
  font-size: 34px;
  font-family: Georgia, serif;
  line-height: 48px;
  text-align: center;
  cursor: pointer;
  z-index: 20;
  box-shadow: 0 4px 18px rgba(0,0,0,.35);
  transition: background .2s ease, border-color .2s ease, transform .2s ease, opacity .2s ease;
}
.guide-slider-arrow:hover {
  background: rgba(198,157,82,.16);
  border-color: rgba(198,157,82,.85);
}
.guide-slider-arrow:active { transform: translateY(-50%) scale(.96); }
.guide-slider-prev { left: 0; }
.guide-slider-next { right: 0; }
.guide-feature-card { user-select:none; scroll-snap-align:start; scroll-snap-stop:always; }
@keyframes lineageSoftAttention { 0%,100% { transform:translate3d(0,0,0); } 20% { transform:translate3d(-6px,0,0); } 40% { transform:translate3d(6px,0,0); } 60% { transform:translate3d(-4px,0,0); } 80% { transform:translate3d(4px,0,0); } }
.lineage-soft-banner.lg-attention-shake { animation:lineageSoftAttention .7s ease both; }
@media (max-width: 1500px) and (min-width: 769px) {
  .guide-slider-wrap { width:100%; max-width:none; padding-left:50px; padding-right:50px; }
  .guide-slider-prev { left:4px; }
  .guide-slider-next { right:4px; }
}
@media (max-width:768px) {
  .guide-slider-wrap { width:100%; padding:0 42px; }
  .guide-slider-wrap .guide-cards-grid { gap:16px !important; padding:10px 2px 24px !important; }
  .guide-slider-arrow { width:38px; height:38px; min-width:38px; font-size:27px; line-height:34px; }
  .guide-slider-prev { left:0; }
  .guide-slider-next { right:0; }
}
.guide-cards-grid { scroll-behavior:smooth; }
.guide-feature-card, .guide-feature-card * { cursor:pointer; }
.guide-feature-card .white-card-btn { pointer-events:auto !important; }


/* v1.5.22 Reading Room requested dimensions */
.guide-slider-wrap .guide-slider-arrow {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  min-height: 50px !important;
  flex: 0 0 50px !important;
  box-sizing: border-box !important;
}
.guide-cards-grid .guide-feature-card .white-card-img {
  width: 100% !important;
  height: 68% !important;
  min-height: 0 !important;
  flex: 0 0 68% !important;
  aspect-ratio: auto !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* ============================================================
   UNGATED INSTAGRAM REELS MODULE
   Mobile Responsive & iOS / Safari Optimized
   ============================================================ */
.lineage-reels-section {
  background-color: transparent;
  padding: 80px 20px 60px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

.lineage-reels-header {
  text-align: center;
  max-width: 900px;
  margin: 0 auto 36px auto;
}

.lineage-reels-tag {
  display: inline-block;
  color: var(--gold, #c69d52);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 12px;
  border: 1px solid rgba(198, 157, 82, 0.35);
  padding: 5px 16px;
  border-radius: 999px;
  background: rgba(198, 157, 82, 0.06);
}

.lineage-reels-title {
  font-family: var(--serif, "Sharpe", "Instrument Serif", Georgia, serif);
  color: var(--ink, #ffffff);
  font-size: clamp(28px, 4vw, 44px);
  margin: 0 0 14px 0;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.15;
}

.lineage-reels-subtitle {
  color: var(--ink-mute, #a8a29e);
  font-size: clamp(14px, 1.8vw, 16px);
  line-height: 1.6;
}

.lineage-reels-container {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  box-sizing: border-box;
}

.lineage-reels-grid {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  gap: 24px;
  flex-wrap: wrap;
  width: 100%;
}

.lineage-reel-card {
  flex: 1 1 320px;
  max-width: 360px;
  min-width: 260px;
  background: #0d0e12;
  border-radius: 18px;
  border: 1px solid rgba(198, 157, 82, 0.22);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.04);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, box-shadow 0.3s ease;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  touch-action: pan-y;
}

.lineage-reel-card:hover {
  transform: translateY(-4px);
  border-color: rgba(198, 157, 82, 0.5);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.7), 0 0 24px rgba(198, 157, 82, 0.18);
}

.lineage-reel-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  background: rgba(255, 255, 255, 0.03);
  border-bottom: 1px solid rgba(198, 157, 82, 0.15);
  box-sizing: border-box;
}

.lineage-reel-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gold, #c69d52);
  font-weight: 600;
}

.lineage-reel-ig-icon {
  display: inline-block;
  flex-shrink: 0;
  fill: #c69d52;
}

.lineage-reel-link {
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  font-size: 11px;
  letter-spacing: 0.05em;
  transition: color 0.2s ease, transform 0.2s ease;
  display: inline-flex;
  align-items: center;
}

.lineage-reel-link:hover {
  color: #c69d52;
  text-decoration: none;
  transform: translateX(2px);
}

.lineage-reel-embed-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 9 / 16;
  overflow: hidden !important;
  background: #000;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}

/* HTML5 9:16 Video Player: Pure video, Zero Instagram UI */
.lineage-reel-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  background: #000;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* No Instagram iframe is rendered. The frontend uses the resolved media URL in a native HTML5 player. */
.lineage-reel-resolution-fallback {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 24px;
  text-align: center;
  background: #000;
  color: #fff;
  box-sizing: border-box;
}
.lineage-reel-fallback-title {
  font-weight: 600;
  font-size: 15px;
}
.lineage-reel-resolution-fallback a {
  color: #fff;
  text-decoration: underline;
}

/* Single custom Reel play button. The video itself supplies the poster; no second overlay layer. */
.lineage-reel-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 76px;
  height: 76px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 6;
  cursor: pointer;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease, visibility 0.2s ease;
}

.lineage-reel-play-btn.is-playing {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.lineage-reel-play-btn:hover {
  transform: translate(-50%, -50%) scale(1.08);
}

.lineage-reel-play-icon {
  width: 100%;
  height: 100%;
  fill: rgba(255, 255, 255, 0.88);
  filter: drop-shadow(0 4px 18px rgba(0, 0, 0, 0.45));
  transition: fill 0.2s ease, transform 0.2s ease;
}

.lineage-reel-play-btn:hover .lineage-reel-play-icon {
  fill: rgba(255, 255, 255, 1);
  filter: drop-shadow(0 6px 24px rgba(0, 0, 0, 0.6));
}

/* v1.5.29 — the native video control UI is intentionally disabled; only the
   single custom play button above is allowed to appear over the Reel. */
.lineage-reel-video::-webkit-media-controls,
.lineage-reel-video::-webkit-media-controls-panel,
.lineage-reel-video::-webkit-media-controls-overlay-play-button,
.lineage-reel-video::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.lineage-reel-video {
  appearance: none;
  -webkit-appearance: none;
}

/* Empty / Placeholder card state */
.lineage-reel-empty-card {
  min-height: 380px;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 40px 24px;
}

.lineage-reel-empty-inner {
  max-width: 280px;
  margin: auto;
  color: rgba(255, 255, 255, 0.6);
}

.lineage-reel-placeholder-icon {
  color: rgba(198, 157, 82, 0.4);
  margin-bottom: 16px;
}

.lineage-reel-empty-inner h4 {
  color: #c69d52;
  font-family: var(--serif, "Sharpe", "Instrument Serif", Georgia, serif);
  font-size: 22px;
  margin: 0 0 10px;
}

.lineage-reel-empty-inner p {
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
}

/* Mobile & Tablet Side-by-Side Responsive Adjustments */
@media (max-width: 820px) {
  .lineage-reels-section {
    padding: 50px 14px 36px;
  }
  .lineage-reels-grid {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center;
    align-items: stretch;
    gap: 12px;
  }
  .lineage-reel-card {
    flex: 1 1 50%;
    min-width: 0;
    max-width: 50%;
    border-radius: 14px;
  }
  .lineage-reel-bar {
    padding: 8px 10px;
  }
  .lineage-reel-badge {
    font-size: 10px;
  }
  .lineage-reel-link {
    font-size: 10px;
  }
  .lineage-reel-play-btn {
    width: 60px;
    height: 60px;
  }
}

@media (max-width: 480px) {
  .lineage-reels-section {
    padding: 38px 8px 24px;
  }
  .lineage-reels-header {
    margin-bottom: 18px;
  }
  .lineage-reels-grid {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 8px;
    width: 100%;
  }
  .lineage-reel-card {
    flex: 1 1 50%;
    min-width: 0;
    max-width: 50%;
    border-radius: 12px;
  }
  .lineage-reel-bar {
    padding: 6px 8px;
  }
  .lineage-reel-badge {
    font-size: 9px;
    gap: 4px;
  }
  .lineage-reel-ig-icon {
    width: 11px;
    height: 11px;
  }
  .lineage-reel-link {
    font-size: 9px;
  }
  .lineage-reel-play-btn {
    width: 46px;
    height: 46px;
  }
}



/* ========================================================================
   v1.5.27 — Unified Playfair heading system
   All frontend headings use Playfair with responsive sizing, weight and
   title-case presentation. These rules intentionally sit at the end so
   they override older section-specific typography rules.
   ======================================================================== */
.lineage-gifts-frontend,
.lineage-gifts-frontend h1,
.lineage-gifts-frontend h2,
.lineage-gifts-frontend h3,
.lineage-gifts-frontend h4,
.lineage-gifts-frontend h5,
.lineage-gifts-frontend h6,
.lineage-gs h1,
.lineage-gs h2,
.lineage-gs h3,
.lineage-gs h4,
.lineage-gs h5,
.lineage-gs h6,
.oracle-section h1,
.oracle-section h2,
.oracle-section h3,
.oracle-section h4,
.oracle-section h5,
.oracle-section h6,
.light-section h1,
.light-section h2,
.light-section h3,
.light-section h4,
.light-section h5,
.light-section h6,
.lineage-reels-section h1,
.lineage-reels-section h2,
.lineage-reels-section h3,
.lineage-reels-section h4,
.lineage-reels-section h5,
.lineage-reels-section h6 {
  font-family: "Playfair", "Playfair Display", Georgia, serif !important;
  text-transform: capitalize !important;
  letter-spacing: normal !important;
}

/* Responsive hierarchy — both size and visual weight scale by viewport. */
.lineage-gs h1, .lineage-reels-section h1 { font-size: clamp(2rem, 4.2vw, 3.5rem) !important; font-weight: 700 !important; line-height: 1.08 !important; }
.lineage-gs h2, .lineage-reels-section h2, .oracle-section h2, .light-section h2 { font-size: clamp(1.65rem, 3.1vw, 2.65rem) !important; font-weight: 650 !important; line-height: 1.12 !important; }
.lineage-gs h3, .lineage-reels-section h3, .oracle-section h3, .light-section h3 { font-size: clamp(1.3rem, 2.35vw, 2rem) !important; font-weight: 600 !important; line-height: 1.15 !important; }
.lineage-gs h4, .lineage-reels-section h4, .oracle-section h4, .light-section h4 { font-size: clamp(1.05rem, 1.75vw, 1.5rem) !important; font-weight: 600 !important; line-height: 1.18 !important; }
.lineage-gs h5, .lineage-reels-section h5, .oracle-section h5, .light-section h5 { font-size: clamp(.95rem, 1.35vw, 1.2rem) !important; font-weight: 600 !important; line-height: 1.2 !important; }
.lineage-gs h6, .lineage-reels-section h6, .oracle-section h6, .light-section h6 { font-size: clamp(.85rem, 1.1vw, 1rem) !important; font-weight: 600 !important; line-height: 1.25 !important; }

/* Known plugin title classes that are not always semantic h1-h6 elements. */
.lineage-gs .lineage-gs__section-title,
.lineage-gs .lineage-gs__card-title,
.lineage-gs .lineage-gs__single-quiz-title,
.light-section .light-title,
.oracle-section .oracle-title,
.lineage-reels-title,
.lineage-title,
.white-card-title,
.white-card-img-title,
.card-bottom h4 {
  font-family: "Playfair", "Playfair Display", Georgia, serif !important;
  text-transform: capitalize !important;
}

.lineage-gs .lineage-gs__section-title,
.light-section .light-title,
.oracle-section .oracle-title,
.lineage-reels-title,
.lineage-title {
  font-size: clamp(1.65rem, 3.1vw, 2.65rem) !important;
  font-weight: 650 !important;
  line-height: 1.12 !important;
}

.lineage-gs .lineage-gs__card-title,
.white-card-title,
.white-card-img-title,
.card-bottom h4 {
  font-size: clamp(1rem, 1.6vw, 1.45rem) !important;
  font-weight: 600 !important;
  line-height: 1.18 !important;
}

@media (max-width: 600px) {
  .lineage-gs .lineage-gs__section-title,
  .light-section .light-title,
  .oracle-section .oracle-title,
  .lineage-reels-title,
  .lineage-title {
    font-weight: 600 !important;
  }
}


/* ============================================================
   v1.6.1 — Premium Reading Room / Gift Guide cards
   Visual direction: cinematic heritage, black + antique gold,
   editorial luxury, generous image area and refined actions.
   ============================================================ */
#reading-room.lineage-premium-reading-room,
.light-section:has(.lineage-premium-guide-card) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 8%, rgba(198,157,82,.12), transparent 34%),
    radial-gradient(circle at 15% 80%, rgba(93,70,35,.10), transparent 28%),
    #030303;
  padding-top: 72px !important;
  padding-bottom: 62px !important;
}
.light-section:has(.lineage-premium-guide-card)::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .34;
  background:
    linear-gradient(90deg, transparent 0, rgba(198,157,82,.12) 50%, transparent 100%),
    radial-gradient(circle at 50% 105%, rgba(198,157,82,.15), transparent 30%);
  z-index: -1;
}
.light-section:has(.lineage-premium-guide-card) .light-header {
  max-width: 1250px;
  margin-bottom: 34px;
  text-align: center !important;
}
.light-section:has(.lineage-premium-guide-card) .light-tag {
  color: #d6b46b !important;
  letter-spacing: .28em !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}
.light-section:has(.lineage-premium-guide-card) .light-title {
  color: #f3e3bd !important;
  text-shadow: 0 4px 26px rgba(198,157,82,.16);
  letter-spacing: -.015em !important;
}
.light-section:has(.lineage-premium-guide-card) .oracle-desc {
  color: rgba(236,229,215,.68) !important;
  max-width: 700px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.lineage-premium-guide-card {
  position: relative;
  flex: 0 0 clamp(280px, 22.5vw, 365px) !important;
  width: clamp(280px, 22.5vw, 365px) !important;
  height: 625px !important;
  min-height: 625px !important;
  background: linear-gradient(180deg, #10100f 0%, #050505 100%) !important;
  border: 1px solid rgba(198,157,82,.52) !important;
  border-radius: 20px !important;
  box-shadow: 0 20px 55px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.035) !important;
  overflow: hidden !important;
  transform: translateZ(0);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
}
.lineage-premium-guide-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,.09), transparent 22%, transparent 78%, rgba(198,157,82,.10));
  z-index: 5;
}
.lineage-premium-guide-card:hover {
  transform: translateY(-9px) !important;
  border-color: rgba(220,181,105,.9) !important;
  box-shadow: 0 30px 70px rgba(0,0,0,.66), 0 0 30px rgba(198,157,82,.10), inset 0 0 0 1px rgba(255,255,255,.045) !important;
}
.lineage-premium-guide-media {
  position: relative;
  height: 405px !important;
  flex: 0 0 405px !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  overflow: hidden;
}
.lineage-premium-guide-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.06) 40%, rgba(0,0,0,.62) 100%);
}
.lineage-premium-guide-media-shade {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0, rgba(255,220,160,.12), transparent 45%);
  z-index: 1;
}
.lineage-premium-guide-badge {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 13px;
  border: 1px solid rgba(232,201,137,.64);
  border-radius: 999px;
  background: rgba(7,7,7,.62);
  backdrop-filter: blur(10px);
  color: #ead29b;
  font: 700 10px/1.1 Inter, Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  box-shadow: 0 8px 20px rgba(0,0,0,.25);
}
.lineage-premium-guide-badge-icon { font-size: 12px; color: #f2ce78; }
.lineage-premium-guide-content {
  position: relative;
  z-index: 4;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 220px;
  padding: 25px 25px 22px;
  text-align: center;
}
.lineage-premium-guide-title {
  margin: 0;
  color: #e9c879 !important;
  font-family: "Playfair", "Playfair Display", Georgia, serif !important;
  font-size: clamp(22px, 1.65vw, 28px) !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  letter-spacing: -.015em !important;
}
.lineage-premium-guide-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 12px auto 12px;
  color: #d7b365;
  font-size: 12px;
}
.lineage-premium-guide-divider::before,
.lineage-premium-guide-divider::after {
  content: "";
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(198,157,82,.55));
}
.lineage-premium-guide-divider::after { transform: scaleX(-1); }
.lineage-premium-guide-description {
  margin: 0 auto;
  max-width: 300px;
  color: rgba(237,231,220,.73) !important;
  font: 400 13px/1.55 Inter, Arial, sans-serif !important;
}
.lineage-premium-guide-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  padding-top: 20px;
}
.lineage-premium-guide-pdf,
.lineage-premium-guide-read {
  appearance: none;
  min-height: 48px;
  border-radius: 999px;
  font: 700 13px/1 Inter, Arial, sans-serif;
  cursor: pointer;
  transition: transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.lineage-premium-guide-pdf {
  flex: 0 0 auto;
  padding: 0 17px;
  border: 1px solid rgba(218,184,111,.5);
  background: rgba(255,255,255,.035);
  color: #f0e5cf;
}
.lineage-premium-guide-pdf span { margin-right: 6px; font-size: 15px; }
.lineage-premium-guide-read {
  flex: 1 1 auto;
  padding: 0 18px;
  border: 1px solid #d9ad55;
  background: linear-gradient(180deg, #f2d084, #d8ad58);
  color: #11100d;
  box-shadow: 0 7px 18px rgba(198,157,82,.16);
}
.lineage-premium-guide-read span { margin-left: 7px; font-size: 16px; }
.lineage-premium-guide-pdf:hover,
.lineage-premium-guide-read:hover { transform: translateY(-2px); }
.lineage-premium-guide-pdf:hover { background: rgba(198,157,82,.12); border-color: rgba(232,201,137,.8); }
.lineage-premium-guide-read:hover { box-shadow: 0 10px 24px rgba(198,157,82,.28); }

.guide-slider-wrap {
  width: min(100%, 1840px) !important;
  max-width: 1840px !important;
  padding: 0 66px !important;
}
.guide-slider-wrap .guide-cards-grid {
  gap: 28px !important;
  padding: 12px 4px 38px !important;
}
.guide-slider-wrap .guide-slider-arrow {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  border: 1px solid rgba(210,172,96,.68) !important;
  background: rgba(8,8,8,.82) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.035) !important;
  color: #f2ddb0 !important;
}
.guide-slider-wrap .guide-slider-arrow:hover {
  background: rgba(198,157,82,.18) !important;
  border-color: #e3bd6d !important;
}

/* Compact pagination cue beneath the Reading Room, matching the cinematic reference. */
.guide-slider-wrap::after {
  content: "●  ●  ●  ●";
  display: block;
  text-align: center;
  margin-top: -7px;
  color: rgba(230,218,196,.38);
  font: 12px/1 Inter, Arial, sans-serif;
  letter-spacing: 7px;
  pointer-events: none;
}

@media (max-width: 900px) {
  .lineage-premium-guide-card {
    flex-basis: min(340px, calc(100vw - 110px)) !important;
    width: min(340px, calc(100vw - 110px)) !important;
    height: 590px !important;
    min-height: 590px !important;
  }
  .lineage-premium-guide-media { height: 370px !important; flex-basis: 370px !important; }
}
@media (max-width: 600px) {
  .light-section:has(.lineage-premium-guide-card) { padding-top: 54px !important; padding-bottom: 48px !important; }
  .guide-slider-wrap { padding: 0 38px !important; }
  .guide-slider-wrap .guide-cards-grid { gap: 15px !important; padding-bottom: 28px !important; }
  .lineage-premium-guide-card {
    flex-basis: min(330px, calc(100vw - 76px)) !important;
    width: min(330px, calc(100vw - 76px)) !important;
    height: 560px !important;
    min-height: 560px !important;
    border-radius: 17px !important;
  }
  .lineage-premium-guide-media { height: 345px !important; flex-basis: 345px !important; }
  .lineage-premium-guide-content { padding: 20px 18px 18px; }
  .lineage-premium-guide-title { font-size: 22px !important; }
  .lineage-premium-guide-actions { gap: 8px; }
  .lineage-premium-guide-pdf { padding: 0 13px; }
  .lineage-premium-guide-read { padding: 0 14px; }
  .guide-slider-wrap::after { letter-spacing: 4px; }
}


/* ============================================================
   v1.6.2 — Reading Room visual refinement
   - Images stay inside a controlled portrait media container.
   - Source-image dimensions never change card height.
   - Card content remains fully visible; no title clipping.
   - Desktop shows four premium cards when viewport allows.
   ============================================================ */
#reading-room.lineage-premium-reading-room .guide-slider-wrap {
  width: min(100%, 1760px) !important;
  max-width: 1760px !important;
  margin: 0 auto !important;
  padding: 0 58px !important;
  box-sizing: border-box !important;
}
#reading-room.lineage-premium-reading-room .guide-cards-grid {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(0, 1fr) !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  align-items: stretch !important;
  padding: 12px 4px 34px !important;
  scroll-snap-type: x mandatory !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-card {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 650px !important;
  min-height: 650px !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  scroll-snap-align: start !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
  width: 100% !important;
  height: 390px !important;
  min-height: 390px !important;
  flex: 0 0 390px !important;
  aspect-ratio: 1 / 1 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
  min-height: 0 !important;
  height: 260px !important;
  flex: 1 1 260px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  padding: 22px 22px 20px !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-title {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  min-height: 50px !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-description {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-actions {
  flex: 0 0 auto !important;
}

/* On narrower screens the carousel becomes a true horizontal track rather than
   squeezing four cards into the viewport. The image remains a stable square crop. */
@media (max-width: 1100px) {
  #reading-room.lineage-premium-reading-room .guide-cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-columns: minmax(0, 1fr) !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-card {
    height: 620px !important;
    min-height: 620px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
    height: 365px !important;
    min-height: 365px !important;
    flex-basis: 365px !important;
  }
}
@media (max-width: 700px) {
  #reading-room.lineage-premium-reading-room .guide-slider-wrap {
    padding: 0 42px !important;
  }
  #reading-room.lineage-premium-reading-room .guide-cards-grid {
    display: flex !important;
    gap: 16px !important;
    padding: 10px 2px 28px !important;
    overflow-x: auto !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-card {
    flex: 0 0 min(340px, calc(100vw - 88px)) !important;
    width: min(340px, calc(100vw - 88px)) !important;
    height: 590px !important;
    min-height: 590px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
    height: 340px !important;
    min-height: 340px !important;
    flex-basis: 340px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
    height: 250px !important;
    flex-basis: 250px !important;
    padding: 19px 17px 17px !important;
  }
}
@media (max-width: 420px) {
  #reading-room.lineage-premium-reading-room .guide-slider-wrap {
    padding: 0 34px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-card {
    flex-basis: calc(100vw - 68px) !important;
    width: calc(100vw - 68px) !important;
  }
}

/* ============================================================
   v1.6.3 — Reading Room / Guide Carousel HARD LAYOUT FIX
   Fixes the accidental CSS-grid shrink-to-slivers regression.
   The carousel is ALWAYS a horizontal flex track with real card
   widths. Four cards are visible on desktop; remaining cards scroll.
   ============================================================ */
#reading-room.lineage-premium-reading-room {
  overflow: hidden !important;
}

#reading-room.lineage-premium-reading-room .guide-slider-wrap {
  display: block !important;
  position: relative !important;
  width: min(100%, 1840px) !important;
  max-width: 1840px !important;
  margin: 0 auto !important;
  padding: 0 72px !important;
  box-sizing: border-box !important;
}

#reading-room.lineage-premium-reading-room .guide-cards-grid {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 12px 6px 34px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  scrollbar-width: none !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
}

#reading-room.lineage-premium-reading-room .guide-cards-grid::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

#reading-room.lineage-premium-reading-room .lineage-premium-guide-card,
#reading-room.lineage-premium-reading-room .guide-feature-card {
  flex: 0 0 calc((100% - 72px) / 4) !important;
  width: calc((100% - 72px) / 4) !important;
  min-width: 300px !important;
  max-width: none !important;
  height: 650px !important;
  min-height: 650px !important;
  max-height: 650px !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  scroll-snap-align: start !important;
  scroll-snap-stop: always !important;
}

#reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
  position: relative !important;
  width: 100% !important;
  height: 390px !important;
  min-height: 390px !important;
  max-height: 390px !important;
  flex: 0 0 390px !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

#reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
  width: 100% !important;
  height: 260px !important;
  min-height: 260px !important;
  max-height: 260px !important;
  flex: 0 0 260px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 22px 22px 20px !important;
}

#reading-room.lineage-premium-reading-room .lineage-premium-guide-title {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  min-height: 50px !important;
  max-height: 56px !important;
}

#reading-room.lineage-premium-reading-room .lineage-premium-guide-description {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
  max-height: 62px !important;
}

#reading-room.lineage-premium-reading-room .lineage-premium-guide-actions {
  width: 100% !important;
  margin-top: auto !important;
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

#reading-room.lineage-premium-reading-room .lineage-premium-guide-pdf {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

#reading-room.lineage-premium-reading-room .lineage-premium-guide-read {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}

#reading-room.lineage-premium-reading-room .guide-slider-arrow {
  position: absolute !important;
  top: 50% !important;
  z-index: 50 !important;
  transform: translateY(-50%) !important;
}

#reading-room.lineage-premium-reading-room .guide-slider-prev { left: 10px !important; }
#reading-room.lineage-premium-reading-room .guide-slider-next { right: 10px !important; }

@media (max-width: 1250px) {
  #reading-room.lineage-premium-reading-room .guide-slider-wrap {
    padding-left: 62px !important;
    padding-right: 62px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-card,
  #reading-room.lineage-premium-reading-room .guide-feature-card {
    flex-basis: calc((100% - 24px) / 2) !important;
    width: calc((100% - 24px) / 2) !important;
    min-width: 300px !important;
    height: 620px !important;
    min-height: 620px !important;
    max-height: 620px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
    height: 365px !important;
    min-height: 365px !important;
    max-height: 365px !important;
    flex-basis: 365px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
    height: 255px !important;
    min-height: 255px !important;
    max-height: 255px !important;
    flex-basis: 255px !important;
  }
}

@media (max-width: 700px) {
  #reading-room.lineage-premium-reading-room .guide-slider-wrap {
    padding-left: 42px !important;
    padding-right: 42px !important;
  }
  #reading-room.lineage-premium-reading-room .guide-cards-grid {
    gap: 16px !important;
    padding: 10px 2px 28px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-card,
  #reading-room.lineage-premium-reading-room .guide-feature-card {
    flex: 0 0 min(340px, calc(100vw - 88px)) !important;
    width: min(340px, calc(100vw - 88px)) !important;
    min-width: min(340px, calc(100vw - 88px)) !important;
    height: 590px !important;
    min-height: 590px !important;
    max-height: 590px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
    height: 340px !important;
    min-height: 340px !important;
    max-height: 340px !important;
    flex-basis: 340px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
    height: 250px !important;
    min-height: 250px !important;
    max-height: 250px !important;
    flex-basis: 250px !important;
    padding: 19px 17px 17px !important;
  }
  #reading-room.lineage-premium-reading-room .guide-slider-prev { left: 2px !important; }
  #reading-room.lineage-premium-reading-room .guide-slider-next { right: 2px !important; }
}

@media (max-width: 420px) {
  #reading-room.lineage-premium-reading-room .guide-slider-wrap {
    padding-left: 34px !important;
    padding-right: 34px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-card,
  #reading-room.lineage-premium-reading-room .guide-feature-card {
    flex-basis: calc(100vw - 68px) !important;
    width: calc(100vw - 68px) !important;
    min-width: calc(100vw - 68px) !important;
  }
}


/* ============================================================
   v1.6.4 — Reading Room premium compact cards
   - One-line responsive titles
   - Remove Workbook/subtitle filler
   - Remove duplicate PDF action when PDF badge is present
   - Remove decorative AI/spark icons from badges/actions
   - Reduce unused vertical space
   ============================================================ */
#reading-room.lineage-premium-reading-room .lineage-premium-guide-card {
  height: 610px !important;
  min-height: 610px !important;
  max-height: 610px !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
  height: 365px !important;
  min-height: 365px !important;
  max-height: 365px !important;
  flex-basis: 365px !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
  height: 245px !important;
  min-height: 245px !important;
  max-height: 245px !important;
  flex-basis: 245px !important;
  padding: 18px 20px 18px !important;
  justify-content: flex-start !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-title {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: clamp(18px, 1.35vw, 23px) !important;
  line-height: 1.15 !important;
  letter-spacing: -.01em !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-divider {
  margin: 12px auto 0 !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-description {
  display: none !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-actions {
  width: 100% !important;
  margin-top: auto !important;
  padding-top: 14px !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-read {
  width: 100% !important;
  min-height: 48px !important;
  flex: 1 1 auto !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-pdf {
  display: none !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-badge-icon {
  display: none !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-badge {
  gap: 0 !important;
}
@media (max-width: 1250px) {
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-card {
    height: 590px !important;
    min-height: 590px !important;
    max-height: 590px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
    height: 350px !important;
    min-height: 350px !important;
    max-height: 350px !important;
    flex-basis: 350px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
    height: 240px !important;
    min-height: 240px !important;
    max-height: 240px !important;
    flex-basis: 240px !important;
  }
}
@media (max-width: 700px) {
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-card {
    height: 555px !important;
    min-height: 555px !important;
    max-height: 555px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
    height: 325px !important;
    min-height: 325px !important;
    max-height: 325px !important;
    flex-basis: 325px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
    height: 230px !important;
    min-height: 230px !important;
    max-height: 230px !important;
    flex-basis: 230px !important;
    padding: 16px 15px 15px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-title {
    font-size: clamp(16px, 4.4vw, 20px) !important;
    line-height: 1.15 !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-divider {
    margin-top: 10px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-read {
    min-height: 44px !important;
    font-size: 12px !important;
  }
}
@media (max-width: 420px) {
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-card {
    height: 525px !important;
    min-height: 525px !important;
    max-height: 525px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
    height: 305px !important;
    min-height: 305px !important;
    max-height: 305px !important;
    flex-basis: 305px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;
    flex-basis: 220px !important;
  }
}


/* ============================================================
   v1.6.7 — Reading Room: eliminate empty content space
   The card contains only: title, ornament divider, and Read Now.
   No fixed-height filler area and no auto-spaced empty region.
   ============================================================ */
#reading-room.lineage-premium-reading-room .lineage-premium-guide-card {
  height: 535px !important;
  min-height: 535px !important;
  max-height: 535px !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
  height: 365px !important;
  min-height: 365px !important;
  max-height: 365px !important;
  flex: 0 0 365px !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
  height: 170px !important;
  min-height: 170px !important;
  max-height: 170px !important;
  flex: 0 0 170px !important;
  padding: 14px 20px 16px !important;
  box-sizing: border-box !important;
  justify-content: flex-start !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-title {
  margin: 0 !important;
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  display: block !important;
  font-size: clamp(17px, 1.45vw, 22px) !important;
  line-height: 28px !important;
  text-align: center !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-divider {
  margin: 10px auto 0 !important;
  height: 1px !important;
  flex: 0 0 1px !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-actions {
  margin-top: 16px !important;
  padding: 0 !important;
  height: 48px !important;
  min-height: 48px !important;
  flex: 0 0 48px !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-read {
  width: 100% !important;
  min-height: 48px !important;
  height: 48px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
}
@media (max-width: 1250px) {
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-card {
    height: 515px !important;
    min-height: 515px !important;
    max-height: 515px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
    height: 350px !important;
    min-height: 350px !important;
    max-height: 350px !important;
    flex-basis: 350px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
    height: 165px !important;
    min-height: 165px !important;
    max-height: 165px !important;
    flex-basis: 165px !important;
    padding: 13px 18px 15px !important;
  }
}
@media (max-width: 700px) {
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-card {
    height: 475px !important;
    min-height: 475px !important;
    max-height: 475px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
    height: 315px !important;
    min-height: 315px !important;
    max-height: 315px !important;
    flex-basis: 315px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
    height: 160px !important;
    min-height: 160px !important;
    max-height: 160px !important;
    flex-basis: 160px !important;
    padding: 12px 14px 14px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-title {
    font-size: clamp(15px, 4.2vw, 19px) !important;
    line-height: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    max-height: 26px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-divider {
    margin-top: 8px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-actions {
    margin-top: 12px !important;
    height: 44px !important;
    min-height: 44px !important;
    flex-basis: 44px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-read {
    height: 44px !important;
    min-height: 44px !important;
    font-size: 12px !important;
  }
}
@media (max-width: 420px) {
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-card {
    height: 445px !important;
    min-height: 445px !important;
    max-height: 445px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
    height: 295px !important;
    min-height: 295px !important;
    max-height: 295px !important;
    flex-basis: 295px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
    flex-basis: 150px !important;
  }
}

/* v1.6.7 — Reading Room: remove trailing card body height completely */
#reading-room.lineage-premium-reading-room .guide-cards-grid {
  align-items: flex-start !important;
  padding-bottom: 16px !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-card,
#reading-room.lineage-premium-reading-room .guide-feature-card {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-self: flex-start !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
  height: 365px !important;
  min-height: 365px !important;
  max-height: 365px !important;
  flex: 0 0 365px !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  padding: 14px 20px 16px !important;
  box-sizing: border-box !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-title {
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  margin: 0 !important;
  line-height: 28px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-divider {
  margin: 9px auto 0 !important;
  height: 1px !important;
  min-height: 1px !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-actions {
  margin: 12px 0 0 !important;
  padding: 0 !important;
  height: 48px !important;
  min-height: 48px !important;
  flex: 0 0 48px !important;
}
#reading-room.lineage-premium-reading-room .lineage-premium-guide-read {
  height: 48px !important;
  min-height: 48px !important;
}
@media (max-width: 1250px) {
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
    height: 350px !important;
    min-height: 350px !important;
    max-height: 350px !important;
    flex-basis: 350px !important;
  }
}
@media (max-width: 700px) {
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
    height: 315px !important;
    min-height: 315px !important;
    max-height: 315px !important;
    flex-basis: 315px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
    padding: 12px 14px 14px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-title {
    height: 26px !important;
    min-height: 26px !important;
    max-height: 26px !important;
    line-height: 26px !important;
    font-size: clamp(15px, 4.2vw, 19px) !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-divider { margin-top: 7px !important; }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-actions {
    margin-top: 10px !important;
    height: 44px !important;
    min-height: 44px !important;
    flex-basis: 44px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-read {
    height: 44px !important;
    min-height: 44px !important;
  }
}
@media (max-width: 420px) {
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
    height: 295px !important;
    min-height: 295px !important;
    max-height: 295px !important;
    flex-basis: 295px !important;
  }
}

/* v1.6.7 — Mobile: show two cards per horizontal section
 * Reading Room, Audio and Mulank use a true 2-column viewport on phones.
 * Cards keep their fixed carousel identity and scroll horizontally for the rest.
 */
@media (max-width: 768px) {
  /* Generic card-track spacing: reserve room for two complete cards. */
  .white-cards-grid {
    gap: 12px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    scroll-padding-left: 0 !important;
    scroll-snap-type: x mandatory !important;
  }

  /* Audio — exactly two cards visible in the available viewport. */
  .audio-cards-grid .audio-feature-card {
    width: calc((100vw - 32px - 12px) / 2) !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 0 0 calc((100vw - 32px - 12px) / 2) !important;
    flex-basis: calc((100vw - 32px - 12px) / 2) !important;
    height: auto !important;
    aspect-ratio: 2 / 3 !important;
  }

  /* Reading Room — exactly two cards visible in the available viewport. */
  #reading-room.lineage-premium-reading-room .guide-slider-wrap {
    padding-left: 30px !important;
    padding-right: 30px !important;
    overflow: visible !important;
  }
  #reading-room.lineage-premium-reading-room .guide-cards-grid {
    gap: 12px !important;
    padding: 8px 0 20px !important;
    width: 100% !important;
    overflow-x: auto !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-card,
  #reading-room.lineage-premium-reading-room .guide-feature-card {
    width: calc((100vw - 60px - 12px) / 2) !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 0 calc((100vw - 60px - 12px) / 2) !important;
    flex-basis: calc((100vw - 60px - 12px) / 2) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    aspect-ratio: 4 / 5 !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    padding: 12px 10px 12px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-title {
    font-size: clamp(13px, 3.5vw, 17px) !important;
    line-height: 1.15 !important;
    min-height: 0 !important;
    max-height: 1.3em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    -webkit-line-clamp: 1 !important;
    display: block !important;
    margin-bottom: 7px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-divider {
    margin-top: 5px !important;
    margin-bottom: 8px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-actions {
    margin-top: 0 !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-read {
    width: 100% !important;
    min-height: 40px !important;
    padding: 9px 10px !important;
    font-size: 13px !important;
  }
  #reading-room.lineage-premium-reading-room .guide-slider-prev { left: 3px !important; }
  #reading-room.lineage-premium-reading-room .guide-slider-next { right: 3px !important; }

  /* Mulank / other white-card sections — two cards per mobile viewport. */
  .mulank-card-wrap .mulank-feature-card {
    width: calc((100vw - 32px - 12px) / 2) !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 0 calc((100vw - 32px - 12px) / 2) !important;
    flex-basis: calc((100vw - 32px - 12px) / 2) !important;
    height: auto !important;
    aspect-ratio: 2 / 3 !important;
  }
}

@media (max-width: 420px) {
  .audio-cards-grid .audio-feature-card,
  .mulank-card-wrap .mulank-feature-card {
    width: calc((100vw - 24px - 10px) / 2) !important;
    flex-basis: calc((100vw - 24px - 10px) / 2) !important;
  }
  #reading-room.lineage-premium-reading-room .guide-slider-wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-card,
  #reading-room.lineage-premium-reading-room .guide-feature-card {
    width: calc((100vw - 48px - 10px) / 2) !important;
    flex-basis: calc((100vw - 48px - 10px) / 2) !important;
  }
}

/* ============================================================
   v1.6.8 — APPROVED MOBILE VISUAL: TWO CARDS PER SECTION
   Reference: approved mobile mockup.
   - Exactly two complete cards visible on phones
   - Horizontal swipe for remaining cards
   - No card stretching / slivers / trailing blank space
   - Reading Room: image -> one-line title -> divider -> Read Now
   - Audio: artwork -> title -> controls, two cards visible
   ============================================================ */
@media (max-width: 768px) {
  /* Shared mobile carousel viewport */
  .lineage-gs .white-cards-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 12px !important;
  }
  .lineage-gs .white-cards-grid::-webkit-scrollbar { display: none !important; }

  /* ---------------- Reading Room ---------------- */
  #reading-room.lineage-premium-reading-room .guide-slider-wrap {
    width: 100% !important;
    max-width: none !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  #reading-room.lineage-premium-reading-room .guide-cards-grid {
    width: 100% !important;
    max-width: none !important;
    padding: 8px 0 18px !important;
    margin: 0 !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  #reading-room.lineage-premium-reading-room .lineage-premium-guide-card,
  #reading-room.lineage-premium-reading-room .guide-feature-card {
    box-sizing: border-box !important;
    flex: 0 0 calc((100% - 12px) / 2) !important;
    width: calc((100% - 12px) / 2) !important;
    min-width: calc((100% - 12px) / 2) !important;
    max-width: calc((100% - 12px) / 2) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-self: flex-start !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
    border-radius: 18px !important;
  }

  #reading-room.lineage-premium-reading-room .lineage-premium-guide-media {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: none !important;
    aspect-ratio: 4 / 5 !important;
    overflow: hidden !important;
    background-size: cover !important;
    background-position: center !important;
  }

  #reading-room.lineage-premium-reading-room .lineage-premium-guide-content {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: none !important;
    padding: 11px 9px 11px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    overflow: visible !important;
  }

  #reading-room.lineage-premium-reading-room .lineage-premium-guide-title {
    width: 100% !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    text-align: center !important;
    font-size: clamp(11px, 3.25vw, 16px) !important;
    line-height: 22px !important;
    letter-spacing: -0.01em !important;
  }

  #reading-room.lineage-premium-reading-room .lineage-premium-guide-divider {
    width: 78% !important;
    height: 1px !important;
    min-height: 1px !important;
    margin: 7px auto 10px !important;
    flex: none !important;
  }

  #reading-room.lineage-premium-reading-room .lineage-premium-guide-description,
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-pdf {
    display: none !important;
  }

  #reading-room.lineage-premium-reading-room .lineage-premium-guide-actions {
    width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex: none !important;
  }

  #reading-room.lineage-premium-reading-room .lineage-premium-guide-read {
    width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    font-size: clamp(10px, 2.9vw, 13px) !important;
    line-height: 40px !important;
    white-space: nowrap !important;
  }

  #reading-room.lineage-premium-reading-room .guide-slider-arrow {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    top: 50% !important;
    margin-top: -8px !important;
    z-index: 60 !important;
  }
  #reading-room.lineage-premium-reading-room .guide-slider-prev { left: -5px !important; }
  #reading-room.lineage-premium-reading-room .guide-slider-next { right: -5px !important; }

  /* ---------------- Echoes / Audio ---------------- */
  .audio-cards-grid {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 8px 0 20px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }
  .audio-cards-grid::-webkit-scrollbar { display: none !important; }

  .audio-cards-grid .audio-feature-card {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    z-index: 1 !important;
    box-sizing: border-box !important;
    flex: 0 0 calc((100% - 12px) / 2) !important;
    width: calc((100% - 12px) / 2) !important;
    min-width: calc((100% - 12px) / 2) !important;
    max-width: calc((100% - 12px) / 2) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 3 / 4 !important;
    border-radius: 18px !important;
    scroll-snap-align: start !important;
    overflow: hidden !important;
  }

  .audio-cards-grid .audio-feature-card .white-card-img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 0 0 58% !important;
    aspect-ratio: 1 / 1 !important;
    background-size: cover !important;
    background-position: center !important;
  }

  .audio-cards-grid .audio-feature-card .white-card-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding: 9px 9px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
  }

  .audio-cards-grid .audio-feature-card .white-card-title {
    width: 100% !important;
    min-height: 22px !important;
    max-height: 22px !important;
    margin: 0 0 7px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-size: clamp(12px, 3.2vw, 16px) !important;
    line-height: 22px !important;
    text-align: center !important;
  }

  .audio-cards-grid .audio-feature-card .white-card-footer {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .audio-cards-grid .audio-feature-card .white-card-badge,
  .audio-cards-grid .audio-feature-card .white-card-btn {
    min-width: 0 !important;
    white-space: nowrap !important;
  }

  .audio-cards-grid .audio-feature-card .white-card-badge {
    flex: 0 1 42% !important;
    padding: 8px 7px !important;
    font-size: 9px !important;
    text-align: center !important;
  }

  .audio-cards-grid .audio-feature-card .white-card-btn {
    flex: 1 1 58% !important;
    padding: 8px 7px !important;
    font-size: 11px !important;
    min-height: 38px !important;
  }

  /* Mobile section headings match the approved visual hierarchy. */
  .light-section .light-title {
    font-size: clamp(24px, 7vw, 32px) !important;
    line-height: 1.08 !important;
  }
  .light-section .oracle-desc {
    font-size: clamp(12px, 3.5vw, 15px) !important;
    line-height: 1.35 !important;
    max-width: 92% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 380px) {
  #reading-room.lineage-premium-reading-room .guide-slider-wrap,
  .audio-cards-grid {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  #reading-room.lineage-premium-reading-room .guide-cards-grid {
    gap: 10px !important;
  }
  #reading-room.lineage-premium-reading-room .lineage-premium-guide-card,
  #reading-room.lineage-premium-reading-room .guide-feature-card,
  .audio-cards-grid .audio-feature-card {
    flex-basis: calc((100% - 10px) / 2) !important;
    width: calc((100% - 10px) / 2) !important;
    min-width: calc((100% - 10px) / 2) !important;
  }
}
