/*
Theme Name: Life Archive Memoir Theme
Theme URI: https://example.com/life-archive-memoir-theme
Author: David
Description: A bright, editorial full site editing theme for Life Archive Memoir, with centred reading layouts and clearer archive navigation.
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
Version: 0.3.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: life-archive-memoir-theme
Tags: full-site-editing, blog, one-column, custom-colors, custom-logo, editor-style
*/

:root {
  --la-border: #d9e1ec;
  --la-soft: #f1f5fb;
  --la-softer: #ffffff;
  --la-ink: #26354a;
  --la-muted: #67758a;
  --la-accent: #315ea8;
  --la-accent-dark: #244b87;
}

body {
  background: #fffefa;
}

.wp-site-blocks {
  min-height: 100vh;
}

a {
  text-underline-offset: 0.18em;
}

.la-theme-site-header {
  border-bottom: 1px solid var(--la-border);
}

.la-theme-site-footer {
  border-top: 1px solid var(--la-border);
}

.la-theme-site-header,
.la-theme-site-footer {
  padding-left: 40px;
  padding-right: 40px;
  box-sizing: border-box;
}

@media (max-width: 700px) {
  .la-theme-site-header,
  .la-theme-site-footer {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.la-theme-panel,
.la-theme-card,
.life-archive-entry-card,
.life-archive-context-nav,
.life-archive-index-list,
.life-archive-empty {
  background: var(--la-softer);
  border: 1px solid var(--la-border);
  border-radius: 18px;
}

.la-theme-panel {
  padding: clamp(1.25rem, 2vw, 2rem);
}

.la-theme-card,
.life-archive-entry-card,
.life-archive-context-nav,
.life-archive-empty {
  padding: 1.15rem;
}

.la-theme-hero {
  border-bottom: 1px solid var(--la-border);
}

.la-theme-muted,
.life-archive-entry-meta,
.life-archive-entry-summary,
.life-archive-context-label,
.life-archive-empty {
  color: var(--la-muted);
}

.life-archive-list {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.life-archive-entry-card h3,
.life-archive-entry-title {
  margin-top: 0;
}

.life-archive-entry-card a,
.life-archive-context-nav a,
.life-archive-index-list a {
  color: var(--la-accent-dark);
}

.life-archive-index-list {
  list-style: none;
  padding: 1rem;
  margin-left: 0;
}

.life-archive-index-list li + li {
  margin-top: 0.35rem;
}

.life-archive-context-nav {
  margin-top: 2rem;
}

.life-archive-context-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
}

.la-theme-card-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.la-theme-card {
  height: 100%;
}

.la-theme-card p:last-child,
.la-theme-panel p:last-child {
  margin-bottom: 0;
}

.wp-block-button .wp-block-button__link {
  border-radius: 999px;
}

.wp-block-post-content > * + * {
  margin-block-start: 1.1rem;
}

@media (max-width: 760px) {
  .la-theme-site-header .wp-block-navigation {
    font-size: 0.95rem;
  }

  .life-archive-context-links {
    display: block;
  }

  .life-archive-context-links > * + * {
    margin-top: 0.7rem;
  }
}


.la-theme-entry-taxonomies {
  background: var(--la-softer);
  border: 1px solid var(--la-border);
  border-radius: 18px;
}

.la-theme-term-row {
  border-top: 1px solid var(--la-border);
  padding-top: 0.75rem;
  margin-top: 0.75rem;
}

.la-theme-term-row:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.la-theme-term-label {
  margin-bottom: 0.25rem;
  color: var(--la-muted);
  font-size: 0.92rem;
}

.la-theme-header-inner,
.la-theme-footer-inner {
  gap: 1rem;
}


/* Front page archive navigation grid. Explicit rules so saved FSE templates render
   the browse cards as cards on the public site, not as a vertical list. */
.la-theme-card-grid,
.wp-site-blocks .la-theme-card-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 1.1rem !important;
  width: 100%;
  max-width: 1120px;
}

.la-theme-card-grid > .la-theme-card,
.wp-site-blocks .la-theme-card-grid > .wp-block-group,
.wp-site-blocks .la-theme-card-grid > .la-theme-card {
  background: var(--la-softer) !important;
  border: 1px solid var(--la-border) !important;
  border-radius: 18px !important;
  padding: 1.15rem !important;
  height: auto;
  min-height: 100%;
  box-sizing: border-box;
}

.la-theme-card-grid .life-archive-index-list {
  background: transparent;
  border: 0;
  padding: 0;
  margin-top: 0.75rem;
}

@media (min-width: 900px) {
  .la-theme-card-grid,
  .wp-site-blocks .la-theme-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Friendly taxonomy archive headings. */
.la-theme-taxonomy-intro {
  margin-bottom: 1.75rem;
}

.la-theme-taxonomy-intro h1 {
  margin-bottom: 0.35rem;
}

.la-theme-taxonomy-subtitle {
  color: var(--la-muted);
  font-size: 1.05rem;
  margin-top: 0;
}

/* Single entry archive-link grid. */
.la-theme-entry-term-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 2rem;
}

.la-theme-entry-term-card {
  background: var(--la-softer);
  border: 1px solid var(--la-border);
  border-radius: 18px;
  padding: 1rem;
}

.la-theme-entry-term-card h2 {
  font-size: 1rem;
  margin: 0 0 0.55rem;
}

.la-theme-entry-term-card p {
  margin: 0;
}

.la-theme-entry-term-card a {
  color: var(--la-accent-dark);
}

@media (max-width: 700px) {
  .la-theme-entry-term-grid {
    grid-template-columns: 1fr;
  }
}



/* Keep archive navigation cards aligned across module-provided groups. */
.la-theme-home-archive-grid,
.wp-site-blocks .la-theme-home-archive-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 1.1rem !important;
  width: 100% !important;
  max-width: 1120px !important;
}

