/*
 * tl-blog.css - Pehmeä editorial blog archive (page 28122) and single posts.
 *
 * Split out of FluentSnippets snippet 36 (review finding M9, 2026-10-18) so it is
 * a cached file instead of ~130 KB inlined into every page. Printed by snippet 40
 * (40-marketing-pages-stylesheets.php) at wp_head priority 10, i.e. the exact
 * position the inline <style> used to occupy, so the cascade is unchanged.
 * Snippet 40 decides which pages load this file - see its gate notes.
 * Deploy: ./tools/deploy-theme-staging.sh, then deploy-theme-prod.sh + purge.
 */

:is(body.page-id-28122) #primary > .content-container {
  width: 100%;
  max-width: none;
  padding-inline: 0;
}

:is(body.page-id-28122) article.single-entry {
  width: 100%;
}

/* Blog archive: featured story plus editorial article grid. */

body.page-id-28122 .content-area {
  margin-top: 0;
  margin-bottom: 0;
}

body.page-id-28122 .entry.single-entry {
  box-shadow: none;
}

body.page-id-28122 .content-bg,
body.page-id-28122.content-style-boxed .site {
  background: #fffdf8;
}

body.page-id-28122 .entry-content-wrap {
  padding: 0;
}

body.page-id-28122 .entry-header {
  width: min(1060px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(62px, 7vw, 96px) 0 clamp(44px, 5vw, 68px);
}

body.page-id-28122 .entry-header::before {
  content: "Ajatuksia hyvästä elämästä";
  display: block;
  margin-bottom: 1rem;
  color: #9c5f68;
  font-family: Montserrat, sans-serif;
  font-size: .88rem;
  font-weight: 600;
  letter-spacing: .11em;
  line-height: 1.3;
  text-transform: uppercase;
}

body.page-id-28122 .entry-title {
  margin: 0;
  color: #26352f;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(3.25rem, 2.45rem + 3vw, 4.8rem);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.02;
}

body.page-id-28122 article.single-entry > .entry-content-wrap > .entry-content {
  margin: 0;
  padding-bottom: clamp(92px, 10vw, 148px);
  color: #26352f;
  font-family: Montserrat, sans-serif;
}

body.page-id-28122 .entry-content > .wp-block-kadence-rowlayout {
  position: static;
  width: min(1060px, calc(100% - 40px));
  max-width: none;
  margin-inline: auto;
  background: transparent !important;
}

body.page-id-28122 .entry-content > .wp-block-kadence-rowlayout > .kt-row-column-wrap {
  max-width: none !important;
  padding: 0 !important;
}

body.page-id-28122 .entry-content .kt-inside-inner-col {
  padding-inline: 0 !important;
}

body.page-id-28122 .wp-block-kadence-postgrid {
  margin: 0;
}

body.page-id-28122 .kt-post-grid-wrap {
  gap: clamp(24px, 3vw, 34px) !important;
}

body.page-id-28122 .kt-blocks-post-grid-item {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(93, 109, 101, .16);
  border-radius: 20px;
  background: #fffdf8;
  box-shadow: 0 14px 38px rgba(38, 53, 47, .07);
  transition: box-shadow .2s ease, transform .2s ease;
}

body.page-id-28122 .kt-blocks-post-grid-item:hover {
  box-shadow: 0 22px 48px rgba(38, 53, 47, .12);
  transform: translateY(-4px);
}

body.page-id-28122 .kt-blocks-post-grid-item-inner-wrap {
  height: 100%;
  display: grid !important;
  grid-template-columns: 1fr !important;
  background: #fffdf8;
}

/* Cards may have no excerpt or footer actions; preserve populated content. */
body.page-id-28122 .kt-blocks-post-grid-item .entry-content:empty,
body.page-id-28122 .kt-blocks-post-footer:has(> .kt-blocks-post-footer-left:empty):has(> .kt-blocks-post-footer-right:empty):not(:has(a, button)) {
  display: none;
}

body.page-id-28122 .kadence-post-image {
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
}

body.page-id-28122 .kadence-post-image-intrisic {
  height: auto !important;
  aspect-ratio: 16 / 10;
  padding-bottom: 0 !important;
  background: #efe0df;
}

body.page-id-28122 .kadence-post-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

body.page-id-28122 .kt-blocks-post-grid-item:hover .kadence-post-image img {
  transform: scale(1.025);
}

body.page-id-28122 .kt-blocks-post-grid-item-inner {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: clamp(24px, 3vw, 34px) !important;
}

body.page-id-28122 .kt-blocks-above-categories,
body.page-id-28122 .kt-blocks-post-top-meta {
  color: #5d6d65;
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .075em;
  line-height: 1.45;
  text-transform: uppercase;
}

body.page-id-28122 .kt-blocks-above-categories {
  margin-bottom: .95rem;
}

body.page-id-28122 .kt-blocks-above-categories a {
  color: #9c5f68;
  text-decoration: none;
}

body.page-id-28122 .kt-blocks-post-grid-item .entry-title {
  margin: 0 0 1.3rem;
  padding: 0;
  font-size: clamp(1.65rem, 1.4rem + .65vw, 2.15rem);
  letter-spacing: -.025em;
  line-height: 1.12;
}

body.page-id-28122 .kt-blocks-post-grid-item .entry-title a {
  color: #26352f;
  text-decoration: none;
}

body.page-id-28122 .kt-post-grid-wrap[data-columns-xxl="1"] {
  margin-bottom: clamp(76px, 9vw, 122px);
}

body.page-id-28122 .kt-post-grid-wrap[data-columns-xxl="1"] .kt-blocks-post-grid-item-inner-wrap {
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr) !important;
  align-items: stretch;
}

