/**
 * Theme Name: Public Books 2026
 * Version: 1.0
 * Text Domain: pb2026
 */
/* _variables.scss */
/**
 * preset variables

 var(--wp--preset--font-family--libre-baskerville) // Body text, serif
 var(--wp--preset--font-family--freeman) // Header font, sans

 var(--wp--preset--font-size--large)
 "fontSizes": [
        { "slug": "small", "name": "Small (14px)", "size": "0.875rem" },
        { "slug": "base", "name": "Base (16px)", "size": "1rem" },
        { "slug": "medium", "name": "Medium (18px)", "size": "1.125rem" },
        { "slug": "large", "name": "Large (20px)", "size": "1.25rem" },
        { "slug": "x-large", "name": "Extra Large (24px)", "size": "1.5rem" },
        { "slug": "xx-large", "name": "XX Large (32px)", "size": "2rem" }
      ]

 var(--wp--preset--color--base)
 "palette": [
        { "slug": "base", "color": "#ffffff", "name": "Base" },
        { "slug": "contrast", "color": "#000000", "name": "Contrast" },
        { "slug": "primary", "color": "#ffc502", "name": "Primary" },
        { "slug": "secondary", "color": "#59cfff", "name": "Secondary" },
        { "slug": "oat", "color": "#f4efe9", "name": "Oat" },
        { "slug": "green", "color": "#09a077", "name": "Green" },
        { "slug": "orange", "color": "#ff592c", "name": "Orange" },
        { "slug": "pink", "color": "#fbd0c1", "name": "Pink" }
      ]

var(--wp--preset--spacing--24)
"spacingSizes": [
        { "slug": "12", "name": "X Small Gap", "size": "0.75rem" },
        { "slug": "16", "name": "Small Gap", "size": "1rem" },
        { "slug": "24", "name": "Medium Gap", "size": "clamp(1rem, 2vw, 1.5rem)" },
        { "slug": "40", "name": "Main Gap", "size": "clamp(1.5rem, 4vw, 2.5rem)" },
        { "slug": "72", "name": "Large Gap", "size": "clamp(3rem, 8vw, 5rem)" }
      ]
 */
.colors {
  color: #ffffff;
  color: #000000;
  color: #ffc502;
  color: #59cfff;
  color: #f4efe9;
  color: #09a077;
  color: #ff592c;
  color: #fbd0c1;
}

:root {
  --admin-bar-height: 0px;
  --sticky-nav-height: 68px;
  --page-main-margin-top: var(--wp--preset--spacing--72);
  --scroll-buffer: 54px;
}
@media (max-width: 782px) {
  :root {
    --sticky-nav-height: 60px;
    --scroll-padding-top-height: 40px;
  }
}

html:has(body.admin-bar) {
  --admin-bar-height: 46px;
}
@media (min-width: 782px) {
  html:has(body.admin-bar) {
    --admin-bar-height: 32px;
  }
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--sticky-nav-height) + var(--scroll-buffer) + var(--admin-bar-height));
}

body {
  scroll-padding-top: calc(var(--sticky-nav-height) + var(--scroll-buffer) + var(--admin-bar-height));
}

main {
  margin-top: var(--page-main-margin-top);
}

@media (min-width: 782px) {
  .wp-block-template-part:has(.site-header.sticky) + main {
    margin-top: calc(var(--sticky-nav-height) + var(--admin-bar-height) + var(--page-main-margin-top)) !important;
  }
}
/**
 * General Style and Utility classes
 */
:root :where(.is-layout-flex) {
  gap: var(--wp--preset--spacing--40);
}
:root :where(.is-layout-flex).gap-tight {
  gap: var(--wp--preset--spacing--16);
}
:root :where(.is-layout-flex).gap-zero {
  gap: 0;
}

:root :where(.is-layout-flow) {
  /*
  > *:first-child {
    margin-block-start: 0;
  }*/
}
:root :where(.is-layout-flow) > *:not(:first-child) {
  margin-block-start: var(--wp--preset--spacing--24);
}
:root :where(.is-layout-flow).gap-large > *:not(:first-child) {
  margin-block-start: var(--wp--preset--spacing--40) !important;
}

:root :where(.is-layout-grid).gap-large {
  gap: var(--wp--preset--spacing--40);
}

body {
  font-family: var(--wp--preset--font-family--libre-baskerville);
  font-size: var(--wp--preset--font-size--large);
  line-height: 1.4;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--wp--preset--font-family--freeman);
  font-weight: normal;
  letter-spacing: 0;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