.la-theme-home-archive-grid > .wp-block-group,
.la-theme-home-archive-grid > .la-theme-card,
.wp-site-blocks .la-theme-home-archive-grid > .wp-block-group,
.wp-site-blocks .la-theme-home-archive-grid > .la-theme-card {
  align-self: stretch !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.la-theme-home-archive-grid .la-theme-card,
.wp-site-blocks .la-theme-home-archive-grid .la-theme-card {
  display: flex !important;
  flex-direction: column !important;
}

.la-theme-home-archive-grid .life-archive-index-list,
.wp-site-blocks .la-theme-home-archive-grid .life-archive-index-list {
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 899px) {
  .la-theme-home-archive-grid,
  .wp-site-blocks .la-theme-home-archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .la-theme-home-archive-grid,
  .wp-site-blocks .la-theme-home-archive-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Life Book Builder integration. */
.la-theme-life-book-archive,
.la-theme-life-book-page {
  box-sizing: border-box;
}

.life-book-theme-supported .life-book-archive-header {
  margin-bottom: 2.5rem;
  text-align: center;
}

.life-book-theme-supported .life-book-archive-kicker,
.life-book-theme-supported .life-book-part-label,
.life-book-theme-supported .life-book-entry-date,
.life-book-theme-supported .life-book-page-navigation a span {
  color: var(--la-muted);
}

.life-book-theme-supported .life-book-archive-header h1,
.la-theme-life-book-title {
  margin-bottom: 0.75rem;
}

.life-book-theme-supported .life-book-archive-description {
  max-width: 680px;
  margin-inline: auto;
  color: var(--la-muted);
}

.life-book-theme-supported .life-book-contents {
  display: grid;
  gap: 1.25rem;
  max-width: 980px;
}

.life-book-theme-supported .life-book-contents > .life-book-part {
  margin: 0;
  padding: clamp(1.15rem, 2.5vw, 1.75rem);
  background: var(--la-softer);
  border: 1px solid var(--la-border);
  border-radius: 18px;
}

.life-book-theme-supported .life-book-part h3 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.15rem, 2vw, 1.4rem);
}

.life-book-theme-supported .life-book-part ol,
.life-book-theme-supported .life-book-part-list ol {
  margin: 0;
  padding-left: 1.35rem;
}

.life-book-theme-supported .life-book-part li + li,
.life-book-theme-supported .life-book-part-list li + li {
  margin-top: 0.55rem;
}

.life-book-theme-supported .life-book-part a,
.life-book-theme-supported .life-book-part-list a {
  color: var(--la-accent-dark);
  text-decoration-thickness: 1px;
}

.life-book-theme-supported .life-book-page-generated {
  max-width: none;
}

.life-book-theme-supported .life-book-page-introduction {
  margin-bottom: 2rem;
  font-size: 1.06rem;
}

.life-book-theme-supported .life-book-prompt {
  margin-block: 2.25rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--la-border);
}

.life-book-theme-supported .life-book-prompt > h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.25rem, 2.3vw, 1.65rem);
}

.life-book-theme-supported .life-book-structured-details {
  padding: 1.1rem 1.2rem;
  background: var(--la-soft);
  border: 1px solid var(--la-border);
  border-radius: 14px;
}

.life-book-theme-supported .life-book-structured-details dt {
  color: var(--la-muted);
}

.life-book-theme-supported .life-book-entry {
  margin-block: 1rem;
  padding: 1.15rem 1.2rem;
  background: #ffffff;
  border: 1px solid var(--la-border);
  border-radius: 14px;
}

.life-book-theme-supported .life-book-entry h3 {
  font-size: 1.15rem;
}

.life-book-theme-supported .life-book-entry h3 a {
  color: var(--la-accent-dark);
}

.life-book-theme-supported .life-book-entry-excerpt p:last-child,
.life-book-theme-supported .life-book-entry-content p:last-child {
  margin-bottom: 0;
}

.life-book-theme-supported .life-book-empty-prompt {
  padding: 0.85rem 1rem;
  color: var(--la-muted);
  background: var(--la-softer);
  border: 1px dashed var(--la-border);
  border-radius: 12px;
}

.life-book-theme-supported .life-book-page-navigation {
  border-top-color: var(--la-border);
}

.life-book-theme-supported .life-book-page-navigation a {
  color: var(--la-accent-dark);
}

.life-book-theme-supported .life-book-page-navigation-previous,
.life-book-theme-supported .life-book-page-navigation-next {
  min-width: 0;
}

.life-book-theme-supported .life-book-page-navigation-previous a,
.life-book-theme-supported .life-book-page-navigation-next a,
.life-book-theme-supported .life-book-page-navigation-contents a {
  padding: 0.7rem 0.8rem;
  border-radius: 10px;
}