body.page-id-28122 .kt-post-grid-wrap[data-columns-xxl="1"] .kadence-post-image-intrisic {
  height: 100% !important;
  min-height: 390px;
  aspect-ratio: auto;
}

body.page-id-28122 .kt-post-grid-wrap[data-columns-xxl="1"] .kt-blocks-post-grid-item-inner {
  justify-content: center;
  padding: clamp(34px, 5vw, 56px) !important;
  background: linear-gradient(145deg, #efe0df 0%, #f8f3e9 100%);
}

body.page-id-28122 .kt-post-grid-wrap[data-columns-xxl="1"] .entry-title {
  font-size: clamp(2.4rem, 1.9rem + 1.5vw, 3.35rem);
}

body.page-id-28122 .wp-block-kadence-advancedheading {
  margin: 0 0 clamp(34px, 5vw, 54px);
  color: #26352f !important;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(2.35rem, 1.9rem + 1.5vw, 3.3rem) !important;
  font-weight: 500;
  letter-spacing: -.03em;
  line-height: 1.08;
}

body.page-id-28122 .entry-content :where(a, button):focus-visible {
  outline: 3px solid #9c5f68;
  outline-offset: 4px;
}

/* Single blog posts: wide visual frame, calm editorial reading column. */

body.single-post .content-area {
  margin-top: 0;
  margin-bottom: 0;
}

body.single-post .content-bg,
body.single-post.content-style-boxed .site {
  background: #fffdf8;
}

body.single-post #primary > .content-container {
  width: min(1060px, calc(100% - 40px));
  max-width: none;
  margin-inline: auto;
  padding: 0;
}

body.single-post article.single-entry {
  box-shadow: none;
}

body.single-post article.single-entry > .entry-content-wrap {
  padding: 0;
}

body.single-post .article-post-thumbnail {
  width: min(1060px, 100%);
  max-width: none;
  height: auto;
  aspect-ratio: 16 / 8.5;
  margin: clamp(34px, 4vw, 52px) auto 0;
  overflow: hidden;
  border-radius: 24px;
  background: #efe0df;
}

body.single-post .article-post-thumbnail .post-thumbnail-inner,
body.single-post .article-post-thumbnail img {
  width: 100%;
  height: 100%;
}

body.single-post .article-post-thumbnail img {
  object-fit: cover;
}