.h1 a, .h2 a, .h3 a, .h4 a, .h5 a, .h6 a {
  color: black;
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
.h1 a:hover, .h2 a:hover, .h3 a:hover, .h4 a:hover, .h5 a:hover, .h6 a:hover {
  text-decoration-line: underline;
}

h1, .h1 {
  font-size: 64px;
  line-height: 1.125;
}

h2, .h2 {
  font-size: 54px;
  line-height: 1.18;
}

h3, .h3 {
  font-size: 48px;
  line-height: 1.16;
}

h4, .h4 {
  font-size: 40px;
  line-height: 1.2;
}

h5, .h5 {
  font-size: 32px;
  line-height: 1.25;
}

h6, .h6 {
  font-size: 24px;
  line-height: 1.33;
}

@media (max-width: 782px) {
  h1, .h1, h2, .h2 {
    font-size: 40px;
  }
  h3, .h3, h4, .h4 {
    font-size: 32px;
  }
  h5, .h5 {
    font-size: 24px;
  }
}
a {
  color: var(--wp--preset--color--orange);
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
a:hover {
  text-decoration-line: underline;
  text-underline-offset: 3px;
}
.current-menu-item a {
  text-decoration-line: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 3px;
}
.cta-link a, a.cta-link {
  color: black;
  font-family: var(--wp--preset--font-family--freeman);
  font-size: 24px;
  letter-spacing: 0.02em;
  text-decoration: none;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.cta-link a::after, a.cta-link::after {
  content: "";
  display: block;
  width: 24px; /* Width of the arrow */
  height: 24px; /* Height of the arrow */
  /* The SVG you provided, encoded as a background image */
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 16H27' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18 7L27 16L18 25' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain; /* Ensures SVG fits inside the box */
  /* Smooth movement for hover effect */
  transition: transform 0.2s ease;
}
.cta-link a:hover, a.cta-link:hover {
  opacity: 0.8;
}
.cta-link a:hover::after, a.cta-link:hover::after {
  transform: translateX(5px); /* Moves arrow slightly right on hover */
}

.desktop-only {
  display: none !important;
}

@media (min-width: 768px) {
  .mobile-only {
    display: none !important;
    /* Or inline-block/flex depending on your layout need */
  }
  .desktop-only {
    display: block !important;
  }
}
/**
 * Make old site content compatible with the new design
 */
u {
  text-decoration: none;
}

/**
 * Site header
 */
.site-header {
  margin-bottom: var(--wp--preset--spacing--72);
  /* mobile nav */
  /* Search */
}
.site-header .wp-block-site-logo {
  width: 94px;
  margin-bottom: -36px;
}
.site-header .wp-block-site-logo img {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 50% 77%, 0% 100%);
}
.site-header .header-navs {
  flex: 1 1 auto;
  font-size: var(--wp--preset--font-size--base);
}
.site-header .header-navs > div {
  width: 100%;
  padding: 15px 0;
}
.site-header .header-navs .wp-block-site-tagline {
  font-family: var(--wp--preset--font-family--freeman);
}
.site-header .header-navs .wp-block-site-tagline a {
  color: black;
}
.site-header .header-upper-row {
  border-bottom: 1px solid;
  padding: 8px 0;
  font-family: var(--wp--preset--font-family--freeman);
}
.site-header .wp-block-navigation {
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.site-header li.button.wp-block-navigation-link {
  background-color: black;
  color: white;
  padding: 8px;
}
.site-header .site-main-menu {
  gap: 24px;
}
.site-header #mobile-nav-toggle {
  background-color: transparent;
  border: 0;
  cursor: pointer;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 16H27' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M5 8H27' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M5 24H27' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px;
  width: 32px;
  height: 32px;
  display: none;
}
.site-header .site-search-wrap {
  position: relative;
}
.site-header .site-search-wrap #search-toggle {
  background-color: transparent;
  border: 0;
  cursor: pointer;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_2003_6438)'%3E%3Cpath d='M7 12C9.76142 12 12 9.76142 12 7C12 4.23858 9.76142 2 7 2C4.23858 2 2 4.23858 2 7C2 9.76142 4.23858 12 7 12Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.5352 10.5356L13.9995 14' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2003_6438'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
  width: 20px;
  height: 20px;
}
.site-header .site-search-wrap form {
  display: none;
  margin: 0;
  padding: 7px;
  position: absolute;
  right: 0;
  top: -8px;
  z-index: 2;
  background-color: white;
}
.site-header .site-search-wrap.show-search-form form {
  display: block;
}
.site-header .wp-block-search__inside-wrapper {
  align-items: center;
  border-bottom: 1px solid #000; /* The thick bottom line */
}
.site-header .wp-block-search__inside-wrapper .wp-block-search__input {
  background-color: transparent;
  border: none;
  padding: 0;
  font-size: 16px;
}
.site-header .wp-block-search__inside-wrapper .wp-block-search__input::placeholder {
  color: #000;
  opacity: 1;
}
.site-header .wp-block-search__inside-wrapper .wp-block-search__input:focus {
  outline: none;
  box-shadow: none;
}
.site-header .wp-block-search__inside-wrapper .wp-block-search__button {
  background-color: transparent;
  margin-left: 12px;
  font-size: 0 !important;
  width: 20px;
  height: 20px;
  cursor: pointer;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_2003_6438)'%3E%3Cpath d='M7 12C9.76142 12 12 9.76142 12 7C12 4.23858 9.76142 2 7 2C4.23858 2 2 4.23858 2 7C2 9.76142 4.23858 12 7 12Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.5352 10.5356L13.9995 14' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2003_6438'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
}
@media (max-width: 1200px) {
  .site-header .site-header-inner {
    gap: 24px;
  }
  .site-header .header-lower-row {
    gap: 16px;
  }
  .site-header .site-main-menu {
    font-size: 14px;
    gap: 16px;
  }
}
@media (max-width: 782px) {
  .site-header {
    margin-bottom: 75px;
  }
  .site-header .wp-block-site-logo {
    width: 64px;
    margin-bottom: -50px;
  }
  .site-header .wp-block-site-tagline {
    line-height: 1em;
  }
  .site-header #mobile-nav-toggle {
    transition: transform 0.3s ease;
    display: block;
  }
  .site-header #mobile-nav-toggle.close {
    /* Rotating it slightly gives it a nice animation feel */
    transform: rotate(90deg);
    /* URL encoded SVG for a simple 'X' */
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 7L25 25M7 25L25 7' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }
  .site-header .header-lower-row, .site-header .wp-block-navigation {
    display: none;
  }
  .site-header .header-navs > .header-upper-row {
    border: 0;
    padding: 0;
  }
  .site-header.mobile-nav-open {
    top: 0;
    left: 0;
    padding: 120px 24px 24px;
    width: 100%;
    height: 100vh;
    z-index: 9999;
    background: #fff; /* Ensure background is solid when open */
    overflow-y: auto;
  }
  .site-header.mobile-nav-open .wp-block-site-tagline, .site-header.mobile-nav-open .site-search-wrap #search-toggle {
    display: none;
  }
  .site-header.mobile-nav-open .wp-block-site-logo {
    position: absolute;
    top: 0;
  }
  .site-header.mobile-nav-open .header-navs {
    flex-direction: column-reverse;
  }
  .site-header.mobile-nav-open .header-lower-row {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .site-header.mobile-nav-open .header-lower-row .wp-block-navigation {
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: flex-start;
  }
  .site-header.mobile-nav-open .header-lower-row .wp-block-navigation li {
    border-top: 1px solid;
    width: 100%;
    padding-top: 18px;
  }
  .site-header.mobile-nav-open .header-upper-row .wp-block-navigation {
    display: flex;
    gap: 40px;
    font-size: 14px;
  }
  .site-header.mobile-nav-open .site-search-wrap {
    width: 100vw;
    margin: 24px -24px;
  }
  .site-header.mobile-nav-open .site-search-wrap form {
    display: block;
    position: static;
    padding: 36px 24px;
  }
  .site-header.mobile-nav-open #mobile-nav-toggle {
    position: absolute;
    top: 24px;
    right: 24px;
  }
}
@media (min-width: 782px) {
  .site-header.sticky {
    position: fixed;
    z-index: 100;
    top: var(--admin-bar-height);
    left: 0;
    width: 100%;
  }
  .site-header.sticky .header-upper-row {
    display: none;
  }
  .site-header.sticky .wp-block-site-logo {
    width: 60px;
    transition: width 0.2s ease-in-out;
  }
}