.life-book-theme-supported .life-book-page-navigation a:hover,
.life-book-theme-supported .life-book-page-navigation a:focus-visible {
  background: var(--la-soft);
}

@media (min-width: 760px) {
  .life-book-theme-supported .life-book-contents {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .life-book-theme-supported .life-book-entry,
  .life-book-theme-supported .life-book-structured-details,
  .life-book-theme-supported .life-book-contents > .life-book-part {
    padding: 1rem;
    border-radius: 12px;
  }

  .life-book-theme-supported .life-book-page-navigation {
    gap: 0.5rem;
  }
}

@media print {
  .life-book-page-view .la-theme-site-header,
  .life-book-page-view .la-theme-site-footer,
  .life-book-page-view .life-book-page-navigation,
  .life-book-page-view .life-book-empty-prompt {
    display: none !important;
  }

  .life-book-page-view .la-theme-life-book-page {
    padding: 0 !important;
  }

  .life-book-theme-supported .life-book-entry,
  .life-book-theme-supported .life-book-structured-details,
  .life-book-theme-supported .life-book-prompt {
    background: transparent;
    border-color: #b8b8b8;
    box-shadow: none;
    break-inside: avoid;
  }

  .life-book-theme-supported a {
    color: inherit;
    text-decoration: none;
  }
}


/* Module-aware presentation helpers. */
.la-theme-site-footer .wp-block-shortcode {
  color: var(--la-muted);
  font-size: 0.9rem;
}

.life-archive-provider-memoir_presentation .la-theme-archive-intro,
.life-archive-presentation-memoir .la-theme-archive-intro {
  margin-bottom: 1.5rem;
}

.life-archive-presentation-memoir .la-theme-taxonomy-subtitle {
  color: var(--la-muted);
}


.life-archive-presentation-slot {
  margin-block: 1.5rem;
}

.life-archive-joint-person-summary,
.life-archive-joint-related-memoir {
  padding: clamp(1rem, 2vw, 1.5rem);
  border: 1px solid var(--la-border);
  border-radius: 0.75rem;
  background: var(--la-softer);
}

.life-archive-joint-person-summary h2,
.life-archive-joint-related-memoir h2 {
  margin-top: 0;
}

.life-archive-joint-person-summary__facts,
.life-archive-joint-person-summary__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}

.life-archive-joint-person-summary__actions {
  margin-top: 1rem;
}

.life-archive-joint-person-summary__actions a {
  display: inline-block;
}

.life-archive-context-shared .la-theme-archive-intro {
  max-width: 52rem;
}



/* -------------------------------------------------------------------------
 * Life Archive Memoir Theme 0.1.0
 * Bright editorial presentation for memories, diary entries and notes.
 * ---------------------------------------------------------------------- */
