/**
 * Follica content-only isolation.
 * Does NOT touch header, footer, or site-wide #page layout.
 * Reverts theme styles inside #follica-page, then Follica CSS restyles it.
 */

body.follica-template {
  --plum-950: #250929;
  --plum-900: #321038;
  --plum-850: #3b1642;
  --plum-800: #46184e;
  --gold: #c49a4d;
  --gold-light: #ddbd77;
  --cream: #f6f1e8;
  --cream-2: #eee2cb;
  --white: #fffdf9;
  --ink: #322f30;
  --muted: #6e6867;
  --line: rgba(67, 27, 73, 0.22);
  --serif: "Cormorant Garamond", "EB Garamond", Georgia, serif;
  --sans: "Source Sans 3", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --max: 1920px;
  --half: 960px;
  --max-narrow: 1536px;
  --half-narrow: 768px;
  --pad-y: clamp(40px, 5vw, 72px);
  --pad-x: clamp(20px, 3vw, 40px);
}

body.follica-template .entry-content,
body.follica-template .post-content,
body.follica-template .post-area,
body.follica-template .main-content,
body.follica-template .container-wrap,
body.follica-template #content,
body.follica-template #content.site-content > .ast-container,
body.follica-template #primary,
body.follica-template .site-main,
body.follica-template .main-content > .row,
body.follica-template .main-content .col,
body.follica-template .main-content .span_12,
body.follica-template article.page,
body.follica-template article.post {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  background: transparent !important;
}

/* Astra makes .ast-container a flex row on desktop. */
body.follica-template #content.site-content > .ast-container {
  display: block !important;
}

body.follica-template .page-title,
body.follica-template .entry-header,
body.follica-template .breadcrumb,
body.follica-template .breadcrumbs,
body.follica-template #page-header-bg,
body.follica-template .nectar-page-header {
  display: none !important;
}

/* Strip Salient/author styles inside Follica only (header/footer untouched). */
#follica-root #follica-page,
#follica-root #follica-page *,
#follica-root #follica-page *::before,
#follica-root #follica-page *::after {
  all: revert !important;
}

#follica-root #follica-page {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  isolation: isolate !important;
  overflow-x: clip !important;
  box-sizing: border-box !important;
  background: var(--cream) !important;
  color: var(--ink) !important;
  font-family: var(--sans) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  -webkit-font-smoothing: antialiased !important;
}

#follica-root #follica-page *,
#follica-root #follica-page *::before,
#follica-root #follica-page *::after {
  box-sizing: border-box !important;
}

/*
 * #masthead is position:fixed and body has padding-top to clear it.
 * follica-page.js sets --follica-header-height (header height) and
 * --follica-header-gap (any part of the header not covered by body padding).
 */
#follica-root #follica-page .block--screen {
  margin-top: var(--follica-header-gap, 0px) !important;
  height: calc(100svh - var(--follica-header-height, 120px)) !important;
  min-height: calc(100svh - var(--follica-header-height, 120px)) !important;
  max-height: calc(100svh - var(--follica-header-height, 120px)) !important;
  padding-top: 0 !important;
}

@media (max-width: 1023px) {
  #follica-root #follica-page .block--screen {
    height: calc(100svh - var(--follica-header-height, 110px)) !important;
    min-height: calc(100svh - var(--follica-header-height, 110px)) !important;
    max-height: calc(100svh - var(--follica-header-height, 110px)) !important;
  }
}

#follica-root #follica-page img {
  border: 0 !important;
  display: block !important;
}

#follica-root #follica-page button {
  font: inherit !important;
  color: inherit !important;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
}

#follica-root #follica-page a {
  color: inherit !important;
}

#follica-root #follica-page p,
#follica-root #follica-page h1,
#follica-root #follica-page h2,
#follica-root #follica-page h3,
#follica-root #follica-page h4,
#follica-root #follica-page h5,
#follica-root #follica-page h6,
#follica-root #follica-page ul,
#follica-root #follica-page ol,
#follica-root #follica-page figure {
  margin: 0 !important;
  padding: 0 !important;
}

#follica-root #follica-page h1,
#follica-root #follica-page h2,
#follica-root #follica-page h3,
#follica-root #follica-page h4,
#follica-root #follica-page h5,
#follica-root #follica-page h6 {
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* Visit panels are rendered in the template; follica-page.js toggles [hidden]. */
#follica-root #follica-page .visit-panel[hidden] {
  display: none !important;
}