body.single-post article.single-entry > .entry-content-wrap > .entry-header {
  width: min(820px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(58px, 7vw, 88px) 0 clamp(44px, 5vw, 64px);
  text-align: left;
}

body.single-post .entry-taxonomies {
  margin-bottom: 1.15rem;
}

body.single-post .entry-taxonomies a {
  color: #9c5f68;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-decoration: none;
  text-transform: uppercase;
}

body.single-post article.single-entry > .entry-content-wrap > .entry-header .entry-title {
  max-width: 17ch;
  margin: 0 0 1.6rem;
  color: #26352f;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(3rem, 2.25rem + 2.7vw, 4.45rem);
  font-weight: 500;
  letter-spacing: -.038em;
  line-height: 1.02;
  text-wrap: balance;
}

body.single-post .entry-meta {
  color: #5d6d65;
  font-family: Montserrat, sans-serif;
  font-size: .8rem;
  line-height: 1.5;
}

body.single-post .entry-meta a {
  color: #284b3b;
  text-decoration: none;
}

body.single-post .author-avatar {
  width: 48px !important;
  height: 48px !important;
  margin-inline-end: .65rem;
  vertical-align: middle;
}

body.single-post .author-avatar img {
  content: url('/wp-content/uploads/2026/08/tuulia-helmisola-homepage-20260824.jpg');
  display: block;
  width: 100%;
  height: 100%;
  border: 2px solid #f2dfdc;
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(40, 75, 59, .12);
  object-fit: cover;
  object-position: center top;
}

body.single-post article.single-entry .single-content {
  width: min(720px, calc(100% - 40px));
  max-width: none;
  margin-inline: auto;
  padding-bottom: clamp(86px, 9vw, 132px);
  color: #26352f;
  font-family: Montserrat, sans-serif;
  font-size: clamp(1rem, .97rem + .12vw, 1.075rem);
  line-height: 1.74;
}

body.single-post .single-content :where(p, ul, ol) {
  margin-bottom: 1.5rem;
}

body.single-post .single-content :where(ul, ol) {
  padding-left: 1.35rem;
}

body.single-post .single-content li {
  margin-bottom: .55rem;
}

body.single-post .single-content :where(h2, h3, h4) {
  color: #26352f;
  font-family: Fraunces, Georgia, serif;
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.1;
  text-wrap: balance;
}

body.single-post .single-content h2 {
  margin: clamp(68px, 8vw, 100px) 0 1.4rem;
  padding-top: clamp(48px, 6vw, 68px);
  border-top: 1px solid #ddd1af;
  font-size: clamp(2.15rem, 1.72rem + 1.5vw, 3.1rem);
}

body.single-post .single-content h3 {
  margin: clamp(44px, 6vw, 64px) 0 1rem;
  font-size: clamp(1.65rem, 1.42rem + .7vw, 2.08rem);
}

body.single-post .single-content h4 {
  margin: 2.8rem 0 1rem;
  color: #9c5f68;
  font-size: clamp(1.35rem, 1.2rem + .45vw, 1.62rem);
}

body.single-post .single-content blockquote {
  margin: clamp(38px, 5vw, 58px) 0;
  padding: clamp(28px, 4vw, 42px);
  border: 0;
  border-left: 5px solid #9c5f68;
  background: #efe0df;
  color: #284b3b;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(1.3rem, 1.15rem + .5vw, 1.68rem);
  line-height: 1.48;
}

body.single-post .single-content blockquote p:last-child {
  margin-bottom: 0;
}

body.single-post .single-content a {
  color: #284b3b;
  font-weight: 500;
  text-decoration-thickness: .08em;
  text-underline-offset: .22em;
}

body.single-post .single-content .wp-block-image,
body.single-post .single-content .wp-block-embed,
body.single-post .single-content .wp-block-video {
  margin-block: clamp(46px, 6vw, 72px);
}

body.single-post .single-content .wp-block-image.alignwide,
body.single-post .single-content .wp-block-image.alignfull,
body.single-post .single-content > .wp-block-image.size-large {
  width: min(900px, calc(100vw - 40px));
  max-width: none;
  margin-left: 50%;
  transform: translateX(-50%);
}

body.single-post .single-content .wp-block-image img {
  width: 100%;
  height: auto;
  border-radius: 18px;
}

body.single-post .single-content figcaption {
  margin-top: .8rem;
  color: #5d6d65;
  font-size: .76rem;
  line-height: 1.5;
  text-align: center;
}

body.single-post .single-content .wp-block-embed__wrapper {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 18px;
  background: #18372b;
}

body.single-post .single-content .wp-block-embed__wrapper iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

body.single-post .single-content .fluentform {
  margin-block: clamp(44px, 6vw, 68px);
  padding: clamp(26px, 4vw, 42px);
  border-radius: 20px;
  background: #f8f3e9;
}

body.single-post .single-content .fluentform label {
  color: #26352f;
  font-size: .88rem;
  font-weight: 600;
}

body.single-post .single-content .fluentform :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  min-height: 52px;
  border: 1px solid #c9c1ae;
  border-radius: 10px;
  background: #fffdf8;
  color: #26352f;
}

body.single-post .single-content .fluentform .ff-btn-submit {
  min-height: 50px;
  padding: .78rem 1.3rem !important;
  border: 2px solid #284b3b !important;
  border-radius: 999px !important;
  background: #284b3b !important;
  color: #fffdf8 !important;
  font-weight: 600;
}

body.single-post .post-navigation {
  width: min(1060px, 100%);
  margin: 0 auto clamp(76px, 9vw, 118px);
  padding-top: clamp(38px, 5vw, 58px);
  border-top: 1px solid #ddd1af;
}

body.single-post .post-navigation .nav-links {
  gap: 24px;
}

body.single-post .post-navigation a {
  height: 100%;
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid rgba(93, 109, 101, .16);
  border-radius: 16px;
  background: #f8f3e9;
  color: #26352f;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(1.1rem, 1rem + .3vw, 1.3rem);
  text-decoration: none;
}

