/* ==========================================================================
   Books hub — from OD templates/books.html v2 (2026-09-21). Scoped under
   `.books-lp`; enqueued by tpl-book.php. Tokens inherit from style.css §01.
   ========================================================================== */

.books-lp .books-hero{
      background: var(--color-warm-white);
      padding: var(--space-3xl) var(--space-lg) var(--space-4xl);
      border-bottom: 1px solid var(--color-soft-taupe);
    }.books-lp .books-hero__inner{
      max-width: 760px;
      margin: 0 auto;
      text-align: center;
    }.books-lp .books-hero__breadcrumbs{
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.375rem;
      font-size: var(--text-overline);
      font-weight: 500;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-bottom: var(--space-lg);
    }.books-lp .books-hero__breadcrumbs a{ color: var(--color-warm-gray); }.books-lp .books-hero__breadcrumbs a:hover{ color: var(--color-forest-teal); text-decoration: none; }.books-lp .books-hero__breadcrumbs .sep{ color: var(--color-soft-taupe); }.books-lp .books-hero__breadcrumbs [aria-current="page"]{ color: var(--color-forest-teal); font-weight: 600; }.books-lp .books-hero__overline{
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--color-forest-teal);
      margin-bottom: var(--space-md);
    }.books-lp .books-hero h1{
      font-size: var(--text-h1);
      margin-bottom: var(--space-md);
    }.books-lp .books-hero__description{
      font-size: 1.0625rem;
      color: var(--color-warm-gray);
      line-height: 1.7;
      max-width: 620px;
      margin: 0 auto var(--space-xl);
    }.books-lp .books-hero__shelf{
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      gap: var(--space-sm);
      font-size: var(--text-caption);
    }.books-lp .books-hero__shelf > *{ margin: 0; }.books-lp .books-hero__shelf-label{
      width: 100%;
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--color-warm-gray);
    }