:root {
  --lam-sky: #eef6ff;
  --lam-peach: #fff0e7;
  --lam-lilac: #f2efff;
  --lam-sun: #fff6cf;
  --lam-coral: #d96c58;
  --lam-shadow: 0 14px 40px rgba(55, 76, 105, 0.09);
  --lam-reading: 820px;
  --lam-wide: 1180px;
}
body {
  background: radial-gradient(circle at 8% 0%, rgba(255, 240, 231, .72), transparent 23rem), radial-gradient(circle at 100% 7%, rgba(238, 246, 255, .92), transparent 28rem), #fffefa;
  color: var(--la-ink);
}
.la-theme-site-header { background: rgba(255, 254, 250, .94); backdrop-filter: blur(12px); border-bottom-color: rgba(77, 98, 127, .14); position: relative; z-index: 20; }
.la-theme-site-header .wp-block-site-title a,
.la-theme-site-header .wp-block-navigation-item__content { text-decoration: none; }
.la-theme-site-header .wp-block-navigation-item__content:hover { color: var(--la-accent); }
.la-theme-site-footer { background: rgba(242, 246, 252, .72); }
.la-memoir-home-intro-wrap,
.la-memoir-home-section-shell,
.la-memoir-archive-shell,
.la-memoir-taxonomy-shell,
.la-memoir-reading-shell,
.life-archive-route { width: min(100%, var(--lam-wide)); margin-inline: auto !important; box-sizing: border-box; }
.la-memoir-reading-shell { max-width: var(--lam-reading); }
.la-memoir-home-intro { padding: clamp(1.6rem, 4vw, 3.2rem); border: 1px solid rgba(67, 89, 120, .14); border-radius: 28px; background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(249,251,255,.95)), var(--la-softer); box-shadow: var(--lam-shadow); overflow: hidden; position: relative; }
.la-memoir-home-intro::after { content: ''; position: absolute; width: 15rem; height: 15rem; right: -4rem; top: -7rem; border-radius: 50%; background: rgba(255, 214, 191, .34); pointer-events: none; }
.la-memoir-home-kicker,
.la-memoir-section-kicker { color: var(--la-accent); font-size: .78rem; font-weight: 700; letter-spacing: .105em; margin: 0 0 .5rem; text-transform: uppercase; }
.la-memoir-home-title { font-size: clamp(2.5rem, 7vw, 5.2rem); line-height: 1; margin: 0; max-width: 900px; }
.la-memoir-home-lead { color: var(--la-muted); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.12rem, 2.3vw, 1.45rem); line-height: 1.55; max-width: 760px; margin: 1rem 0 0; }
.la-memoir-home-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.6rem; }
.la-memoir-primary-button,
.la-memoir-secondary-button { border-radius: 999px; display: inline-block; font-weight: 650; padding: .78rem 1.15rem; text-decoration: none; }
.la-memoir-primary-button { background: var(--la-accent); color: #fff !important; }
.la-memoir-primary-button:hover { background: var(--la-accent-dark); }
.la-memoir-secondary-button { background: #fff; color: var(--la-accent-dark) !important; border: 1px solid var(--la-border); }
.la-memoir-secondary-button:hover { background: var(--lam-sky); }
.la-memoir-home-nav { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(1.8rem, 4vw, 2.8rem); }
.la-memoir-home-nav a { background: rgba(255,255,255,.94); border: 1px solid var(--la-border); border-radius: 18px; color: inherit; padding: 1.15rem; text-decoration: none; transition: transform .16s ease, box-shadow .16s ease; }
.la-memoir-home-nav a:nth-child(1) { border-top: 4px solid var(--la-accent); }
.la-memoir-home-nav a:nth-child(2) { border-top: 4px solid var(--lam-coral); }
.la-memoir-home-nav a:nth-child(3) { border-top: 4px solid #7a65b6; }
.la-memoir-home-nav a:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(55,76,105,.09); }
.la-memoir-home-nav strong { display: block; font-family: Georgia, 'Times New Roman', serif; font-size: 1.1rem; }
.la-memoir-home-nav span { color: var(--la-muted); display: block; font-size: .9rem; line-height: 1.5; margin-top: .25rem; }
.la-memoir-home-highlights { display: grid; gap: 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.la-memoir-highlight { min-width: 0; box-shadow: 0 8px 24px rgba(55,76,105,.05); }
.la-memoir-highlight:first-child { background: linear-gradient(180deg, #fff, #fffaf5); }
.la-memoir-highlight:last-child { background: linear-gradient(180deg, #fff, #f8fbff); }
.la-memoir-highlight h2 { margin-top: 0; }
.la-memoir-panel-link { margin-top: 1rem; }
.la-memoir-section-heading { max-width: 720px; margin-bottom: 1.25rem; }
.la-memoir-section-heading h2 { margin: 0 0 .5rem; font-size: clamp(1.8rem, 4vw, 2.7rem); }
.la-memoir-section-heading p:last-child { color: var(--la-muted); }
.la-memoir-browse { scroll-margin-top: 5rem; }
.la-memoir-browse-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.la-memoir-browse-card { overflow: hidden; }
.la-memoir-browse-card:nth-child(1) { background: linear-gradient(180deg, #fff, var(--lam-peach)); }
.la-memoir-browse-card:nth-child(2) { background: linear-gradient(180deg, #fff, var(--lam-sky)); }
.la-memoir-browse-card:nth-child(3) { background: linear-gradient(180deg, #fff, var(--lam-lilac)); }
.la-memoir-browse-card:nth-child(4) { background: linear-gradient(180deg, #fff, #f6fbf2); }
.la-memoir-browse-card:nth-child(5) { background: linear-gradient(180deg, #fff, var(--lam-sun)); }
.la-memoir-browse-card:nth-child(6) { background: linear-gradient(180deg, #fff, #f7f8fb); }
.la-memoir-browse-card > h3 { margin-top: 0; }
.la-memoir-browse-card .life-archive-index-list { background: transparent; border: 0; padding: 0; }
.la-memoir-browse-card .life-archive-index-list__heading { display: none; }
.la-memoir-undated-link { text-align: center; margin-top: 1.25rem; }
.life-archive-index-list__items { display: flex; flex-wrap: wrap; gap: .45rem; list-style: none; margin: 0; padding: 0; }
.life-archive-index-list__item { margin: 0 !important; }
.life-archive-index-list__item a { background: rgba(255,255,255,.78); border: 1px solid rgba(80,100,125,.15); border-radius: 999px; display: inline-block; padding: .38rem .65rem; text-decoration: none; }
.life-archive-index-list__count { color: var(--la-muted); font-size: .78rem; }
.la-memoir-home-timeline { max-width: 1000px; margin-inline: auto; }
.la-memoir-timeline-link { margin-top: 1.5rem; text-align: center; }
.life-archive-entry-list { margin-top: 1.5rem; }
.life-archive-entry-list__heading { font-size: clamp(1.35rem, 3vw, 1.8rem); margin-bottom: 1rem; }
.life-archive-entry-list__items { display: grid; gap: 1rem; }
.life-archive-entry-card { background: #fff; border: 1px solid var(--la-border); border-left: 5px solid var(--la-accent); border-radius: 16px; box-shadow: 0 5px 18px rgba(55,76,105,.045); padding: 1rem 1.1rem 1.05rem; }
.life-archive-entry-card__title { color: var(--la-ink) !important; display: inline-block; font-family: Georgia, 'Times New Roman', serif; font-size: 1.22rem; font-weight: 600; line-height: 1.25; text-decoration: none; }
.life-archive-entry-card__title:hover { color: var(--la-accent-dark) !important; }
.life-archive-entry-card__meta { color: var(--la-accent); font-size: .84rem; font-weight: 650; margin-top: .35rem; }
.life-archive-entry-card__summary { color: var(--la-muted); margin-top: .55rem; }
.life-archive-site-stats { color: var(--la-muted); font-size: .9rem; margin: -.8rem 0 2rem; text-align: center; }
.life-archive-site-stats__count { color: var(--la-ink); font-weight: 700; }
.la-theme-archive-intro { text-align: center; max-width: 720px; margin: 0 auto 1.6rem; }
.la-theme-archive-intro h1 { font-size: clamp(2.2rem, 6vw, 4.4rem); margin-bottom: .5rem; }
.la-theme-taxonomy-intro { max-width: 760px; margin: 0 auto 2rem; text-align: center; }
.la-theme-taxonomy-intro h1 { font-size: clamp(2rem, 5vw, 3.7rem); }
.la-memoir-query-card { overflow: hidden; }
.la-memoir-query-card .wp-block-post-featured-image { margin: -1.15rem -1.15rem 1rem; }
.la-memoir-query-card .wp-block-post-featured-image img { border-radius: 17px 17px 0 0; width: 100%; object-fit: cover; }
.la-memoir-query-card .wp-block-post-title { font-size: 1.35rem; margin-bottom: .5rem; }
.wp-block-query .wp-block-post-template { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wp-block-query-pagination { margin-top: 2rem; }
.la-memoir-reading-shell { text-align: left; }
.life-archive-entry-meta { margin: 0 0 .7rem; }
.life-archive-entry-meta__type { color: var(--la-accent); font-size: .76rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.life-archive-entry-meta__date { color: var(--la-muted); font-family: Georgia, 'Times New Roman', serif; font-size: 1.05rem; margin-top: .15rem; }
.life-archive-entry-meta__summary { color: var(--la-muted); font-size: 1.1rem; line-height: 1.55; margin-top: .75rem; }
.la-memoir-entry-title { font-size: clamp(2.2rem, 6vw, 4.3rem); margin: .35rem 0 1.25rem; }
.la-memoir-entry-image { margin-block: 1.5rem 2rem; }
.la-memoir-entry-image img { border-radius: 20px; box-shadow: var(--lam-shadow); }
.la-memoir-entry-content { font-size: 1.045rem; }
.life-archive-entry-taxonomies { background: linear-gradient(135deg, rgba(238,246,255,.78), rgba(255,240,231,.55)); border: 1px solid var(--la-border); border-radius: 18px; margin: 1.5rem 0 2rem; padding: 1rem 1.1rem; }
.life-archive-tax-group + .life-archive-tax-group { margin-top: .85rem; }
.life-archive-tax-group__label { color: var(--la-muted); font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.life-archive-tax-group__items { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .35rem; }
.life-archive-tax-pill { background: #fff; border: 1px solid var(--la-border); border-radius: 999px; padding: .35rem .65rem; text-decoration: none; }
.life-archive-see-all-date { border-top: 1px solid var(--la-border); margin-top: 1rem; padding-top: .85rem; }
.life-archive-context-nav { background: #fff; border: 1px solid var(--la-border); box-shadow: 0 5px 20px rgba(55,76,105,.05); margin-top: 2.5rem; padding: 1rem; }
.life-archive-context-nav__following { color: var(--la-muted); font-size: .84rem; margin-bottom: .65rem; }
.life-archive-context-nav__links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.life-archive-context-nav__links a { background: var(--la-soft); border-radius: 12px; display: block; padding: .7rem; text-decoration: none; }
.life-archive-date-hero { background: linear-gradient(135deg, var(--lam-sky), var(--lam-peach)); border: 1px solid var(--la-border); border-radius: 22px; margin: 0 0 1.5rem; padding: clamp(1.5rem,4vw,2.5rem); text-align: center; }
.life-archive-date-hero__date { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem,6vw,4rem); }
.life-archive-date-hero__sub { color: var(--la-muted); margin-top: .35rem; }
.life-archive-route { max-width: 900px !important; padding: 3rem clamp(1rem,4vw,2rem) 4rem !important; }
.life-archive-page-title { font-size: clamp(2.1rem,5vw,3.8rem); }
.life-archive-page-subtitle { color: var(--la-muted); margin-bottom: 1.5rem; }
.life-archive-breadcrumb { color: var(--la-muted); font-size: .85rem; }
.life-archive-date-nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; }
.life-archive-date-nav a { background: #fff; border: 1px solid var(--la-border); border-radius: 12px; padding: .7rem .85rem; text-decoration: none; }
body.life-entry-type-diary-entry .life-archive-entry-meta__type { color: #a05c3a; }
body.life-entry-type-diary-entry .life-archive-entry-taxonomies { background: linear-gradient(135deg, rgba(255,240,231,.82), rgba(255,249,239,.7)); }
body.life-entry-type-note .life-archive-entry-meta__type { color: #6b58a1; }
body.life-entry-type-note .life-archive-entry-taxonomies { background: linear-gradient(135deg, rgba(242,239,255,.9), rgba(248,248,255,.72)); }
@media (max-width: 900px) { .la-memoir-browse-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) {
  .la-memoir-home-nav,
  .la-memoir-home-highlights,
  .la-memoir-browse-grid,
  .wp-block-query .wp-block-post-template,
  .life-archive-context-nav__links { grid-template-columns: 1fr; }
  .la-memoir-home-intro { border-radius: 20px; padding: 1.35rem; }
  .la-memoir-entry-image img { border-radius: 14px; }
  .life-archive-date-nav { flex-direction: column; }
}
@media print {
  .la-theme-site-header, .la-theme-site-footer, .life-archive-context-nav, .life-archive-entry-taxonomies { display: none !important; }
  body { background: #fff; }
  .la-memoir-reading-shell { max-width: none; padding: 0 !important; }
}

.la-memoir-highlight .life-archive-entry-list__heading,
.la-memoir-home-timeline .life-archive-entry-list__heading { display: none; }


/* --------------------------------------------------------------------------
   Life Archive Memoir homepage showcase
   -------------------------------------------------------------------------- */
.la-memoir-showcase-wrap {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 3% 12%, rgba(100, 188, 157, .17) 0 7rem, transparent 7.2rem),
    radial-gradient(circle at 94% 18%, rgba(85, 150, 221, .15) 0 8rem, transparent 8.2rem),
    radial-gradient(circle at 90% 88%, rgba(76, 174, 195, .11) 0 13rem, transparent 13.2rem),
    linear-gradient(180deg, #f9fdff 0%, #ffffff 57%, #f7fbff 100%);
  border-bottom: 1px solid rgba(79, 111, 147, .12);
}

.la-memoir-showcase-wrap::before,
.la-memoir-showcase-wrap::after {
  content: '';
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  border: 1px solid rgba(45, 128, 150, .13);
}

.la-memoir-showcase-wrap::before {
  width: 18rem;
  height: 18rem;
  left: -9rem;
  bottom: -8rem;
}

.la-memoir-showcase-wrap::after {
  width: 25rem;
  height: 25rem;
  right: -13rem;
  bottom: -12rem;
}

.la-memoir-showcase {
  --showcase-teal: #15989b;
  --showcase-blue: #315ea8;
  --showcase-violet: #6b55bb;
  --showcase-ink: #173457;
  --showcase-card-border: #d9e6f2;
  max-width: 1280px;
  margin-inline: auto;
  position: relative;
  z-index: 1;
}

.la-memoir-showcase-heading {
  max-width: 800px;
  margin: 0 auto clamp(1.6rem, 4vw, 2.7rem);
  text-align: center;
}

.la-memoir-showcase-badge {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: .32rem 2.7rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--showcase-blue), #244b87);
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(49, 94, 168, .16);
}

.la-memoir-showcase-heading h1 {
  color: var(--showcase-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.4rem, 6vw, 4.8rem);
  line-height: 1.02;
  margin: .8rem 0 .55rem;
}

.la-memoir-showcase-heading p {
  color: var(--la-muted);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  margin: 0;
}

.la-memoir-showcase-map {
  display: grid;
  grid-template-columns: minmax(250px, 1fr) minmax(300px, 390px) minmax(250px, 1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
  max-width: 1160px;
  margin-inline: auto;
}

.la-memoir-showcase-stack {
  display: grid;
  gap: 1rem;
}

.la-memoir-showcase-feature {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: .85rem;
  align-items: center;
  min-height: 94px;
  padding: .85rem 1rem;
  box-sizing: border-box;
  border: 1px solid var(--showcase-card-border);
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(45, 78, 111, .085);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.la-memoir-showcase-feature--left { border-left: 4px solid var(--showcase-teal); }
.la-memoir-showcase-feature--right { border-right: 4px solid var(--showcase-violet); }
.la-memoir-showcase-stack--right .la-memoir-showcase-feature:nth-child(1),
.la-memoir-showcase-stack--right .la-memoir-showcase-feature:nth-child(2) { border-right-color: var(--showcase-blue); }

.la-memoir-showcase-feature:not(.la-memoir-showcase-feature--static):hover {
  transform: translateY(-2px);
  border-color: rgba(49,94,168,.32);
  box-shadow: 0 16px 34px rgba(45, 78, 111, .12);
}

.la-memoir-showcase-feature--static { cursor: default; }

.la-memoir-showcase-feature__icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(145deg, #eefafa, #edf5ff);
  color: var(--showcase-teal);
}

.la-memoir-showcase-stack--right .la-memoir-showcase-feature__icon {
  color: var(--showcase-violet);
  background: linear-gradient(145deg, #f4f0ff, #f5f8ff);
}

.la-memoir-showcase-feature__icon svg,
.la-memoir-showcase-hub__icon svg,
.la-memoir-showcase-trust__icon svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.la-memoir-showcase-feature__copy strong {
  display: block;
  color: var(--showcase-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.08rem;
  line-height: 1.15;
}

.la-memoir-showcase-feature__copy > span {
  display: block;
  color: var(--la-muted);
  font-size: .82rem;
  line-height: 1.42;
  margin-top: .28rem;
}

.la-memoir-showcase-feature--left::after,
.la-memoir-showcase-feature--right::before {
  content: '';
  position: absolute;
  top: 50%;
  width: 3.4rem;
  border-top: 3px dotted rgba(28, 151, 156, .7);
  transform: translateY(-50%);
  pointer-events: none;
}

.la-memoir-showcase-feature--left::after { right: -3.4rem; }
.la-memoir-showcase-feature--right::before {
  left: -3.4rem;
  border-top-color: rgba(91, 77, 190, .62);
}

.la-memoir-showcase-hub {
  position: relative;
  aspect-ratio: 1;
  width: min(100%, 370px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 2rem;
  border-radius: 50%;
  color: var(--showcase-ink);
  text-align: center;
  text-decoration: none;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,255,255,.99) 0 61%, rgba(255,255,255,.8) 62% 100%),
    #fff;
  border: 9px solid #fff;
  outline: 5px solid rgba(49,94,168,.16);
  box-shadow:
    0 0 0 9px rgba(18, 159, 153, .45),
    0 0 0 15px rgba(49, 94, 168, .88),
    0 22px 45px rgba(44, 78, 112, .14);
  transition: transform .16s ease, box-shadow .16s ease;
}

.la-memoir-showcase-hub:hover {
  transform: translateY(-3px);
  box-shadow:
    0 0 0 9px rgba(18, 159, 153, .52),
    0 0 0 15px rgba(49, 94, 168, .93),
    0 26px 48px rgba(44, 78, 112, .18);
}

.la-memoir-showcase-hub__icon {
  display: grid;
  place-items: center;
  width: 82px;
  height: 72px;
  color: var(--showcase-blue);
  margin-bottom: .5rem;
}

.la-memoir-showcase-hub__icon svg { width: 70px; height: 70px; stroke-width: 1.5; }

.la-memoir-showcase-hub__name {
  display: block;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: .98;
}

.la-memoir-showcase-hub__strap {
  display: block;
  color: var(--showcase-blue);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .12em;
  margin-top: .95rem;
  text-transform: uppercase;
}

.la-memoir-showcase-hub__action {
  display: inline-flex;
  margin-top: .8rem;
  padding: .42rem .8rem;
  border-radius: 999px;
  background: #eef6ff;
  color: var(--showcase-blue);
  font-size: .78rem;
  font-weight: 700;
}

.la-memoir-showcase-trust {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  max-width: 900px;
  margin: clamp(2.4rem, 5vw, 4rem) auto 0;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(62, 100, 137, .12);
}

.la-memoir-showcase-trust__item {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: .6rem;
  align-items: center;
  min-width: 0;
}

.la-memoir-showcase-trust__icon {
  color: var(--showcase-teal);
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
}

.la-memoir-showcase-trust__icon svg { width: 30px; height: 30px; stroke-width: 2; }
.la-memoir-showcase-trust__item strong { display: block; color: var(--showcase-ink); font-size: .83rem; }
.la-memoir-showcase-trust__item small { display: block; color: var(--la-muted); font-size: .72rem; line-height: 1.35; margin-top: .12rem; }

@media (max-width: 1050px) {
  .la-memoir-showcase-map {
    grid-template-columns: minmax(220px, 1fr) minmax(270px, 330px) minmax(220px, 1fr);
    gap: 2rem;
  }
  .la-memoir-showcase-feature--left::after,
  .la-memoir-showcase-feature--right::before { width: 2rem; }
  .la-memoir-showcase-feature--left::after { right: -2rem; }
  .la-memoir-showcase-feature--right::before { left: -2rem; }
}

@media (max-width: 860px) {
  .la-memoir-showcase-map {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
  .la-memoir-showcase-hub {
    grid-column: 1 / -1;
    grid-row: 1;
    width: min(78vw, 330px);
    margin-bottom: 1.4rem;
  }
  .la-memoir-showcase-stack--left { grid-column: 1; grid-row: 2; }
  .la-memoir-showcase-stack--right { grid-column: 2; grid-row: 2; }
  .la-memoir-showcase-feature--left::after,
  .la-memoir-showcase-feature--right::before { display: none; }
  .la-memoir-showcase-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .la-memoir-showcase-wrap { padding-inline: .85rem !important; }
  .la-memoir-showcase-map { grid-template-columns: 1fr; }
  .la-memoir-showcase-stack--left,
  .la-memoir-showcase-stack--right { grid-column: 1; }
  .la-memoir-showcase-stack--left { grid-row: 2; }
  .la-memoir-showcase-stack--right { grid-row: 3; }
  .la-memoir-showcase-feature--left,
  .la-memoir-showcase-feature--right { border-left: 4px solid var(--showcase-teal); border-right: 1px solid var(--showcase-card-border); }
  .la-memoir-showcase-stack--right .la-memoir-showcase-feature { border-left-color: var(--showcase-violet); }
  .la-memoir-showcase-trust { grid-template-columns: 1fr; max-width: 420px; }
  .la-memoir-showcase-trust__item { background: rgba(255,255,255,.72); border-radius: 12px; padding: .55rem .7rem; }
}


.la-memoir-showcase-hub__eyebrow {
  display: block;
  color: var(--showcase-blue);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  margin-bottom: .45rem;
  text-transform: uppercase;
}

.la-memoir-showcase-hub__name {
  font-size: clamp(1.65rem, 3.3vw, 2.65rem);
  line-height: 1.02;
  max-width: 9.5em;
  overflow-wrap: anywhere;
}


/* Personal Memoir profile cards introduced in 0.3.0. */
.la-memoir-showcase--personal .la-memoir-showcase-stack {
  align-content: center;
  gap: 1.35rem;
}

.la-memoir-showcase--personal .la-memoir-showcase-feature {
  min-height: 112px;
}

/* Keep personal profile cards visually even without forcing content into a fixed box.
 * On desktop the four cards participate in the same two-row grid around the hub,
 * so each row grows to fit its longest detail and text can never escape the card. */
@media (min-width: 861px) {
  .la-memoir-showcase--personal .la-memoir-showcase-map {
    grid-template-rows: repeat(2, minmax(132px, 1fr));
    align-items: stretch;
  }

  .la-memoir-showcase--personal .la-memoir-showcase-stack {
    display: contents;
  }

  .la-memoir-showcase--personal .la-memoir-showcase-stack--left .la-memoir-showcase-feature {
    grid-column: 1;
  }

  .la-memoir-showcase--personal .la-memoir-showcase-stack--right .la-memoir-showcase-feature {
    grid-column: 3;
  }

  .la-memoir-showcase--personal .la-memoir-showcase-stack--left .la-memoir-showcase-feature:nth-child(1),
  .la-memoir-showcase--personal .la-memoir-showcase-stack--right .la-memoir-showcase-feature:nth-child(1) {
    grid-row: 1;
  }

  .la-memoir-showcase--personal .la-memoir-showcase-stack--left .la-memoir-showcase-feature:nth-child(2),
  .la-memoir-showcase--personal .la-memoir-showcase-stack--right .la-memoir-showcase-feature:nth-child(2) {
    grid-row: 2;
  }

  .la-memoir-showcase--personal .la-memoir-showcase-hub {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
  }

  .la-memoir-showcase--personal .la-memoir-showcase-feature {
    height: auto;
    min-height: 132px;
    align-self: stretch;
  }
}

/* Tablet and landscape-mobile layouts keep paired cards even within each column,
 * but allow the rows to grow beyond their minimum whenever the text needs it. */
@media (min-width: 621px) and (max-width: 860px) {
  .la-memoir-showcase--personal .la-memoir-showcase-stack {
    grid-auto-rows: minmax(122px, 1fr);
  }

  .la-memoir-showcase--personal .la-memoir-showcase-feature {
    height: auto;
    min-height: 122px;
  }
}

@media (max-width: 620px) {
  .la-memoir-showcase--personal .la-memoir-showcase-feature {
    height: auto;
    min-height: 112px;
  }
}

.la-memoir-showcase--personal .la-memoir-showcase-feature__copy,
.la-memoir-showcase--personal .la-memoir-showcase-feature__copy > span {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}

.la-memoir-showcase-map--no-cards {
  grid-template-columns: minmax(300px, 390px);
  justify-content: center;
}

.la-memoir-showcase-map--no-cards .la-memoir-showcase-hub {
  grid-column: 1;
}

@media (max-width: 860px) {
  .la-memoir-showcase--personal .la-memoir-showcase-stack {
    align-content: start;
  }
}


/* 0.3.3 — combine the personal showcase with the My Memoir introduction. */
.la-memoir-showcase-wrap {
  background: transparent;
  border-bottom: 0;
  overflow: visible;
}

.la-memoir-showcase-wrap::before,
.la-memoir-showcase-wrap::after {
  display: none;
}

.la-memoir-overview {
  max-width: 1180px;
  padding: clamp(1.5rem, 3.5vw, 2.75rem);
  border: 1px solid rgba(67, 89, 120, .14);
  border-radius: 28px;
  background:
    radial-gradient(circle at 98% 3%, rgba(255, 214, 191, .28) 0 9rem, transparent 9.2rem),
    radial-gradient(circle at 3% 96%, rgba(100, 188, 157, .12) 0 10rem, transparent 10.2rem),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,252,255,.96));
  box-shadow: var(--lam-shadow);
  overflow: hidden;
}

.la-memoir-overview__intro {
  position: relative;
  z-index: 2;
  max-width: 760px;
  margin: 0 0 clamp(1.8rem, 4vw, 3rem);
  text-align: left;
}

.la-memoir-overview__intro .la-memoir-home-kicker {
  margin-bottom: .55rem;
}

.la-memoir-overview__intro .la-memoir-home-title {
  margin: 0 0 .8rem;
}

.la-memoir-overview__lead {
  max-width: 720px;
  margin: 0;
  color: var(--la-muted);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  line-height: 1.55;
}

.la-memoir-overview .la-memoir-showcase-map {
  position: relative;
  z-index: 2;
}

/* The old separate home-introduction pattern is retained in the theme for
 * backwards compatibility, but is no longer part of the default front page. */

@media (max-width: 620px) {
  .la-memoir-showcase-wrap {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .la-memoir-overview {
    padding: 1.2rem;
    border-radius: 20px;
  }

  .la-memoir-overview__intro {
    margin-bottom: 1.5rem;
  }
}

/* 0.3.6 — autobiographical default without an eyebrow line until Memoir owns biography mode. */
.la-memoir-overview__intro .la-memoir-home-kicker {
  text-transform: none;
  letter-spacing: .035em;
  font-size: .9rem;
}

.la-memoir-overview__intro .la-memoir-home-title {
  font-size: clamp(2.2rem, 4.5vw, 4.15rem);
  line-height: 1.02;
  max-width: none;
}

.la-memoir-overview__statement,
.la-memoir-home-statement {
  margin: 0;
  color: var(--la-muted);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.45rem, 2.8vw, 2.15rem);
  font-weight: 500;
  line-height: 1.25;
}

@media (min-width: 900px) {
  .la-memoir-overview__intro .la-memoir-home-title {
    white-space: nowrap;
  }
}

@media (max-width: 899px) {
  .la-memoir-overview__intro .la-memoir-home-title {
    white-space: normal;
  }
}