/**
 * Site footer
 */
.wp-block-template-part:has(.site-footer) {
  margin-block-start: 0;
}

.site-footer {
  font-size: var(--wp--preset--font-size--base);
}
.site-footer .footer-nav, .site-footer .footer-newsletter {
  margin-top: var(--wp--preset--spacing--40);
  border-top: 8px solid;
  padding-top: 16px;
}
@media (max-width: 782px) {
  .site-footer > div > .wp-block-columns:not(.copyright) {
    gap: 0;
  }
  .site-footer .footer-logo figure {
    width: 68px;
  }
}
.site-footer .footer-nav ul.wp-block-navigation {
  text-transform: uppercase;
  gap: var(--wp--preset--spacing--24);
}
.site-footer .footer-social {
  font-family: var(--wp--preset--font-family--freeman);
  padding-top: var(--wp--preset--spacing--16);
  border-top: 1px solid;
}
.site-footer form .pb-signup-row {
  display: flex;
  gap: 8px;
}
@media (max-width: 782px) {
  .site-footer form .pb-signup-row {
    flex-direction: column;
  }
}
.site-footer form .pb-signup-row input {
  font-size: 16px;
}
.site-footer .copyright {
  border-top: 1px solid;
  font-size: var(--wp--preset--font-size--small);
  width: 100%;
  padding: 24px 0;
}
.site-footer .copyright .wp-block-navigation {
  gap: var(--wp--preset--spacing--24);
}
.site-footer .copyright .wp-block-navigation > li:not(:last-child) {
  padding-right: var(--wp--preset--spacing--24);
  border-right: 1px solid;
}

/**
 * Alternating post list
 */
@media (min-width: 768px) {
  .alternating-posts-list li:nth-child(even) .wp-block-columns {
    flex-direction: row-reverse;
  }
}
/**
 * Taxonomy feature image
 */
.taxonomy-hero-image {
  aspect-ratio: 5/3;
}
.taxonomy-hero-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/**
 * Background with folded corner
 */
.bg-w-folded-corner {
  --corner-size: 34px; /* Size of the fold */
  --bg-color: var(--wp--preset--color--oat); /* The beige background color */
  --fold-color: rgba(0,0,0,0.15);
  background: linear-gradient(-135deg, transparent var(--corner-size), var(--bg-color) 0);
}
.bg-w-folded-corner::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: calc(var(--corner-size) * 1.414);
  height: calc(var(--corner-size) * 1.414);
  background: linear-gradient(to left bottom, transparent 50%, var(--fold-color) 0);
  /* Aligning the triangle */
  transform: translateY(0) translateX(0); /* Ensure it stays put */
  pointer-events: none; /* Allows clicking "through" the empty corner if needed */
}
.bg-w-folded-corner .pb-author-block .pb-author-img-link {
  display: none;
}
.bg-w-folded-corner .wp-block-post:last-child > .wp-block-columns {
  margin-bottom: 0;
}

form {
  margin-bottom: var(--wp--preset--spacing--24);
}
form input {
  padding: 10px 12px;
  font-size: 18px;
  font-family: var(--wp--preset--font-family--libre-baskerville);
}
form input::placeholder {
  color: #d4cfc9; /* Light grey text */
  opacity: 1; /* Firefox fix */
}
form input[type=submit] {
  background-color: #000000;
  color: #ffffff;
  cursor: pointer;
  /* Typography matching the screenshot */
  font-family: var(--wp--preset--font-family--freeman);
  font-size: 16px;
  text-transform: uppercase; /* Forces "SUBSCRIBE" to be all caps */
  letter-spacing: 0.05em;
  line-height: 1; /* Keeps text centered vertically */
}

.wp-block-post-content > .wp-block-group, .wp-block-post-content > .wp-block-columns {
  font-size: var(--wp--preset--font-size--medium);
}
.wp-block-post-content > .wp-block-group:not(:first-child), .wp-block-post-content > .wp-block-columns:not(:first-child) {
  margin-block-start: var(--wp--preset--spacing--72);
}
.wp-block-post-content > .wp-block-group.has-background, .wp-block-post-content > .wp-block-columns.has-background {
  padding-top: var(--wp--preset--spacing--72);
  padding-bottom: var(--wp--preset--spacing--72);
}

/**
 * Pattern: Big header
 */
/**
 * Block: WP Query loop
 */
.wp-block-query .is-layout-flow > *:not(:first-child) {
  margin-block-start: var(--wp--preset--spacing--16);
}
.wp-block-query .wp-block-post-title, .wp-block-query .wp-block-post-excerpt {
  margin-block-start: var(--wp--preset--spacing--16);
  margin-block-end: var(--wp--preset--spacing--16);
}
.wp-block-query .wp-block-post-excerpt {
  font-size: 16px;
  color: #494B4D;
}
.wp-block-query .wp-block-post figure.wp-block-post-featured-image {
  aspect-ratio: 5/3;
}
.wp-block-query .wp-block-post figure.wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wp-block-query .wp-block-post > .wp-block-columns {
  margin-bottom: var(--wp--preset--spacing--16);
  margin-top: var(--wp--preset--spacing--16);
  padding-top: var(--wp--preset--spacing--16);
  border-top: 1px solid;
}

/**
 * Block: PB Author Block
 */
.pb-author-block {
  display: flex;
  gap: 12px;
  font-size: 16px;
  align-items: center;
}
.pb-author-block.display-inline {
  display: inline;
}
.pb-author-block .pb-author-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.pb-author-block .pb-author-name {
  font-weight: bold;
  line-height: 1.5em;
}
.single-post .post-authors-date .pb-author-block {
  font-size: 20px;
}
.single-post .post-authors-date .pb-author-block .pb-author-avatar {
  width: 64px;
  height: 64px;
}

/**
 * Categories
 */
