/* Alabrida Notebook Theme — design system ported from homepage-notebook.html prototype */

@font-face { font-family: 'Shadows Into Light Two'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/shadows2.woff2') format('woff2'); }
@font-face { font-family: 'Caveat'; font-style: normal; font-weight: 600; font-display: swap; src: url('fonts/caveat600.woff2') format('woff2'); }
@font-face { font-family: 'Atkinson Hyperlegible Next'; font-style: normal; font-weight: 300; font-display: swap; src: url('fonts/atkinson-next-300.woff2') format('woff2'); }

:root {
  --nb-lh: 2rem;
  --nb-desk: #ece5d3;
  --nb-paper: #f8f4e6;
  --nb-rule: #aec7e2;
  --nb-margin: #e8849f;
  --nb-ink: #2b2921;
  --nb-pen: #1e56a0;
  --nb-red: #c9506e;
  --nb-teal: #36cdc9;
  --nb-teal-dark: #0e7a76;
  --nb-card: #fffdf4;
}

/* desk + paper */
body { background: var(--nb-desk) !important; }
.site-content, .ast-container .site-main article, .hentry {
  background: transparent;
}
body .site {
  color: var(--nb-ink);
}
#content .ast-container, .ast-page-builder-template .site-content #primary {
  background:
    linear-gradient(to right,
      transparent 0, transparent 64px,
      var(--nb-margin) 64px, var(--nb-margin) 66px,
      transparent 66px, transparent 70px,
      var(--nb-margin) 70px, var(--nb-margin) 72px,
      transparent 72px),
    repeating-linear-gradient(to bottom,
      transparent 0, transparent calc(var(--nb-lh) - 1px),
      var(--nb-rule) calc(var(--nb-lh) - 1px), var(--nb-rule) var(--nb-lh)),
    var(--nb-paper);
  border-radius: 2px 6px 6px 2px;
  box-shadow: 0 2px 14px rgba(74, 62, 35, .16);
  padding: var(--nb-lh) 3rem var(--nb-lh) 6.5rem;
  max-width: 1000px;
}
@media (max-width: 680px) {
  #content .ast-container, .ast-page-builder-template .site-content #primary {
    background:
      linear-gradient(to right,
        transparent 0, transparent 30px,
        var(--nb-margin) 30px, var(--nb-margin) 32px,
        transparent 32px, transparent 35px,
        var(--nb-margin) 35px, var(--nb-margin) 37px,
        transparent 37px),
      repeating-linear-gradient(to bottom,
        transparent 0, transparent calc(var(--nb-lh) - 1px),
        var(--nb-rule) calc(var(--nb-lh) - 1px), var(--nb-rule) var(--nb-lh)),
      var(--nb-paper);
    padding-left: 3rem;
    padding-right: 1rem;
  }
}

/* typography */
body, .site-content, .entry-content p, .entry-content li {
  font-family: 'Atkinson Hyperlegible Next', system-ui, sans-serif;
  font-weight: 300;
  color: var(--nb-ink);
  line-height: var(--nb-lh);
}
.entry-content p { margin-bottom: var(--nb-lh); max-width: 68ch; }

h1, .entry-title, h2 {
  font-family: 'Shadows Into Light Two', 'Segoe Script', cursive !important;
  font-weight: 400 !important;
  color: var(--nb-pen) !important;
  text-wrap: balance;
}
h1, .entry-title { font-size: 3rem !important; line-height: calc(var(--nb-lh) * 2) !important; transform: rotate(-3deg); transform-origin: center; }
h2 { font-size: 2.1rem !important; line-height: var(--nb-lh) !important; transform: rotate(-3deg); transform-origin: center; margin-bottom: var(--nb-lh) !important; }
h3 {
  font-family: 'Caveat', 'Segoe Script', cursive !important;
  font-weight: 600 !important;
  color: var(--nb-red) !important;
  font-size: 1.5rem !important;
  line-height: var(--nb-lh) !important;
}

/* links & buttons */
.entry-content a { color: var(--nb-pen); text-decoration-color: color-mix(in srgb, var(--nb-pen) 45%, transparent); text-underline-offset: 3px; }
.wp-block-button__link, .entry-content .button, button, input[type=submit] {
  background: var(--nb-teal) !important; color: #fff !important;
  font-family: system-ui, sans-serif !important; font-size: .78rem !important;
  font-weight: 600 !important; text-transform: uppercase; letter-spacing: .12em;
  border-radius: 3px !important; border: none;
}

/* header / nav */
.site-header, .ast-primary-header-bar, .main-header-bar { background: var(--nb-paper) !important; }
.main-header-menu a, .site-title a { font-family: system-ui, sans-serif; color: var(--nb-ink) !important; }
.main-header-menu .current-menu-item > a { color: var(--nb-pen) !important; }

/* footer */
.site-footer, .ast-footer-copyright { background: var(--nb-desk) !important; color: var(--nb-ink); }

/* script inks (elements tagged by notebook.js) */
.lead-script {
  font-family: 'Shadows Into Light Two', 'Segoe Script', cursive;
  font-weight: 400; font-style: normal; color: var(--nb-pen);
  font-size: 1.3em; letter-spacing: .01em;
}
.lead-script-red {
  font-family: 'Shadows Into Light Two', 'Segoe Script', cursive;
  font-weight: 400; font-style: normal; color: var(--nb-red);
  font-size: 1.3em; letter-spacing: .01em;
}

/* tables (journey mapping table) */
.entry-content table { border-collapse: collapse; background: var(--nb-card); font-size: .88rem; }
.entry-content th, .entry-content td { border: 1px solid var(--nb-rule); padding: .3rem .8rem; line-height: 1.5; }
.entry-content th { font-family: system-ui, sans-serif; font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; color: var(--nb-red); }
.entry-content th:first-child { color: var(--nb-pen); }

/* page-turn: cross-document view transitions (Chromium; others fall back to instant) */
@view-transition { navigation: auto; }
::view-transition-old(root) {
  animation: nb-turn-out .7s cubic-bezier(.45,.05,.2,1) both;
  transform-origin: left center;
}
::view-transition-new(root) { animation: none; }
@keyframes nb-turn-out {
  to { transform: perspective(2200px) rotateY(-100deg); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root) { animation: none !important; }
  h1, .entry-title, h2 { transform: none; }
}