/* 1. Shelf pills — uniform height so the New badge doesn't misalign */
.books-lp .books-hero__shelf a{
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      min-height: 36px;
      padding: 0.375rem 1rem;
      background: var(--color-cream);
      color: var(--color-forest-teal);
      font-size: var(--text-caption);
      font-weight: 500;
      border-radius: 999px;
      text-decoration: none;
      transition: background 200ms ease, color 200ms ease;
    }.books-lp .books-hero__shelf a .flag{
      font-size: var(--text-micro);
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      background: var(--color-warm-gold);
      color: var(--color-deep-charcoal);
      padding: 0.125rem 0.375rem;
      border-radius: var(--radius-sm);
      line-height: 1.2;
    }.books-lp .books-hero__shelf a:hover{
      background: var(--color-forest-teal);
      color: var(--color-cream);
      text-decoration: none;
    }.books-lp .books-hero__shelf a .flag{
      font-size: var(--text-micro);
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      background: var(--color-warm-gold);
      color: var(--color-deep-charcoal);
      padding: 0.125rem 0.375rem;
      border-radius: var(--radius-sm);
      line-height: 1.2;
    }.books-lp .books-hero__assurance{
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      margin-top: var(--space-xl);
      padding-top: var(--space-lg);
      border-top: 1px solid var(--color-soft-taupe);
      font-size: var(--text-caption);
      color: var(--color-warm-gray);
    }.books-lp .books-hero__assurance svg{ color: var(--color-forest-teal); flex-shrink: 0; }.books-lp .book-promo{
      background: var(--color-deep-teal);
      color: var(--color-cream);
      padding: var(--space-4xl) var(--space-lg);
      scroll-margin-top: calc(var(--header-height) + var(--space-md));
    }.books-lp .book-promo__inner{
      max-width: var(--width-content);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 300px minmax(0, 1fr);
      gap: clamp(40px, 6vw, 88px);
      align-items: center;
    }.books-lp .book-promo__cover{
      position: relative;
      justify-self: center;
    }.books-lp .book-promo__cover img{
      width: 100%;
      max-width: 300px;
      border-radius: var(--radius-md);
      box-shadow: var(--shadow-cover-band);
    }.books-lp .book-promo__overline{
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      color: var(--color-warm-gold);
      margin-bottom: var(--space-sm);
    }.books-lp .book-promo h2{
      font-size: clamp(2rem, 3.6vw, 3rem);
      color: var(--color-warm-white);
      margin-bottom: var(--space-sm);
    }.books-lp .book-promo__hook{
      font-family: var(--font-headline);
      font-style: italic;
      font-size: 1.25rem;
      color: var(--color-warm-white);
      margin-bottom: var(--space-md);
    }.books-lp .book-promo__publisher{
      font-size: var(--text-caption);
      color: var(--color-cream);
      opacity: 0.8;
      margin-bottom: var(--space-md);
    }.books-lp .book-promo__description{
      font-size: 1.0625rem;
      line-height: 1.75;
      color: var(--color-cream);
      opacity: 0.92;
      max-width: 560px;
      margin-bottom: var(--space-xl);
    }.books-lp .book-promo__points{
      list-style: none;
      margin-bottom: var(--space-2xl);
      display: grid;
      gap: var(--space-md);
    }.books-lp .book-promo__points li{
      display: flex;
      gap: 0.75rem;
      align-items: start;
      font-size: 1rem;
      line-height: 1.6;
      color: var(--color-cream);
    }.books-lp .book-promo__points svg{ flex-shrink: 0; margin-top: 0.2rem; color: var(--color-warm-gold); }.books-lp .book-promo__cta{ display: flex; align-items: center; gap: var(--space-lg); flex-wrap: wrap; }.books-lp .home-section{
      padding: var(--space-3xl) var(--space-lg);
      border-top: 1px solid var(--color-soft-taupe);
    }.books-lp .home-section__inner{
      max-width: var(--width-content);
      margin: 0 auto;
    }.books-lp .section-head{
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: var(--space-xl);
      margin-bottom: var(--space-2xl);
    }.books-lp .section-head__overline{
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--color-forest-teal);
      margin-bottom: var(--space-sm);
    }.books-lp .section-head h2{ font-size: var(--text-h2); max-width: 560px; }.books-lp .section-head__description{
      font-size: var(--text-caption);
      color: var(--color-warm-gray);
      max-width: 420px;
      line-height: 1.65;
      margin-top: var(--space-sm);
    }.books-lp .library-grid{
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--space-lg);
    }.books-lp .book-card{
      display: grid;
      grid-template-columns: 176px minmax(0, 1fr);
      gap: var(--space-lg);
      align-items: start;
      padding: var(--space-lg);
      background: var(--color-cream);
      border: 1px solid var(--color-soft-taupe);
      border-radius: var(--radius-lg);
      scroll-margin-top: calc(var(--header-height) + var(--space-md));
      transition: box-shadow 200ms ease, transform 200ms ease, border-color 200ms ease;
    }.books-lp .book-card:hover{
      box-shadow: var(--shadow-card);
      transform: translateY(-2px);
      border-color: #d8cdbb;
    }.books-lp .book-card__media{
      background: var(--color-warm-white);
      border: 1px solid var(--color-soft-taupe);
      border-radius: var(--radius-md);
      padding: var(--space-sm);
    }.books-lp .book-card__media img{
      width: 100%;
      height: auto;
      border-radius: var(--radius-sm);
      box-shadow: var(--shadow-cover);
    }.books-lp .book-card__badge{
      display: inline-block;
      padding: 0.25rem 0.625rem;
      background: var(--color-warm-white);
      border: 1px solid var(--color-soft-taupe);
      color: var(--color-forest-teal);
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      border-radius: var(--radius-sm);
      margin-bottom: var(--space-sm);
    }.books-lp .book-card h3{
      font-size: 1.5rem;
      color: var(--color-forest-teal);
      margin-bottom: var(--space-xs);
    }.books-lp .book-card h3 a{ color: inherit; text-decoration: none; }.books-lp .book-card h3 a:hover{ color: var(--color-deep-teal); text-decoration: none; }.books-lp .book-card__subtitle{
      font-family: var(--font-headline);
      font-style: italic;
      font-size: 1rem;
      line-height: 1.45;
      color: var(--color-deep-charcoal);
      margin-bottom: var(--space-sm);
    }.books-lp .book-card__meta{
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--color-warm-gray);
      margin-bottom: var(--space-sm);
    }.books-lp .book-card__description{
      font-size: var(--text-caption);
      color: var(--color-warm-gray);
      line-height: 1.65;
      margin-bottom: var(--space-md);
    }.books-lp .book-card__facts{
      list-style: none;
      display: flex;
      flex-wrap: wrap;
      gap: var(--space-xs);
      margin-bottom: var(--space-md);
    }.books-lp .book-card__facts li{
      padding: 0.25rem 0.625rem;
      background: var(--color-warm-white);
      border: 1px solid var(--color-soft-taupe);
      border-radius: 999px;
      font-size: var(--text-overline);
      font-weight: 500;
      color: var(--color-deep-charcoal);
    }.books-lp .book-card__link{
      display: inline-flex;
      align-items: center;
      gap: 0.375rem;
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--color-forest-teal);
    }.books-lp .book-card__link svg{ transition: transform 200ms ease; }.books-lp .book-card__link:hover{ color: var(--color-deep-teal); text-decoration: none; }.books-lp .book-card__link:hover svg{ transform: translateX(3px); }.books-lp /* Wide feature variant: closes the 2×2 grid so the shelf never
       shows an empty cell. */
    .book-card--wide{ grid-column: 1 / -1; grid-template-columns: 200px minmax(0, 1fr); }.books-lp .book-card--wide .book-card__description{ max-width: 640px; }.books-lp .praise{
      background: var(--color-cream);
      padding: var(--space-3xl) var(--space-lg);
      border-top: 1px solid var(--color-soft-taupe);
    }.books-lp .praise__inner{ max-width: var(--width-content); margin: 0 auto; }.books-lp .praise__overline{
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--color-forest-teal);
      margin-bottom: var(--space-sm);
      text-align: center;
    }.books-lp .praise h2{
      font-size: var(--text-h2);
      text-align: center;
      max-width: 620px;
      margin: 0 auto var(--space-2xl);
    }.books-lp .praise__grid{
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1px;
      background: var(--color-soft-taupe);
      border: 1px solid var(--color-soft-taupe);
    }.books-lp .praise__quote{
      background: var(--color-cream);
      padding: var(--space-xl);
      display: flex;
      flex-direction: column;
    }.books-lp .praise__quote-book{
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--color-forest-teal);
      margin-bottom: var(--space-md);
    }.books-lp .praise__quote blockquote{
      background: none;
      border: none;
      padding: 0;
      margin: 0 0 var(--space-md);
      font-family: var(--font-headline);
      font-style: italic;
      font-size: 1.25rem;
      line-height: 1.5;
      color: var(--color-deep-charcoal);
    }.books-lp .praise__quote cite{
      font-family: var(--font-body);
      font-style: normal;
      font-size: var(--text-caption);
      color: var(--color-warm-gray);
      margin-top: auto;
    }.books-lp .praise__quote cite strong{ color: var(--color-deep-charcoal); font-weight: 600; }.books-lp .author-strip{ padding: var(--space-4xl, 96px) var(--space-lg, 24px); background: var(--color-cream); }.books-lp .author-strip__inner{ max-width: var(--width-content, 1120px); margin: 0 auto; display: grid; grid-template-columns: minmax(200px, 300px) minmax(0, 1fr); gap: clamp(32px, 5vw, 64px); align-items: center; }.books-lp .author-strip__media img{ width: 100%; max-width: 300px; border-radius: 8px; }.books-lp .author-strip__media::before{ content: ""; position: absolute; ... }.books-lp .author-strip h2{ font-size: clamp(24px, 3vw, 34px); margin: 0 0 16px; }.books-lp .author-strip__bio{ color: var(--color-warm-gray); font-size: 17px; line-height: 1.7; margin: 0; max-width: 60ch; }.books-lp .books-faq{ padding: var(--space-4xl, 96px) var(--space-lg, 24px); }.books-lp .books-faq__inner{ max-width: 760px; margin: 0 auto; }.books-lp .books-faq h2{ font-size: clamp(24px, 3vw, 34px); margin: 8px 0 24px; }.books-lp .books-faq__item{ border: 1px solid var(--color-soft-taupe); border-radius: 4px; margin-bottom: 8px; background: var(--color-warm-white); }.books-lp .books-faq__item summary{ padding: 16px 20px; cursor: pointer; font-weight: 600; min-height: 24px; }.books-lp .books-faq__item[open] summary{ border-bottom: 1px solid var(--color-soft-taupe); }.books-lp .books-faq__item p{ padding: 14px 20px 18px; margin: 0; color: var(--color-warm-gray); font-size: 15px; line-height: 1.65; }