.wp-block-post-terms {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-family: var(--wp--preset--font-family--freeman);
  font-size: 16px;
  line-height: 24px;
}
.wp-block-post-terms a {
  display: inline-block;
  position: relative;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  text-decoration: none;
  color: var(--wp--preset--color--contrast);
  padding: 4px 8px;
  background-color: var(--wp--preset--color--oat);
}
.wp-block-post-terms a:hover {
  text-decoration: underline;
}
.wp-block-post-terms.taxonomy-category {
  /**
   * hide the child category when there is a parent
   */
  /*
  a:has(+ .wp-block-post-terms__separator) {
    display: none;
  }*/
}
.wp-block-post-terms.taxonomy-category a {
  padding-right: 24px;
  /* The Arrow Shape */
  /* Coordinates: TopLeft, TopRight-ish, Tip, BottomRight-ish, BottomLeft */
  clip-path: polygon(0% 0%, 100% 0%, calc(100% - 16px) 50%, 100% 100%, 0% 100%);
  /* Review (Pink/Beige) */
  /* Interview (Yellow) */
  /* Podcast (Orange) */
}
.wp-block-post-terms.taxonomy-category a[href*=essays] {
  background-color: var(--wp--preset--color--secondary);
}
.wp-block-post-terms.taxonomy-category a[href*=reviews] {
  background-color: var(--wp--preset--color--pink);
}
.wp-block-post-terms.taxonomy-category a[href*=interviews] {
  background-color: var(--wp--preset--color--primary);
}
.wp-block-post-terms.taxonomy-category a[href*=podcast] {
  background-color: var(--wp--preset--color--orange);
}
.wp-block-post-terms.taxonomy-category .wp-block-post-terms__separator {
  display: none;
}
.wp-block-post-terms.taxonomy-section a {
  background-color: #CDECE3;
}
.wp-block-post-terms.taxonomy-series a {
  background-color: #ECECFE;
}
.wp-block-post-terms.taxonomy-post_tag {
  flex-wrap: wrap;
  margin-bottom: var(--wp--preset--spacing--40);
}
.wp-block-post-terms .wp-block-post-terms__separator {
  display: none;
}

/**
 * Pattern: Most viewed
 */
.pattern.most-viewed {
  --bg-color: var(--wp--preset--color--oat); /* The beige background color */
  --fold-color: #E6E0D6; /* Slightly darker beige for the "back" of the flap */
  padding: var(--wp--preset--spacing--24);
}
.pattern.most-viewed .alternating-posts-list {
  margin-block-start: 8px;
}
.pattern.most-viewed .pb-author-block .pb-author-img-link {
  display: none;
}
.pattern.most-viewed .wp-block-post:last-child > .wp-block-columns {
  margin-bottom: 0;
}
.pattern.most-viewed figure.wp-block-post-featured-image {
  aspect-ratio: auto;
}

/**
 * Featured Quote Image Block
 */
.featured-quote-image-block {
  margin-bottom: var(--wp--preset--spacing--16);
  /* --- Quote Styling --- */
  /* =========================================
     BACKGROUND COLOR CLASSES
     Update hex codes to match your brand guide
     ========================================= */
}
.featured-quote-image-block .pb-image-wrapper {
  aspect-ratio: 5/3;
}
.featured-quote-image-block .pb-image-wrapper img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.featured-quote-image-block .pb-quote-wrapper {
  position: relative;
  padding: var(--wp--preset--spacing--40);
  color: #000000;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 300px;
  box-sizing: border-box;
  --bg-color: var(--wp--preset--color--primary);
}
.featured-quote-image-block .pb-quote-wrapper blockquote {
  font-family: var(--wp--preset--font-family--freeman);
  font-size: 54px;
  line-height: 1.18;
  margin: var(--wp--preset--spacing--24) 0;
}
@media (max-width: 782px) {
  .featured-quote-image-block .pb-quote-wrapper blockquote {
    font-size: 42px;
  }
}
.featured-quote-image-block .pb-quote-wrapper .pb-separator {
  display: block;
  width: 100px;
  height: 8px;
  background-color: currentColor; /* Matches text color */
}
.featured-quote-image-block.pb-bg-white .pb-quote-wrapper {
  --bg-color: var(--wp--preset--color--base);
  filter: drop-shadow(1px 1px 0 var(--wp--preset--color--oat)) drop-shadow(-1px -1px 0 var(--wp--preset--color--oat));
}
.featured-quote-image-block.pb-bg-black .pb-quote-wrapper {
  --bg-color: var(--wp--preset--color--contrast);
  color: white;
}
.featured-quote-image-block.pb-bg-green .pb-quote-wrapper {
  --bg-color: var(--wp--preset--color--green); /* REPLACE WITH YOUR HEX */
}
.featured-quote-image-block.pb-bg-blue .pb-quote-wrapper {
  --bg-color: var(--wp--preset--color--secondary); /* REPLACE WITH YOUR HEX */
}
.featured-quote-image-block.pb-bg-pink .pb-quote-wrapper {
  --bg-color: var(--wp--preset--color--pink); /* REPLACE WITH YOUR HEX */
}
.featured-quote-image-block.pb-bg-oat .pb-quote-wrapper {
  --bg-color: var(--wp--preset--color--oat); /* REPLACE WITH YOUR HEX */
}
.featured-quote-image-block.pb-bg-orange .pb-quote-wrapper {
  --bg-color: var(--wp--preset--color--orange);
}

/**
 * Related reading (used in shortcode)
 */
.pattern.related-reading {
  margin-block-start: var(--wp--preset--spacing--40) !important;
  padding: var(--wp--preset--spacing--40);
  background-color: var(--wp--preset--color--oat);
}
.pattern.related-reading .block-heading {
  font-size: 32px;
  font-style: italic;
  padding-bottom: var(--wp--preset--spacing--16);
  border-bottom: 8px solid;
}
.pattern.related-reading .wp-block-post-title, .pattern.related-reading .pb-author-block {
  margin-block-start: var(--wp--preset--spacing--16);
}
.pattern.related-reading .wp-block-post-featured-image {
  aspect-ratio: 5/3;
}
.pattern.related-reading .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/**
 * Email Sign up
 */
@media (max-width: 782px) {
  .pattern.email-signup {
    margin-left: calc(-1 * var(--wp--preset--spacing--40)) !important;
    margin-right: calc(-1 * var(--wp--preset--spacing--40)) !important;
  }
}
.pattern.email-signup .wp-block-column.is-layout-flow > *:not(:first-child) {
  margin-block-start: var(--wp--preset--spacing--16);
}
.pattern.email-signup p {
  line-height: 28px;
}
.pattern.email-signup .pb-signup-row {
  display: flex;
  gap: 8px;
}
.pattern.email-signup input[type=email] {
  flex: 1 1 300px;
}
.single-post article > .wp-block-columns > .wp-block-column .pattern.email-signup {
  margin-block-start: var(--wp--preset--spacing--40) !important;
  margin-left: calc(-50% - var(--wp--preset--spacing--40));
}
.pattern.email-signup figure {
  background-color: white;
  text-align: center;
}