body.single-post .post-navigation small {
  color: #9c5f68;
  font-family: Montserrat, sans-serif;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
}

body.single-post .entry-related {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding-block: clamp(72px, 8vw, 108px);
  background: linear-gradient(145deg, #efe0df 0%, #f8f3e9 74%);
}

body.single-post .entry-related-inner {
  width: min(1060px, calc(100% - 40px));
  max-width: none;
  margin-inline: auto;
  padding: 0;
}

body.single-post .entry-related-title {
  margin-bottom: clamp(34px, 5vw, 54px);
  color: #26352f;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(2.35rem, 1.9rem + 1.5vw, 3.3rem);
  font-weight: 500;
  letter-spacing: -.03em;
}

body.single-post .entry-related .loop-entry {
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(93, 109, 101, .16);
  border-radius: 18px;
  background: #fffdf8;
  box-shadow: 0 12px 34px rgba(38, 53, 47, .07);
}

body.single-post .entry-related .loop-entry .entry-content-wrap {
  padding: 24px;
}

body.single-post .entry-related .entry-title {
  color: #26352f;
  font-family: Fraunces, Georgia, serif;
  font-weight: 500;
  line-height: 1.16;
}

body.single-post :where(a, button):focus-visible {
  outline: 3px solid #9c5f68;
  outline-offset: 4px;
}

@media (max-width: 900px) {
  body.page-id-28122 .kt-post-grid-wrap[data-columns-xxl="1"] .kt-blocks-post-grid-item-inner-wrap {
    grid-template-columns: 1fr !important;
  }

  body.page-id-28122 .kt-post-grid-wrap[data-columns-xxl="1"] .kadence-post-image-intrisic {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 767px) {
  body.page-id-28122 .entry-header,
  body.page-id-28122 .entry-content > .wp-block-kadence-rowlayout,
  body.single-post #primary > .content-container,
  body.single-post .entry-related-inner {
    width: min(100% - 32px, 1060px);
  }

  body.page-id-28122 .entry-header {
    padding-block: 52px 38px;
  }

  body.page-id-28122 .entry-header .entry-title {
    font-size: clamp(2rem, 8.5vw, 2.125rem);
    line-height: 1.12;
    word-break: normal;
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  body.page-id-28122 .kt-post-grid-wrap[data-columns-xxl="1"] {
    margin-bottom: 0;
  }

  body.page-id-28122 .kt-post-grid-wrap[data-columns-xxl="1"] .kt-blocks-post-grid-item-inner {
    padding: 24px !important;
  }

  /* Kadence gives the featured title block a white fill inside the tinted panel. */
  body.page-id-28122 .kt-post-grid-wrap[data-columns-xxl="1"] .kt-blocks-post-grid-item header {
    background: transparent;
  }

  body.page-id-28122 .kt-post-grid-wrap[data-columns-xxl="1"] .entry-title {
    font-size: 1.75rem;
    word-break: normal;
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  body.page-id-28122 .kt-blocks-post-grid-item .entry-title {
    word-break: normal;
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  /* Hide text-node separators so categories never strand a pipe on its own line.
     The grid-item class outranks Kadence's per-block .kt-post-loop… font size. */
  body.page-id-28122 .kt-blocks-post-grid-item .kt-blocks-above-categories {
    font-size: 0;
    letter-spacing: 0;
    line-height: 0;
  }

  /* Two 44 px category targets cannot share a line at 12 px in a 360 px card,
     so cards show the first category; the post itself lists them all. */
  body.page-id-28122 .kt-blocks-post-grid-item .kt-blocks-above-categories a ~ a {
    display: none;
  }

  body.page-id-28122 .kt-blocks-above-categories a,
  body.single-post .entry-taxonomies a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding-inline-end: .75rem;
    font-size: .76rem;
    letter-spacing: .075em;
    line-height: 1.45;
  }

  body.page-id-28122 .kt-post-grid-wrap {
    grid-template-columns: 1fr !important;
  }

  body.single-post .article-post-thumbnail {
    border-radius: 16px;
  }

  body.single-post article.single-entry > .entry-content-wrap > .entry-header,
  body.single-post article.single-entry .single-content {
    width: min(100% - 32px, 720px);
  }

  body.single-post article.single-entry > .entry-content-wrap > .entry-header .entry-title {
    max-width: none;
    font-size: clamp(2rem, 8.5vw, 2.125rem);
    line-height: 1.12;
    word-break: normal;
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  body.single-post .single-content .wp-block-image.alignwide,
  body.single-post .single-content .wp-block-image.alignfull,
  body.single-post .single-content > .wp-block-image.size-large {
    width: calc(100vw - 32px);
  }

  body.single-post .post-navigation .nav-links {
    grid-template-columns: 1fr;
  }
}