@media (max-width: 760px) {.books-lp .author-strip__inner{ grid-template-columns: 1fr; }.books-lp .author-strip__media img{ max-width: 240px; }
}.books-lp .newsletter{
      background: var(--color-forest-teal);
      color: var(--color-cream);
      padding: var(--space-4xl) var(--space-lg);
    }.books-lp .newsletter__inner{
      max-width: var(--width-content);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: clamp(40px, 6vw, 88px);
      align-items: center;
    }.books-lp .newsletter__overline{
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      color: var(--color-cream);
      margin-bottom: var(--space-sm);
    }.books-lp .newsletter h2{
      font-size: var(--text-h2);
      color: var(--color-warm-white);
      margin-bottom: var(--space-md);
      max-width: 440px;
    }.books-lp .newsletter__description{
      font-size: 1rem;
      line-height: 1.7;
      color: var(--color-cream);
      opacity: 0.92;
      max-width: 460px;
    }.books-lp .newsletter__form{
      display: flex;
      flex-direction: column;
      gap: var(--space-md);
    }.books-lp .newsletter__field{
      display: flex;
      border: 1.5px solid rgba(245, 240, 232, 0.4);
      border-radius: var(--radius-md);
      overflow: hidden;
      background: var(--color-warm-white);
    }.books-lp .newsletter__field input{
      flex: 1;
      min-width: 0;
      border: none;
      background: transparent;
      padding: 1rem 1.25rem;
      font-family: var(--font-body);
      font-size: 1rem;
      color: var(--color-deep-charcoal);
    }.books-lp .newsletter__field input::placeholder{ color: var(--color-warm-gray); }.books-lp .newsletter__field input:focus{ outline-offset: -3px; border-radius: 0; }.books-lp .newsletter__field button{
      padding: 1rem 1.5rem;
      background: var(--color-warm-gold);
      color: var(--color-deep-charcoal);
      border: none;
      font-family: var(--font-body);
      font-size: var(--text-caption);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      cursor: pointer;
      transition: background 200ms ease;
      white-space: nowrap;
    }.books-lp .newsletter__field button:hover{ background: var(--color-antique-gold); }.books-lp .newsletter__benefits{
      list-style: none;
      display: grid;
      gap: var(--space-sm);
    }.books-lp .newsletter__benefits li{
      display: flex;
      align-items: start;
      gap: 0.625rem;
      font-size: var(--text-caption);
      line-height: 1.6;
      color: var(--color-cream);
    }.books-lp .newsletter__benefits svg{ flex-shrink: 0; margin-top: 0.15rem; color: var(--color-warm-gold); }.books-lp .newsletter__privacy{
      font-size: var(--text-micro);
      color: var(--color-cream);
      opacity: 0.65;
    }.books-lp .newsletter__privacy a{
      color: var(--color-cream);
      text-decoration: underline;
      text-underline-offset: 0.18em;
    }.books-lp .newsletter__privacy a:hover{ color: var(--color-warm-white); }

    

/* ── Responsive (ported; scoped under .books-lp) ── */

/* ── RESPONSIVE ────────────────────────────── */

    @media (max-width: 1024px) {.books-lp .library-grid{ grid-template-columns: 1fr; }}

    @media (max-width: 768px) {.books-lp .books-hero{ padding: var(--space-2xl) var(--space-lg) var(--space-3xl); }.books-lp .book-promo{ padding: var(--space-3xl) var(--space-lg); }.books-lp .book-promo__inner{ grid-template-columns: 1fr; }.books-lp .book-promo__cover{ justify-self: start; }.books-lp .section-head{ flex-direction: column; align-items: start; gap: var(--space-sm); }.books-lp .praise__grid{ grid-template-columns: 1fr; }.books-lp .newsletter__inner{ grid-template-columns: 1fr; }}

    @media (max-width: 560px) {.books-lp .book-card{ grid-template-columns: 1fr; }.books-lp .book-card__media{ max-width: 200px; }
    }