/**
 * quote
 */
.wp-block-pullquote {
  --corner-size: 34px;
  --corner-side-size: calc(var(--corner-size) * 1.414);
  --bg-color: var(--wp--preset--color--primary);
  --fold-color: rgba(0,0,0,0.15);
  text-align: left;
  padding: var(--wp--preset--spacing--40);
  margin: var(--wp--preset--spacing--40) 0;
  position: relative;
  background: linear-gradient(-135deg, transparent var(--corner-size), var(--bg-color) 0) !important;
}
.wp-block-pullquote.has-green-background-color {
  --bg-color: var(--wp--preset--color--green);
}
.wp-block-pullquote.has-orange-background-color {
  --bg-color: var(--wp--preset--color--orange);
}
.wp-block-pullquote.has-secondary-background-color {
  --bg-color: var(--wp--preset--color--secondary);
}
.wp-block-pullquote.has-oat-background-color {
  --bg-color: var(--wp--preset--color--oat);
}
.wp-block-pullquote.has-pink-background-color {
  --bg-color: var(--wp--preset--color--pink);
}
.wp-block-pullquote.has-base-background-color {
  --bg-color: var(--wp--preset--color--base);
  filter: drop-shadow(1px 1px 0 var(--wp--preset--color--oat)) drop-shadow(-1px -1px 0 var(--wp--preset--color--oat));
}
.wp-block-pullquote.has-contrast-background-color {
  --bg-color: var(--wp--preset--color--contrast);
  color: white;
  --fold-color: rgba(255,255,255,0.25);
}
.wp-block-pullquote::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: var(--corner-side-size);
  height: var(--corner-side-size);
  background: linear-gradient(to left bottom, transparent 50%, var(--fold-color) 0);
  /* Aligning the triangle */
  transform: translateY(0) translateX(0); /* Ensure it stays put */
  pointer-events: none; /* Allows clicking "through" the empty corner if needed */
}
.wp-block-pullquote blockquote {
  padding: var(--wp--preset--spacing--40) 0;
  position: relative;
  margin: 0;
}
.wp-block-pullquote blockquote:before, .wp-block-pullquote blockquote:after {
  content: " ";
  width: 100px;
  border-top: 8px solid;
  position: absolute;
}
.wp-block-pullquote blockquote:before {
  top: 4px;
}
.wp-block-pullquote blockquote:after {
  bottom: 4px;
}
.wp-block-pullquote p {
  font-size: 54px;
  line-height: 1.18;
  font-family: var(--wp--preset--font-family--freeman);
  margin-block-start: 0;
  margin-block-end: 0;
}
@media (max-width: 782px) {
  .wp-block-pullquote p {
    font-size: 32px;
    line-height: 1.25;
  }
}
.wp-block-pullquote cite {
  font-size: 18px;
  line-height: 24px;
  font-style: normal;
}

.pb-empty-state {
  padding: 20px;
  background: #f0f0f0;
  text-align: center;
  border: 1px dashed #ccc;
  color: #666;
}

/**
 * Separator block
 */
hr.wp-block-separator, hr {
  width: 50%;
  margin: var(--wp--preset--spacing--40) auto !important;
}
hr.wp-block-separator.is-style-wide, hr.is-style-wide {
  width: 100%;
  border-top: 8px solid #D9D9D9;
}

/**
 * Buttons block
 */
.wp-block-buttons {
  font-family: var(--wp--preset--font-family--freeman);
  font-size: 16px;
  line-height: 1.5em;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.wp-block-buttons .wp-block-button {
  display: inline-flex;
  align-items: center;
}
.wp-block-buttons .wp-block-button a.wp-block-button__link {
  padding: 11px 8px;
}

/**
 * Newsletter Sidebar
 */
.newsletter-sidebar.pattern {
  width: 260px;
}
@media (max-width: 782px) {
  .newsletter-sidebar.pattern {
    width: auto;
  }
}
.newsletter-sidebar.pattern > *:not(:first-child) {
  margin-block-start: 16px;
}
.newsletter-sidebar.pattern p {
  line-height: 1.5em;
}
.newsletter-sidebar.pattern input[type=email] {
  font-size: 16px;
  max-width: calc(100% - 24px);
}
.newsletter-sidebar.pattern .pb-submit-button {
  margin-top: 8px;
}

/**
 * Block: related series
 */
.related-series-container:not(.narrow) {
  background-color: var(--wp--preset--color--oat);
  padding: var(--wp--preset--spacing--40);
  margin-top: var(--wp--preset--spacing--40);
  margin-bottom: var(--wp--preset--spacing--40);
}
.related-series-container .related-series-header {
  font-family: var(--wp--preset--font-family--libre-baskerville);
  font-style: italic;
  font-weight: normal;
  font-size: 32px;
  margin: 0;
  padding-bottom: var(--wp--preset--spacing--16);
  border-bottom: 8px solid;
}
@media (max-width: 782px) {
  .related-series-container .related-series-header {
    font-size: 24px;
  }
}
.related-series-container .wp-block-query ul.related-series-list li.related-post-item {
  border-bottom: 1px solid;
}
.related-series-container .wp-block-query ul.related-series-list li.related-post-item:last-of-type {
  border: 0;
}
.related-series-container .wp-block-query ul.related-series-list li.related-post-item:last-of-type .wp-block-post-title {
  margin-bottom: 0;
}
.related-series-container .wp-block-query ul.related-series-list li.related-post-item.is-featured {
  display: flex;
  gap: var(--wp--preset--spacing--16);
}
.related-series-container .wp-block-query ul.related-series-list li.related-post-item.is-featured > .post-thumbnail-wrapper {
  flex: 1 1 40%;
  margin: var(--wp--preset--spacing--16) 0;
}
.related-series-container .wp-block-query ul.related-series-list li.related-post-item.is-featured > .post-thumbnail-wrapper figure {
  aspect-ratio: 5/3;
  margin-bottom: 0;
}
.related-series-container .wp-block-query ul.related-series-list li.related-post-item.is-featured > .post-thumbnail-wrapper figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.related-series-container .wp-block-query ul.related-series-list li.related-post-item.is-featured > .post-content {
  flex: 1 1 60%;
}
.related-series-container.narrow .related-series-header {
  font-weight: bold;
  font-size: 18px;
  font-style: normal;
  padding-bottom: 8px;
  border-bottom: 1px solid;
}
.related-series-container.narrow .wp-block-query ul.related-series-list .related-post-item.is-featured {
  flex-direction: column;
  gap: 0;
}
.related-series-container.narrow .wp-block-query ul.related-series-list .related-post-item.is-featured .post-thumbnail-wrapper {
  margin-bottom: 0;
}

/**
 * Fancy Quote
 */
.fancy-quote.pattern {
  gap: 0;
}
.fancy-quote.pattern > .wp-block-column:first-child {
  background-color: var(--wp--preset--color--oat);
  clip-path: polygon(0% 0%, 100% 0%, 100% 90%, 0% 90%);
  padding: var(--wp--preset--spacing--40);
}
.fancy-quote.pattern > .wp-block-column:last-child {
  position: relative;
  z-index: 1;
}
.fancy-quote.pattern > .wp-block-column:last-child:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: var(--wp--preset--color--orange);
  clip-path: polygon(0% 0%, 100% 90%, 0% 100%);
}

