/* ============ Life in Breath & Steps — brand component CSS ============ */
:root{
  --libs-ink:#1c1c1a; --libs-accent:#2e5a50; --libs-accent-hover:#22463d;
  --libs-cream:#f7f6f3; --libs-header-cream:#f5ede1; --libs-band:#efeee9;
}

/* ---- HEADER ---- */
.libs-header{position:sticky;top:0;z-index:50;background:rgba(245,237,225,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(28,28,26,.12)}
.libs-header .wp-block-group{margin-top:0;margin-bottom:0}
.libs-logo-mark{width:36px;height:36px;border-radius:50%;background:var(--libs-accent);color:#f4f3ef;display:flex;align-items:center;justify-content:center;font:500 18px 'Cormorant Garamond',Georgia,serif;flex:none}
.libs-wordmark{font:500 18px 'Cormorant Garamond',Georgia,serif;color:var(--libs-ink);line-height:1.05}
.libs-wordmark .amp{color:#adaca3}
.libs-tagline{font:400 8.5px 'Jost',system-ui,sans-serif;letter-spacing:.24em;color:#98978e;text-transform:uppercase;margin-top:3px;line-height:1}
.libs-nav .wp-block-navigation__container{gap:19px}
.libs-nav a{font:500 13px 'Jost',system-ui,sans-serif;color:#57574f}
.libs-nav a:hover{color:var(--libs-ink)}
.libs-search-pill{display:flex;align-items:center;gap:8px;height:36px;padding:0 14px;background:var(--libs-band);border:1px solid rgba(28,28,26,.14);border-radius:20px;color:#98978e;font:400 13px 'Jost',system-ui,sans-serif;cursor:text}
.libs-search-pill:hover{color:#57574f}
.libs-login-btn a,.libs-login-btn .wp-block-button__link{height:36px;padding:0 16px;display:inline-flex;align-items:center;border:1px solid var(--libs-ink);border-radius:20px;background:transparent;color:var(--libs-ink);font:600 12.5px 'Jost',system-ui,sans-serif}
.libs-login-btn a:hover,.libs-login-btn .wp-block-button__link:hover{background:var(--libs-ink);color:#f4f3ef}

/* ---- DAILY QUOTE BAND ---- */
.libs-quoteband{background:var(--libs-ink)}
.libs-quoteband .libs-quoteband-kicker{font:700 9.5px 'Jost',system-ui,sans-serif;letter-spacing:.2em;color:#9db5aa;text-transform:uppercase}
.libs-quoteband .libs-quoteband-quote{font:italic 400 21px/1.4 'Cormorant Garamond',Georgia,serif;color:#f2f1ec}
.libs-quoteband .libs-quoteband-ref{font:400 12px 'Jost',system-ui,sans-serif;color:#adaca3}

/* ---- HERO ---- */
.libs-kicker{font:700 10px 'Jost',system-ui,sans-serif;letter-spacing:.16em;color:var(--libs-accent);text-transform:uppercase}
.libs-hero-title{font:500 33px/1.12 'Cormorant Garamond',Georgia,serif;color:var(--libs-ink);letter-spacing:0}
.libs-hero-desc{font:400 15px/1.6 'Spectral',serif;color:#57574f;max-width:none}
.libs-media{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(28,28,26,.14);aspect-ratio:16/9;background:#e6e5e0;background-image:repeating-linear-gradient(135deg,rgba(40,40,36,.10) 0 1px,transparent 1px 15px),linear-gradient(160deg,#eae9e4,#dcdbd5);display:flex;align-items:center;justify-content:center}
.libs-media-badge{position:absolute;top:14px;left:14px;font:700 9px 'Jost',system-ui,sans-serif;letter-spacing:.14em;color:#5a4326;background:rgba(255,255,255,.85);padding:5px 9px;border-radius:20px;text-transform:uppercase}
.libs-play{width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;color:var(--libs-accent);box-shadow:0 6px 20px rgba(28,28,26,.20);transition:background .2s,transform .2s,color .2s}
.libs-btn-primary a,.libs-btn-primary .wp-block-button__link{height:44px;padding:0 22px;display:inline-flex;align-items:center;background:var(--libs-accent);border-radius:24px;font:600 13.5px 'Jost',system-ui,sans-serif;color:#f4f3ef;border:none}
.libs-btn-primary a:hover{background:var(--libs-accent-hover)}
.libs-btn-ghost a,.libs-btn-ghost .wp-block-button__link{height:44px;padding:0 18px;display:inline-flex;align-items:center;border:1px solid rgba(28,28,26,.24);border-radius:24px;font:600 13.5px 'Jost',system-ui,sans-serif;color:#33322e;background:transparent}

/* ---- THIS WEEK RAIL ---- */
.libs-rail-head{font:700 10px 'Jost',system-ui,sans-serif;letter-spacing:.16em;color:#98978e;text-transform:uppercase;padding-bottom:14px;border-bottom:2px solid var(--libs-ink)}
.libs-rail-item{padding:16px 0;border-bottom:1px solid rgba(28,28,26,.12)}
.libs-rail-type{font:700 9px 'Jost',system-ui,sans-serif;letter-spacing:.12em;color:var(--libs-accent);text-transform:uppercase}
.libs-rail-title{font:600 17px/1.25 'Cormorant Garamond',Georgia,serif;color:var(--libs-ink)}
.libs-rail-title a{color:var(--libs-ink)}
.libs-rail-excerpt{font:400 12.5px/1.5 'Spectral',serif;color:#75746c}

/* ---- LATEST GRID ---- */
.libs-section-head{font:500 22px 'Cormorant Garamond',Georgia,serif;color:var(--libs-ink)}
.libs-browse-all a{font:600 12.5px 'Jost',system-ui,sans-serif;color:var(--libs-accent)}
.libs-card-thumb{aspect-ratio:16/9;border-radius:11px;background:#e6e5e0;background-image:repeating-linear-gradient(135deg,rgba(40,40,36,.09) 0 1px,transparent 1px 13px),linear-gradient(160deg,#eae9e4,#dcdbd5);border:1px solid rgba(28,28,26,.12)}
.libs-card-type{font:700 9px 'Jost',system-ui,sans-serif;letter-spacing:.14em;color:var(--libs-accent);text-transform:uppercase}
.libs-card-title{font:600 18px/1.2 'Cormorant Garamond',Georgia,serif;color:var(--libs-ink)}
.libs-card-title a{color:var(--libs-ink)}
.libs-card-excerpt{font:400 13px/1.5 'Spectral',serif;color:#75746c}

/* ---- FOOTER ---- */
.libs-footer{background:var(--libs-ink);color:#cfcec7}
.libs-footer .libs-footer-brand{font:500 22px 'Cormorant Garamond',Georgia,serif;color:#f4f3ef}
.libs-footer .libs-footer-desc{font:400 14px/1.6 'Spectral',serif;color:#8f8e86}
.libs-footer .libs-footer-head{font:700 10px 'Jost',system-ui,sans-serif;letter-spacing:.16em;color:#8f8e86;text-transform:uppercase}
.libs-footer a{font:400 13.5px 'Jost',system-ui,sans-serif;color:#cfcec7}
.libs-footer a:hover{color:#f4f3ef}
.libs-footer .libs-copyright{font:400 11.5px 'Jost',system-ui,sans-serif;color:#6a6960}

/* ---- NEWSLETTER CARD ---- */
.libs-news-card{background:var(--libs-surface,#faf9f6);border:1px solid rgba(28,28,26,.14);border-radius:12px}
.libs-news-head{font:500 20px 'Cormorant Garamond',Georgia,serif;color:var(--libs-ink)}

/* ============ TWEAKS ============ */

/* 1. Header spans full page width with comfortable side padding */
.libs-header > .wp-block-group.alignwide{
  max-width:none;
  width:100%;
  padding-left:40px;
  padding-right:40px;
}
@media (max-width:1100px){
  .libs-header > .wp-block-group.alignwide{padding-left:24px;padding-right:24px}
}
/* keep the login button from being squeezed */
.libs-login-btn{flex:none}
.libs-nav{flex:0 1 auto}

/* 3. Quote band: kicker (top) + reference (bottom) stacked at the left, quote centered horizontally */
.libs-quoteband > .wp-block-group{
  display:grid;
  grid-template-columns:minmax(200px,1fr) auto minmax(200px,1fr);
  align-items:center;
  column-gap:26px;
}
.libs-quoteband .libs-quoteband-kicker{grid-column:1;grid-row:1;justify-self:start;align-self:start;white-space:nowrap;margin:0}
.libs-quoteband .libs-quoteband-quote{grid-column:2;grid-row:1;justify-self:center;text-align:center;margin:0;max-width:900px}
.libs-quoteband .libs-quoteband-ref{grid-column:1;grid-row:1;justify-self:start;align-self:end;white-space:nowrap;margin:0}
/* give the band height so top/bottom stacking reads clearly */
.libs-quoteband > .wp-block-group{min-height:96px}
@media (max-width:820px){
  .libs-quoteband > .wp-block-group{grid-template-columns:1fr;text-align:center;row-gap:8px;min-height:0}
  .libs-quoteband .libs-quoteband-kicker,
  .libs-quoteband .libs-quoteband-quote,
  .libs-quoteband .libs-quoteband-ref{grid-column:1;justify-self:center;align-self:auto}
  .libs-quoteband .libs-quoteband-kicker{grid-row:1}
  .libs-quoteband .libs-quoteband-quote{grid-row:2}
  .libs-quoteband .libs-quoteband-ref{grid-row:3}
}

/* 2. Hero media slider controls (visual placeholder for the latest-of-three carousel) */
.libs-media{position:relative}
.libs-media::before,
.libs-media::after{
  content:'';position:absolute;top:50%;transform:translateY(-50%);
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.9);
  box-shadow:0 2px 8px rgba(28,28,26,.18);
  background-repeat:no-repeat;background-position:center;
  pointer-events:none;
}
.libs-media::before{left:12px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231c1c1a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>")}
.libs-media::after{right:12px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231c1c1a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>")}

/* carousel dots + counter row, injected under the media via the kicker's margin */
.libs-slider-dots{display:flex;align-items:center;gap:7px;margin:14px 0 2px}
.libs-slider-dots .dot{width:7px;height:7px;border-radius:5px;background:rgba(28,28,26,.22)}
.libs-slider-dots .dot.is-active{width:22px;background:#2e5a50}
.libs-slider-dots .counter{margin-left:auto;font:400 11px 'Jost',system-ui,sans-serif;color:#98978e}

/* ===== SPECIFICITY OVERRIDES (beat WP generated layout classes) ===== */
.libs-header > .wp-block-group.alignwide.alignwide{
  padding-left:40px !important;
  padding-right:40px !important;
  max-width:none !important;
}
@media (max-width:1100px){
  .libs-header > .wp-block-group.alignwide.alignwide{padding-left:24px !important;padding-right:24px !important}
}
/* Quote band: force grid over WP flex layout */
.libs-quoteband > .wp-block-group.wp-block-group{
  display:grid !important;
  grid-template-columns:minmax(200px,1fr) auto minmax(200px,1fr) !important;
  align-items:center;
  min-height:96px;
}

/* ===== TWEAK v2: quote band = title left, quote centre, ref right (all one row, top-aligned) ===== */
.libs-quoteband > .wp-block-group.wp-block-group{
  grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr) !important;
  align-items:start !important;
}
.libs-quoteband .libs-quoteband-kicker{grid-column:1 !important;grid-row:1 !important;justify-self:start !important;align-self:start !important}
.libs-quoteband .libs-quoteband-quote{grid-column:2 !important;grid-row:1 !important;justify-self:center !important;align-self:start !important}
.libs-quoteband .libs-quoteband-ref{grid-column:3 !important;grid-row:1 !important;justify-self:end !important;align-self:start !important;text-align:right}

/* ===== TWEAK v2: remove gap between last section and footer ===== */
footer.wp-block-template-part{margin-top:0 !important}
/* also ensure main has no trailing gap before footer */
main.wp-block-group{margin-bottom:0 !important}

/* ===== TWEAK v3: vertically centre all three items in the quote band ===== */
.libs-quoteband > .wp-block-group.wp-block-group{align-items:center !important}
.libs-quoteband .libs-quoteband-kicker{align-self:center !important}
.libs-quoteband .libs-quoteband-quote{align-self:center !important}
.libs-quoteband .libs-quoteband-ref{align-self:center !important}

/* ===== Logo + wordmark link to homepage (inherit brand styling, no link colour) ===== */
.libs-logo-mark a{color:inherit;text-decoration:none;display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.libs-wordmark a{color:inherit;text-decoration:none}
.libs-wordmark a:hover,.libs-logo-mark a:hover{color:inherit;opacity:.85}

/* ===== DYNAMIC HERO SLIDER ===== */
.libs-slider{position:relative}
.libs-slider-viewport{position:relative}
.libs-slide{display:none}
.libs-slide.is-active{display:block;animation:libsFade .35s ease}
@keyframes libsFade{from{opacity:0}to{opacity:1}}
/* real arrow buttons replace the old ::before/::after pseudo arrows */
.libs-media::before,.libs-media::after{content:none !important}
.libs-slide{position:relative}
.libs-slider-arrow{position:absolute;top:0;bottom:auto;transform:none;width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;background:rgba(255,255,255,.92);box-shadow:0 2px 8px rgba(28,28,26,.18);background-repeat:no-repeat;background-position:center;z-index:3}
.libs-slider-arrow:hover{background-color:#fff}
.libs-prev{left:12px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231c1c1a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>")}
.libs-next{right:12px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231c1c1a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>")}
.libs-play{cursor:pointer;text-decoration:none}
.libs-play:hover{color:#fff;background:var(--libs-accent);transform:scale(1.06)}
.libs-play svg{width:24px;height:24px;fill:currentColor;display:block;margin-left:3px}
.libs-frame-play svg{width:17px;height:17px;fill:currentColor;display:block;margin-left:2px}
.libs-slider-dots .dot{cursor:pointer;transition:width .25s,background .25s}
.libs-hero-cta{display:flex;gap:10px;margin-top:18px}
.libs-btn-primary-link{height:44px;padding:0 22px;display:inline-flex;align-items:center;background:#2e5a50;border-radius:24px;font:600 13.5px 'Jost',system-ui,sans-serif;color:#f4f3ef;text-decoration:none}
.libs-btn-primary-link:hover{background:#22463d;color:#f4f3ef}
.libs-btn-ghost-link{height:44px;padding:0 18px;display:inline-flex;align-items:center;border:1px solid rgba(28,28,26,.24);border-radius:24px;font:600 13.5px 'Jost',system-ui,sans-serif;color:#33322e;text-decoration:none}
.libs-btn-ghost-link:hover{color:#1c1c1a}

/* ===== SLIDER ARROW POSITIONING (clean override) ===== */
.libs-slide{position:relative}
.libs-media{position:relative}
/* arrows live as siblings of media inside the slide; centre them on the media height.
   media is 16:9; place arrows at 50% of the media, not the whole slide. */
.libs-slider-arrow{position:absolute !important;top:auto !important;bottom:auto !important;transform:none !important;z-index:5}
.libs-slide .libs-media{--media-h:0}
/* Use fl/ anchor: put arrows vertically centred within the media via JS-free trick:
   position them absolutely against .libs-slide and offset by half the media height using aspect padding. */

/* ===== SLIDER ARROWS FINAL: centred inside the media box ===== */
.libs-media{position:relative}
.libs-media .libs-slider-arrow{position:absolute !important;top:50% !important;bottom:auto !important;transform:translateY(-50%) !important;width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;background-color:rgba(255,255,255,.92);box-shadow:0 2px 8px rgba(28,28,26,.18);background-repeat:no-repeat;background-position:center;z-index:5}
.libs-media .libs-slider-arrow:hover{background-color:#fff}
.libs-media .libs-prev{left:12px;right:auto}
.libs-media .libs-next{right:12px;left:auto}

/* ===== FINAL TWEAKS v6 ===== */

/* 1. Search: wider real form in the header */
form.libs-search-pill{display:flex;align-items:center;gap:8px;height:36px;padding:0 14px;background:#efeee9;border:1px solid rgba(28,28,26,.14);border-radius:20px;min-width:230px}
form.libs-search-pill .libs-search-icon{color:#98978e;font-size:14px;flex:none}
form.libs-search-pill input[type=search]{border:none;background:transparent;outline:none;font:400 13px 'Jost',system-ui,sans-serif;color:#1c1c1a;width:100%}
form.libs-search-pill input[type=search]::placeholder{color:#98978e}
@media (max-width:1200px){form.libs-search-pill{min-width:170px}}

/* 2. Newsletter: input + button on one line */
.libs-news-form{display:flex;align-items:stretch;gap:10px;margin-top:14px}
.libs-news-input{flex:1;min-width:0;height:44px;padding:0 14px;background:#f7f6f3;border:1px solid rgba(28,28,26,.16);border-radius:24px;font:400 13px 'Jost',system-ui,sans-serif;color:#1c1c1a;outline:none}
.libs-news-input::placeholder{color:#98978e}
.libs-news-input:focus{border-color:#2e5a50}
.libs-news-btn{flex:none;height:44px;padding:0 22px;background:#2e5a50;border:none;border-radius:24px;font:600 13px 'Jost',system-ui,sans-serif;color:#f4f3ef;cursor:pointer}
.libs-news-btn:hover{background:#22463d}

/* 3. Slider under-image kicker matches mockup (accent, uppercase, tracked) */
.libs-slide .libs-kicker{font:700 10px 'Jost',system-ui,sans-serif !important;letter-spacing:.16em;color:#2e5a50 !important;text-transform:uppercase;margin:22px 0 8px !important}
.libs-slide .libs-hero-title{font:500 33px/1.12 'Cormorant Garamond',Georgia,serif !important;color:#1c1c1a !important;margin:0 0 10px !important}
.libs-slide .libs-hero-desc{font:400 15px/1.6 'Spectral',serif !important;color:#57574f !important;max-width:none;margin:0 !important}

/* ========================= MOBILE NAV ========================= */
.libs-nav-toggle{display:none}
.libs-mobile-drawer{display:none}

@media (max-width:900px){
  /* hide the inline desktop nav + the search/login cluster */
  .libs-header .libs-nav{display:none !important}
  .libs-header .alignwide > .wp-block-group:last-of-type{display:none !important}

  /* show hamburger */
  .libs-nav-toggle{
    display:flex !important;flex-direction:column;justify-content:center;gap:5px;
    width:42px;height:42px;margin-left:auto;padding:0;
    background:transparent;border:none;cursor:pointer;
  }
  .libs-nav-toggle span{display:block;width:22px;height:2px;background:#1c1c1a;border-radius:2px;transition:transform .25s,opacity .2s}
  .libs-nav-open .libs-nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .libs-nav-open .libs-nav-toggle span:nth-child(2){opacity:0}
  .libs-nav-open .libs-nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  /* keep logo left, hamburger right */
  .libs-header .alignwide{flex-wrap:nowrap !important;padding-left:20px !important;padding-right:16px !important}

  /* the drawer */
  .libs-mobile-drawer{
    display:block;position:fixed;left:0;right:0;top:0;
    transform:translateY(-110%);transition:transform .3s ease;
    background:#f5ede1;border-bottom:1px solid rgba(28,28,26,.14);
    padding:78px 24px 28px;z-index:40;
    box-shadow:0 12px 30px rgba(28,28,26,.12);
  }
  .libs-nav-open .libs-mobile-drawer{transform:translateY(0)}

  .libs-mobile-links{display:flex !important;flex-direction:column;gap:0 !important}
  .libs-mobile-links p{margin:0;border-bottom:1px solid rgba(28,28,26,.10)}
  .libs-mobile-links a{display:block;padding:14px 2px;font:500 17px 'Jost',system-ui,sans-serif;color:#1c1c1a;text-decoration:none}
  .libs-mobile-links a:hover{color:#2e5a50}

  .libs-mobile-actions{display:flex !important;flex-direction:column;gap:14px;margin-top:22px}
  .libs-mobile-actions form.libs-search-pill{min-width:0;width:100%}
  .libs-mobile-actions .libs-login-btn{width:100%}
  .libs-mobile-actions .libs-login-btn .wp-block-button__link{width:100%;justify-content:center}

  body.libs-noscroll{overflow:hidden}
}

/* ========================= MOBILE TWEAKS v2 ========================= */
@media (max-width:900px){
  /* 1. Quote band stacks vertically: Title (kicker) -> Quote -> Reference */
  .libs-quoteband > .wp-block-group.wp-block-group{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center;
    gap:10px;
    min-height:0;
    grid-template-columns:none !important;
  }
  .libs-quoteband .libs-quoteband-kicker,
  .libs-quoteband .libs-quoteband-quote,
  .libs-quoteband .libs-quoteband-ref{
    grid-column:auto !important;grid-row:auto !important;
    justify-self:center !important;align-self:center !important;
    text-align:center !important;white-space:normal !important;
    max-width:100% !important;
  }
  .libs-quoteband .libs-quoteband-kicker{order:1}
  .libs-quoteband .libs-quoteband-quote{order:2}
  .libs-quoteband .libs-quoteband-ref{order:3}

  /* 2. Remove search from the mobile drawer */
  .libs-mobile-drawer form.libs-search-pill,
  .libs-mobile-drawer .libs-search-pill{display:none !important}
}

/* ===== MOBILE: centre the Member login button in the drawer ===== */
@media (max-width:900px){
  .libs-mobile-drawer .libs-mobile-actions{align-items:center}
  .libs-mobile-drawer .libs-login-btn{display:flex !important;justify-content:center !important;width:100%}
  .libs-mobile-drawer .libs-login-btn .wp-block-button__link,
  .libs-mobile-drawer .libs-login-btn a{margin:0 auto}
}

/* ---- CATEGORY ARCHIVES ---- */
.libs-archive{min-height:60vh}
.libs-arch-head{border-bottom:1px solid rgba(28,28,26,.12);margin-bottom:40px}
.libs-arch-kicker{font:700 10px 'Jost',system-ui,sans-serif;letter-spacing:.18em;color:var(--libs-accent);text-transform:uppercase;margin:0 0 8px}
.libs-arch-h1{font:600 44px/1.08 'Cormorant Garamond',Georgia,serif;color:var(--libs-ink);margin:0}
.libs-arch-desc{font:400 15px/1.6 'Spectral',serif;color:#57574f;max-width:640px;margin:12px 0 0}
.libs-arch-grid{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}
.libs-arch-grid>li{margin:0;padding:36px 0;border-bottom:1px solid rgba(28,28,26,.14)}
.libs-arch-grid>li:first-child{padding-top:8px}
.libs-arch-grid>li:last-child{border-bottom:none}
.libs-arch-thumb{display:block;margin:0 0 16px}
.libs-arch-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;border:1px solid rgba(28,28,26,.10)}
.libs-arch-title{margin:0 0 8px}
.libs-arch-title a{font:600 25px/1.2 'Cormorant Garamond',Georgia,serif;color:var(--libs-ink);text-decoration:none}
.libs-arch-title a:hover{color:var(--libs-accent)}
.libs-arch-excerpt{font:400 14px/1.6 'Spectral',serif;color:#57574f;margin:0 0 14px}
.libs-arch-more,.libs-arch-more a{font:600 12px 'Jost',system-ui,sans-serif;letter-spacing:.04em;color:var(--libs-accent);text-decoration:none;text-transform:uppercase}
.libs-arch-more a:hover{color:var(--libs-accent-hover)}
.libs-arch-pagination{margin-top:56px;gap:10px}
.libs-arch-pagination a,.libs-arch-pagination .wp-block-query-pagination-numbers{font:500 14px 'Jost',system-ui,sans-serif;color:var(--libs-ink)}
.libs-arch-pagination .current{color:var(--libs-accent);font-weight:700}
.libs-arch-empty{font:400 16px 'Spectral',serif;color:#75746c;padding:40px 0}
@media (max-width:820px){
  .libs-arch-h1{font-size:34px}
}

/* ---- WORDS QUOTE LIST ---- */
.libs-words-list{display:flex;flex-direction:column}
.libs-words-item{padding:40px 0;border-bottom:1px solid rgba(28,28,26,.14)}
.libs-words-item:first-child{padding-top:12px}
.libs-words-item:last-child{border-bottom:none}
.libs-words-quote{display:block;font:italic 500 30px/1.4 'Cormorant Garamond',Georgia,serif;color:var(--libs-ink);text-decoration:none;max-width:920px}
.libs-words-quote:hover{color:var(--libs-accent)}
.libs-words-cite{margin:14px 0 0;font:700 11px 'Jost',system-ui,sans-serif;letter-spacing:.12em;color:var(--libs-accent);text-transform:uppercase}
@media (max-width:820px){.libs-words-quote{font-size:23px}}

/* ---- FRAMES VIDEO GRID ---- */
.libs-frames-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px;margin:0}
.libs-frame-card{display:block;text-decoration:none}
.libs-frame-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:12px;background:#e6e5e0 center/cover no-repeat;border:1px solid rgba(28,28,26,.12);overflow:hidden}
.libs-frame-play{position:absolute;inset:0;margin:auto;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:rgba(28,28,26,.70);color:#fff;border-radius:50%;transition:background .2s,transform .2s}
.libs-frame-card:hover .libs-frame-play{background:var(--libs-accent);transform:scale(1.07)}
.libs-frame-title{display:block;margin-top:12px;font:600 18px/1.25 'Cormorant Garamond',Georgia,serif;color:var(--libs-ink)}
.libs-frame-card:hover .libs-frame-title{color:var(--libs-accent)}
@media (max-width:900px){.libs-frames-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.libs-frames-grid{grid-template-columns:1fr}}

/* ---- STICKY FOOTER ---- */
html,body{margin:0;padding:0}
body{background:var(--libs-cream)}
.wp-site-blocks{display:flex;flex-direction:column;min-height:100vh}
@supports (min-height:100svh){.wp-site-blocks{min-height:100svh}}
.wp-site-blocks>main{flex:1 0 auto}
.wp-site-blocks>footer{margin-top:auto;flex:none}

.libs-card-thumb-link{display:block;text-decoration:none}
.libs-card-thumb-link .libs-card-thumb{display:block;transition:opacity .2s}
.libs-card-thumb-link:hover .libs-card-thumb{opacity:.88}
.libs-card-type a{color:inherit;text-decoration:none}
.libs-card-type a:hover{text-decoration:underline}

/* ===== Member login page ([libs_login]) ===== */
.libs-auth{max-width:420px;margin:48px auto;padding:32px 28px;background:#fff;border:1px solid rgba(28,28,26,.12);border-radius:16px;box-shadow:0 6px 24px rgba(28,28,26,.05)}
.libs-auth-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:34px;line-height:1.15;color:var(--libs-ink);margin:0 0 4px}
.libs-auth-sub{font-family:'Spectral',serif;font-size:15px;color:#57574f;margin:0 0 22px}
.libs-auth-error{font-family:'Jost',system-ui,sans-serif;font-size:13.5px;color:#8a1f1f;background:#fbeaea;border:1px solid #e6c3c3;border-radius:8px;padding:9px 12px;margin:0 0 16px}
.libs-auth-form{display:flex;flex-direction:column;gap:14px}
.libs-auth-field{display:flex;flex-direction:column;gap:5px}
.libs-auth-field span{font-family:'Jost',system-ui,sans-serif;font-size:12.5px;letter-spacing:.02em;color:#33322e}
.libs-auth-field input{font-family:'Spectral',serif;font-size:15px;color:var(--libs-ink);border:1px solid rgba(28,28,26,.24);border-radius:8px;padding:10px 12px;background:#fff;width:100%;box-sizing:border-box}
.libs-auth-field input:focus{outline:none;border-color:var(--libs-accent);box-shadow:0 0 0 1px var(--libs-accent)}
.libs-auth-remember{display:flex;align-items:center;gap:8px;font-family:'Jost',system-ui,sans-serif;font-size:13px;color:#33322e}
.libs-auth-btn{display:inline-block;font-family:'Jost',system-ui,sans-serif;font-weight:600;font-size:14px;color:#fff;background:var(--libs-accent);border:none;border-radius:24px;padding:11px 24px;cursor:pointer;text-decoration:none;text-align:center;transition:background .15s}
.libs-auth-btn:hover{background:var(--libs-accent-hover);color:#fff}
.libs-auth-links{margin-top:18px;font-family:'Jost',system-ui,sans-serif;font-size:13.5px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.libs-auth-links a{color:var(--libs-accent);text-decoration:none}
.libs-auth-links a:hover{text-decoration:underline}
.libs-auth-dot{color:#c9c7c0}
/* single heading: hide template title on the login page */
.page-id-369 .wp-block-post-title{display:none}
