/* Custom styles for GIS AI Manual — matching jo-wilkin.github.io */

@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;1,300;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,600;0,700;1,400&display=swap');

/* ----------- Body text ---------------- */

.book.font-family-0,
.book.font-family-1 {
  font-family: 'Source Sans Pro', sans-serif !important;
}

.book .book-body .page-wrapper .page-inner section.normal {
  font-family: 'Source Sans Pro', sans-serif !important;
  color: #3b3b3b;
  line-height: 1.6;
}

.book .book-header,
.book .book-summary {
  font-family: 'Source Sans Pro', sans-serif !important;
}

/* ----------- Headings: Merriweather, normal weight ---------------- */

h1, h2, h3, h4 {
  font-family: 'Merriweather', serif !important;
  font-weight: 400;
  color: #1a1a1a;
  letter-spacing: -0.01em;
}

.title {
  font-family: 'Merriweather', serif !important;
  font-size: 3em !important;
  font-weight: 400;
  color: #1a1a1a;
}

.subtitle {
  font-family: 'Source Sans Pro', sans-serif;
  color: #3b3b3b;
}

/* ----------- Links: burnt orange ---------------- */

a {
  color: #c05e2e;
}

a:hover {
  color: #a04a1e;
}

/* ----------- Background: uniform beige everywhere ---------------- */

body,
.book,
.book .book-body,
.book .book-body .page-wrapper,
.book .book-body .page-wrapper .page-inner,
.book .book-body .page-wrapper .page-inner section,
.book .book-body .page-wrapper .page-inner section.normal {
  background-color: #faf6f1 !important;
}

/* ----------- Captions and code ---------------- */

p.caption {
  color: #777;
  margin-top: 10px;
}

p code {
  white-space: inherit;
}

pre {
  word-break: normal;
  word-wrap: normal;
  background-color: #f4efe8;
  border: 1px solid #e8e0d6;
  border-radius: 3px;
}

pre code {
  white-space: pre-wrap;
}

/* ---- Horizontal line in top navbar ---- */

.summary > li:first-child {
  height: 50px;
  padding-top: 10px;
  border-bottom: 1px solid #e8e0d6;
}

.book .book-summary ul.summary li.divider {
  height: 0px;
}

/* ---- Code Chunks ---- */

.sourceCode pre {
  margin: 0 !important;
}

.sourceCode {
  margin-bottom: 0.85em;
}

/* ---- Sidebar callout boxes — burnt orange palette ---- */

div.puzzle, div.assignment, div.fyi, div.codetime, div.note, div.reading, div.sugreading, div.sds {
  padding: 1em;
  margin: 1em 0;
  min-height: 80px;
  color: #3b3b3b;
  border-radius: 0 4px 4px 0;
}

div.puzzle {
  background-color: #f4efe8;
  border-left: 4px solid #c05e2e;
}

div.assignment {
  border: solid 4px #c05e2e;
  border-radius: 4px;
}

div.fyi {
  background-color: #f4efe8;
  border-left: 4px solid #c05e2e;
}

div.codetime {
  background-color: #f4efe8;
  border-left: 4px solid #888;
}

div.note {
  background-color: #fef9ee;
  border-left: 4px solid #c05e2e;
}

div.reading {
  border: solid 4px #a04a1e;
  border-radius: 4px;
}

/* Tip/Note/Warning boxes */

.tip {
  background-color: #f4efe8;
  border-left: 4px solid #c05e2e;
  padding: 12px 16px;
  margin: 16px 0;
  border-radius: 0 4px 4px 0;
}

.warning {
  background-color: #fef9ee;
  border-left: 4px solid #c05e2e;
  padding: 12px 16px;
  margin: 16px 0;
  border-radius: 0 4px 4px 0;
}

.important {
  background-color: #fce4ec;
  border-left: 4px solid #a04a1e;
  padding: 12px 16px;
  margin: 16px 0;
  border-radius: 0 4px 4px 0;
}

/* ---- TOC sidebar ---- */

.book .book-summary {
  background: #faf6f1;
  border-right: 1px solid #e8e0d6;
}

.summary {
  font-family: 'Source Sans Pro', sans-serif;
}

.summary a {
  color: #3b3b3b !important;
}

.summary a:hover {
  color: #c05e2e !important;
}

.book .book-summary ul.summary li.active>a {
  color: #c05e2e !important;
  border-left: solid 4px;
  border-color: #c05e2e;
  padding-left: 11px !important;
}

li.appendix span, li.part span {
  margin-top: 1em;
  color: #1a1a1a !important;
  opacity: 1 !important;
  text-transform: uppercase;
  font-family: 'Merriweather', serif;
  font-weight: 400;
}

/* ---- Part headers ---- */

.part {
  color: #1a1a1a;
}

/* ---- Image styling ---- */

img {
  max-width: 100%;
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

/* ---- Selection ---- */

::selection {
  background-color: #c05e2e;
  color: #faf6f1;
}

/* ---- Strong text ---- */

strong {
  color: #1a1a1a;
}