/**
 * Pattern: Featured Reviews
 */
.featured-reviews-wrap {
  overflow: hidden;
}

.featured-reviews.pattern {
  gap: 0;
}
.featured-reviews.pattern .single-review-book {
  position: relative; /* Establish context for absolute elements */
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); /* Smooth 'springy' animation */
  z-index: 1; /* Default stacking order */
  border-radius: 4px; /* Optional: Slight rounding */
  padding: 20px; /* Internal spacing for the sticker look */
  margin: 0 !important; /* Reset default margins to prevent jumping */
  --corner-size: 34px; /* Size of the fold */
  --bg-color: var(--wp--preset--color--green); /* The beige background color */
  --fold-color: rgba(0,0,0,0.15);
}
.featured-reviews.pattern .single-review-book .book-info {
  overflow: hidden;
  transition: all 0.3s ease-in-out;
  gap: 8px;
  text-align: center;
  flex-direction: column;
}
.featured-reviews.pattern .single-review-book .book-info .book-title {
  font-family: var(--wp--preset--font-family--freeman);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.5em;
  font-size: 14px;
}
.featured-reviews.pattern .single-review-book .book-info .book-title a {
  color: black;
}
.featured-reviews.pattern .single-review-book .book-info .book-author {
  font-weight: bold;
  font-size: 13px;
  line-height: 1.5em;
}
@media (min-width: 782px) {
  .featured-reviews.pattern .single-review-book::before {
    content: "";
    position: absolute;
    top: 0;
    left: -20%;
    width: 140%;
    height: 100%;
    /* Create the green background with a transparent top-right cut */
    background: linear-gradient(-45deg, transparent var(--corner-size), var(--bg-color) 0);
    /* Initial Hidden State */
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    z-index: -2;
  }
  .featured-reviews.pattern .single-review-book::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: -20%;
    /* Calculate the diagonal size of the fold */
    width: calc(var(--corner-size) * 1.414);
    height: calc(var(--corner-size) * 1.414);
    /* Create the triangle shadow look */
    background: linear-gradient(to left top, transparent 50%, var(--fold-color) 0);
    /* Initial Hidden State (Must match ::before exactly) */
    opacity: 0;
    transform-origin: center center; /* Ensure it scales from its own center, or adjust to match background */
    /* Fix alignment: The triangle needs to be offset slightly to sit perfectly in the corner */
    /* Since we are scaling the whole background, simpler to just match the transforms */
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    z-index: -1; /* Sits ON TOP of the green background, but BEHIND text */
    pointer-events: none;
  }
  .featured-reviews.pattern .single-review-book:hover {
    z-index: 10;
    transform: rotate(-3deg) translateY(-10px) scale(1.45);
  }
  .featured-reviews.pattern .single-review-book:hover::before, .featured-reviews.pattern .single-review-book:hover::after {
    opacity: 1;
  }
  .featured-reviews.pattern .single-review-book:hover .book-info {
    max-height: 200px; /* Allow enough space for text to appear */
    opacity: 1;
    transform: translateY(0);
    margin-top: 15px; /* Add spacing between image and text */
  }
}

/**
 * Pagination
 */
.wp-block-query-pagination {
  font-family: var(--wp--preset--font-family--freeman);
  margin: var(--wp--preset--spacing--40) auto;
  padding-top: var(--wp--preset--spacing--16);
  border-top: 1px solid;
}
.wp-block-query-pagination .wp-block-query-pagination-numbers {
  display: inline-flex;
  gap: var(--wp--preset--spacing--16);
}

.pb-term-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pb-term-grid .term-card {
  flex-direction: column;
  background-color: var(--wp--preset--color--oat);
}
.pb-term-grid .term-card .term-content {
  padding: var(--wp--preset--spacing--16);
  flex-grow: 1;
  align-items: stretch;
  width: 100%;
}
.pb-term-grid .term-card .term-content h2 {
  margin-top: 0;
}
.pb-term-grid .term-card.term-section {
  background-color: #CDECE3;
}
.pb-term-grid .term-card.term-pbseries {
  background-color: #ECECFE;
}
.pb-term-grid figure img {
  aspect-ratio: 5/3;
  object-fit: cover;
}
.pb-term-grid .cta-link {
  margin-top: auto;
  width: 100%;
}
.pb-term-grid .cta-link a {
  font-size: 20px;
}

.pattern.pb-advt {
  margin-top: var(--wp--preset--spacing--40);
  margin-bottom: var(--wp--preset--spacing--40);
}
.pattern.pb-advt img {
  max-width: 260px;
  height: auto;
}
.pattern.pb-advt > p {
  font-size: 16px;
  color: #999999;
}
.pattern.pb-advt > p + figure {
  margin-top: 8px;
}
@media (max-width: 782px) {
  .pattern.pb-advt {
    padding-top: var(--wp--preset--spacing--40);
    padding-bottom: var(--wp--preset--spacing--40);
    padding-left: 0;
    padding-right: 0;
    border-top: 1px solid var(--wp--preset--color--oat);
    border-bottom: 1px solid var(--wp--preset--color--oat);
    width: 100%;
    text-align: center;
  }
  .pattern.pb-advt img {
    max-width: min(450px, 100vw - 48px);
  }
}

/**
 * Accordion
 */
.wp-block-details > *:not(summary) {
  opacity: 0;
  transition: opacity 0.5s ease;
}

.wp-block-details[open] > *:not(summary) {
  opacity: 1;
}

.wp-block-details {
  padding: 20px 0 0;
  margin-top: 20px;
  border-top: 1px solid black;
}
.wp-block-details:last-of-type {
  padding-bottom: 20px;
  border-bottom: 1px solid black;
}
.wp-block-details summary {
  padding-right: 40px;
  font-family: var(--wp--preset--font-family--freeman);
  font-size: 20px;
  list-style: none;
  position: relative;
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: text-decoration-color 0.2s ease-in-out;
}
.wp-block-details summary:hover {
  text-decoration-color: currentColor;
}
.wp-block-details summary::-webkit-details-marker {
  display: none;
}
.wp-block-details summary:after {
  content: url("data:image/svg+xml,%3Csvg width='25' height='24' viewBox='0 0 25 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.9999 15.5859L21.2928 7.29297L22.707 8.70718L12.9999 18.4143L3.29282 8.70718L4.70703 7.29297L12.9999 15.5859Z' fill='black'/%3E%3C/svg%3E");
  position: absolute;
  right: 0;
  top: 0;
  width: 25px;
  height: 24px;
}
.wp-block-details[open] > summary:after {
  transform: rotate(180deg);
}

/**
 * Partners list, used on Partner's page
 */
.partners-list .wp-block-term {
  border-top: 1px solid;
  padding-top: var(--wp--preset--spacing--24);
}
.partners-list .wp-block-term .taxonomy-hero-image {
  aspect-ratio: 1/1;
}

.taxonomy-type-label {
  font-size: 16px;
  font-family: var(--wp--preset--font-family--freeman);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  text-decoration: none;
  color: var(--wp--preset--color--contrast);
  padding: 4px 8px;
  background-color: var(--wp--preset--color--oat);
}

/**
 * Single or page
 */
.wp-singular .wp-block-post-content.entry-content > p {
  line-height: 1.8em;
}
.wp-singular .wp-block-post-content.entry-content p img.bookmark-icon {
  vertical-align: middle;
  margin-left: 5px;
  width: 12px;
  height: auto;
}
.wp-singular .wp-block-post-content.entry-content p.has-drop-cap:not(:focus)::first-letter {
  font-family: var(--wp--preset--font-family--freeman);
  font-size: 96px;
  line-height: 0.8em;
  float: left;
  margin-right: 8px;
  margin-top: 6px;
  margin-bottom: -5px;
}
.wp-singular .wp-block-post-content.entry-content > p {
  margin-block-start: var(--wp--preset--spacing--40);
}
.wp-singular .wp-block-post-content.entry-content > p:first-child {
  margin-block-start: 0;
}
.wp-singular .wp-block-post-content.entry-content > h4 {
  font-family: var(--wp--preset--font-family--libre-baskerville);
  font-size: 32px;
  line-height: 42px;
  margin-block-start: var(--wp--preset--spacing--40);
}
.wp-singular .wp-block-post-content.entry-content > h4 + p {
  margin-block-start: var(--wp--preset--spacing--16);
}

/**
 * Single Post
 */
.single-post {
  /**
   * Items being reviewed
   */
}
.single-post .single-post-header-left {
  height: 100%;
}
.single-post .single-post-header-left .share-date-row .wp-block-post-date {
  padding-right: 40px;
  border-right: 1px solid;
}
@media (max-width: 782px) {
  .single-post .single-post-header-left .share-date-row {
    flex-direction: column;
  }
  .single-post .single-post-header-left .share-date-row .wp-block-post-date {
    border-right: 0;
    border-top: 1px solid;
    border-bottom: 1px solid;
    display: block;
    width: 100%;
    text-align: center;
    padding: 16px 0;
  }
}
.single-post .post-subtitle {
  font-size: var(--wp--preset--font-size--x-large);
  line-height: 1.5em;
}
.single-post .post-authors-date {
  overflow-x: scroll;
}
.single-post .post-authors-date .pb-author-block:has(+ .wp-block-post-date) {
  border-right: 1px solid;
  padding-right: var(--wp--preset--spacing--40);
}
.single-post .entry-content > figure {
  max-width: 100%;
  margin-block-start: var(--wp--preset--spacing--40);
}
.single-post .entry-content > figure figcaption {
  font-size: 14px;
  color: #666666;
}
.single-post .entry-content > blockquote {
  border-left: 8px solid var(--wp--preset--color--orange);
  margin-left: 0;
  padding-left: var(--wp--preset--spacing--24);
  font-family: var(--wp--preset--font-family--freeman);
  font-size: 24px;
  line-height: 1.33;
}
.single-post .pb-reviews-container {
  /* BUY Button */
}
.single-post .pb-reviews-container .pb-reviews-header {
  margin-bottom: 12px;
  font-size: var(--wp--preset--font-size--base);
}
.single-post .pb-reviews-container .pb-review-item {
  font-size: var(--wp--preset--font-size--base);
  max-width: 260px;
  margin-bottom: var(--wp--preset--spacing--72);
}
.single-post .pb-reviews-container .pb-review-item .pb-review-image img {
  max-width: 100%;
  height: auto;
}
.single-post .pb-reviews-container .pb-review-item .pb-review-title {
  margin: 4px 0;
}
.single-post .pb-reviews-container .pb-review-item + p {
  margin: 0;
}
@media (max-width: 782px) {
  .single-post .pb-reviews-container .pb-review-item {
    max-width: none;
    display: flex;
    gap: 24px;
  }
  .single-post .pb-reviews-container .pb-review-item .pb-review-image {
    flex: 0 1 116px;
  }
  .single-post .pb-reviews-container .pb-review-item:last-of-type {
    margin-bottom: 0;
  }
}
.single-post .pb-reviews-container .pb-review-buy-btn {
  display: inline-block;
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
  font-family: var(--wp--preset--font-family--freeman);
  font-size: var(--wp--preset--font-size--base);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 6px 8px;
  transition: all 0.2s ease;
}
.single-post .pb-reviews-container .pb-review-buy-btn:hover {
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--contrast);
}
.single-post .pb-article-addl-content, .single-post .post-credits {
  margin: var(--wp--preset--spacing--40) 0;
  border-top: 1px solid;
  border-bottom: 1px solid;
}
.single-post .post-credits {
  padding: 8px 0;
  font-size: 16px;
}
.single-post .wp-block-footnotes {
  margin-top: var(--wp--preset--spacing--40);
}
.single-post ol.wp-block-footnotes, .single-post div.wp-block-footnotes.legacy-footnotes > ol {
  padding-left: 16px;
  font-size: 14px;
  line-height: 22px;
  margin-bottom: 0;
}
.single-post ol.wp-block-footnotes:before, .single-post div.wp-block-footnotes.legacy-footnotes > ol:before {
  content: "Footnotes:";
  display: block;
  font-family: var(--wp--preset--font-family--freeman);
  font-size: var(--wp--preset--font-size--base);
  margin-bottom: 8px;
  margin-left: -16px;
}

/**
 * Author page
 */
.single-pbauthor .author-img {
  max-width: 280px;
}
.single-pbauthor .pb-author-writings-list .wp-block-columns {
  border-top: 1px solid;
}
.single-pbauthor .pb-author-writings-list .wp-block-columns .column-content {
  flex: 1 1 65%;
}
.single-pbauthor .pb-author-writings-list .wp-block-columns .column-featured-image {
  flex: 1 1 35%;
}
.single-pbauthor .pb-author-writings-list .top-3 {
  display: flex;
  gap: var(--wp--preset--spacing--40);
}
.single-pbauthor .pb-author-writings-list .top-3 .wp-block-columns {
  border-top: 0;
  flex-direction: column;
  margin-top: 0;
}
.single-pbauthor .pb-author-writings-list .top-3 > .wp-block-post:first-child {
  flex: 1 1 65%;
}
.single-pbauthor .pb-author-writings-list .top-3 .top-2-3 {
  flex: 1 1 35%;
}
.single-pbauthor .pb-author-writings-list .top-3 .top-2-3 .wp-block-post-excerpt {
  display: none;
}
.single-pbauthor .pb-author-writings-list .top-3 .taxonomy-category {
  margin-top: 0;
}
.single-pbauthor .pb-author-writings-list .top-3 + .wp-block-post .wp-block-columns {
  border-top: 0;
}

/**
 * share
 */
.pb-share-container {
  display: inline-flex;
  gap: 16px;
  align-items: center;
}
.pb-share-container:before {
  content: "Share";
  font-size: 16px;
  font-family: var(--wp--preset--font-family--freeman);
}

.pb-share-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: var(--wp--preset--spacing--16);
  align-items: center;
  /* Show Tooltip when JS adds 'copied' class */
}
.pb-share-list .pb-share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: var(--wp--preset--color--oat);
  color: black;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  border: 0;
  position: relative;
  outline: none;
}
.pb-share-list .pb-share-btn:hover, .pb-share-list .pb-share-btn:focus {
  background-color: var(--wp--preset--color--orange);
  color: white;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.pb-share-list .pb-share-btn.pb-facebook:hover {
  background-color: #1877F2;
  color: #fff;
}
.pb-share-list .pb-share-btn.pb-linkedin:hover {
  background-color: #0A66C2;
  color: #fff;
}
.pb-share-list .pb-share-btn.pb-copy-link:hover {
  background-color: #333;
  color: #fff;
}
.pb-share-list .pb-icon svg {
  display: block;
  width: 20px;
  height: 20px;
}
.pb-share-list .pb-tooltip {
  position: absolute;
  bottom: 110%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  background-color: #222;
  color: #fff;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: bold;
  border-radius: 4px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  white-space: nowrap;
  pointer-events: none;
  z-index: 10;
}
.pb-share-list .pb-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #222 transparent transparent transparent;
}
.pb-share-list .pb-copy-link.copied .pb-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

/**
 * add title underline when feature image is hovered
 */
.wp-block-query .wp-block-post-featured-image:hover + .taxonomy-category + .wp-block-post-title,
.wp-block-query .featured-quote-image-block:has(.pb-image-wrapper):hover + .taxonomy-category + .wp-block-post-title,
.related-post-item.is-featured .post-thumbnail-wrapper:hover + .post-content > .wp-block-post-title,
.wp-block-query .wp-block-post .wp-block-column:first-child:hover + .wp-block-column > .wp-block-post-title,
.related-reading .wp-block-column:first-child:hover + .wp-block-column > .wp-block-post-title {
  text-decoration: underline;
}

/* Define local variables or map to your Theme.json variables */
.newsletter-form {
  --nf-gap: 1.5rem;
  --nf-border-color: #ccc;
  --nf-border-focus: #000;
  --nf-bg: #fff;
  --nf-text: #333;
  --nf-btn-bg: #000;
  --nf-btn-text: #fff;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--nf-gap);
  /* Structure */
  /* The Button */
  /* Utility to hide the spam trap safely */
}
.newsletter-form .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr; /* Side by side names */
  gap: var(--nf-gap);
}
@media (max-width: 600px) {
  .newsletter-form .form-row {
    grid-template-columns: 1fr; /* Stack on mobile */
  }
}
.newsletter-form .form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.newsletter-form .form-group label {
  font-size: 0.875rem;
  color: var(--nf-text);
}
.newsletter-form .form-group label .required {
  color: #d32f2f;
  margin-left: 2px;
}
.newsletter-form .form-group input {
  appearance: none;
  background-color: var(--nf-bg);
  border: 1px solid var(--nf-border-color);
  border-radius: 4px; /* Slight rounded corner */
  padding: 12px 16px;
  font-size: 1rem;
  transition: border-color 0.2s ease;
}
.newsletter-form .form-group input:focus {
  outline: none;
  border-color: var(--nf-border-focus);
  box-shadow: 0 0 0 1px var(--nf-border-focus);
}
.newsletter-form .btn-submit {
  display: inline-block;
  width: 100%;
  background-color: var(--nf-btn-bg);
  color: var(--nf-btn-text);
  padding: 14px 24px;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: opacity 0.2s ease;
}
.newsletter-form .btn-submit:hover {
  opacity: 0.85;
}
.newsletter-form .form-honeypot {
  position: absolute;
  left: -9999px;
  visibility: hidden;
}
