/* ===== FONTS ===== */
@import url('https://fonts.googleapis.com/css2?family=Amiri:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,400;0,700;1,400&display=swap');

/* ===== PALETTE — ANDALUSIAN NIGHT ===== */
/* Deep forest green + parchment + dark goldenrod */
:root {
  --md-primary-fg-color:        #1b3a2a;
  --md-primary-fg-color--light: #2e6b4f;
  --md-primary-fg-color--dark:  #0f2518;
  --md-accent-fg-color:         #b8860b;

  /* Parchment page background */
  --md-default-bg-color:        #f7f2e8;
  --md-default-fg-color:        #1c1008;

  /* Gold accent */
  --gold:       #b8860b;
  --gold-light: #d4a830;
  --gold-dark:  #8b6508;

  /* Reciter colors */
  --reciter-nafi:      #1b5e20;
  --reciter-ibn-kathir:#0d47a1;
  --reciter-abu-amr:   #4a148c;
  --reciter-ibn-amir:  #b71c1c;
  --reciter-asim:      #bf360c;
  --reciter-hamzah:    #311b92;
  --reciter-kisai:     #004d40;
}

/* Apply parchment background to the main content area */
.md-content, .md-main {
  background-color: var(--md-default-bg-color);
}

/* ===== ARABIC TEXT STYLING ===== */
.arabic, [lang="ar"] {
  font-family: 'Amiri', serif !important;
  font-size: 1.3em;
  line-height: 2;
  direction: rtl;
}

.md-typeset p, .md-typeset li, .md-typeset td {
  font-family: 'Noto Serif', 'Amiri', serif;
}

.md-typeset table td {
  font-size: 0.85rem;
}

/* ===== HEADER ===== */
.md-header {
  background-color: var(--md-primary-fg-color--dark);
  border-bottom: 3px solid var(--gold);
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

/* ===== PAGE TITLE STYLING ===== */
.md-typeset h1 {
  font-family: 'Noto Serif', serif;
  color: var(--md-primary-fg-color--dark);
  border-bottom: 2px solid var(--gold);
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  font-weight: 700;
}

.md-typeset h2 {
  color: var(--md-primary-fg-color);
  border-left: 4px solid var(--gold);
  padding-left: 0.75em;
  margin-top: 2em;
}

.md-typeset h3 {
  color: var(--md-primary-fg-color--light);
  font-style: italic;
}

/* ===== LAYOUT: WIDEN CONTENT AREA, SLIM SIDEBARS ===== */
.md-grid { max-width: 1600px; }
.md-content { max-width: 100%; }

/* Sidebar width overrides — ONLY on screens wide enough to show sidebars */
@media screen and (min-width: 60em) {
  [dir=ltr] .md-sidebar--primary { width: 14rem; }
}
@media screen and (min-width: 76.25em) {
  [dir=ltr] .md-sidebar--secondary { width: 13rem; }
}

/* Tables: enable horizontal scroll gracefully rather than breaking layout */
.md-typeset .md-content table,
.md-typeset table {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

/* Slightly tighter table font for dense data tables */
.md-typeset table:not([class]) {
  font-size: 0.78rem;
}

/* Ensure rawi-card divs don't overflow */
.rawi-card {
  overflow-x: auto;
}

/* ===== TABLE STYLING ===== */
.md-typeset table:not([class]) {
  border: 1px solid var(--md-primary-fg-color--light);
  border-radius: 8px;
  overflow-x: auto;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.md-typeset table:not([class]) thead {
  background: linear-gradient(135deg, var(--md-primary-fg-color), var(--md-primary-fg-color--dark));
}

.md-typeset table:not([class]) thead th {
  color: #f2e8d0 !important;
  font-weight: 600;
  padding: 0.75em 1em;
  border-bottom: 2px solid var(--gold);
}

.md-typeset table:not([class]) tbody tr:nth-child(even) {
  background-color: rgba(27, 58, 42, 0.04);
}

.md-typeset table:not([class]) tbody tr:hover {
  background-color: rgba(184, 134, 11, 0.08);
}

.md-typeset table:not([class]) td {
  padding: 0.6em 1em;
  border-bottom: 1px solid rgba(27, 58, 42, 0.12);
}

/* ===== HOMEPAGE TOC STYLING ===== */
.toc-part {
  margin: 1.5em 0 0.5em;
  font-family: 'Noto Serif', serif;
  font-size: 0.75em;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold-dark);
  border-bottom: 1px solid var(--gold);
  padding-bottom: 0.3em;
}

.toc-reciter {
  margin: 0.75em 0 0.2em 1em;
  font-weight: 700;
  font-size: 0.95em;
  color: var(--md-primary-fg-color--dark);
}

.toc-chapter {
  display: block;
  margin: 0.1em 0 0.1em 2em;
  font-size: 0.9em;
  color: var(--md-primary-fg-color);
  text-decoration: none;
}

.toc-chapter:hover {
  color: var(--gold-dark);
  text-decoration: underline;
}

/* ===== ADMONITION CUSTOMIZATION ===== */
.md-typeset .admonition.nafi,
.md-typeset details.nafi {
  border-color: var(--reciter-nafi);
}
.md-typeset .nafi > .admonition-title,
.md-typeset .nafi > summary {
  background-color: rgba(27, 94, 32, 0.08);
  border-color: var(--reciter-nafi);
}

.md-typeset .admonition.ibn-kathir,
.md-typeset details.ibn-kathir {
  border-color: var(--reciter-ibn-kathir);
}
.md-typeset .ibn-kathir > .admonition-title,
.md-typeset .ibn-kathir > summary {
  background-color: rgba(13, 71, 161, 0.08);
  border-color: var(--reciter-ibn-kathir);
}

.md-typeset .admonition.abu-amr,
.md-typeset details.abu-amr {
  border-color: var(--reciter-abu-amr);
}
.md-typeset .abu-amr > .admonition-title,
.md-typeset .abu-amr > summary {
  background-color: rgba(74, 20, 140, 0.08);
  border-color: var(--reciter-abu-amr);
}

.md-typeset .admonition.ibn-amir,
.md-typeset details.ibn-amir {
  border-color: var(--reciter-ibn-amir);
}
.md-typeset .ibn-amir > .admonition-title,
.md-typeset .ibn-amir > summary {
  background-color: rgba(183, 28, 28, 0.08);
  border-color: var(--reciter-ibn-amir);
}

.md-typeset .admonition.asim,
.md-typeset details.asim {
  border-color: var(--reciter-asim);
}
.md-typeset .asim > .admonition-title,
.md-typeset .asim > summary {
  background-color: rgba(191, 54, 12, 0.08);
  border-color: var(--reciter-asim);
}

.md-typeset .admonition.hamzah-reciter,
.md-typeset details.hamzah-reciter {
  border-color: var(--reciter-hamzah);
}
.md-typeset .hamzah-reciter > .admonition-title,
.md-typeset .hamzah-reciter > summary {
  background-color: rgba(49, 27, 146, 0.08);
  border-color: var(--reciter-hamzah);
}

.md-typeset .admonition.kisai,
.md-typeset details.kisai {
  border-color: var(--reciter-kisai);
}
.md-typeset .kisai > .admonition-title,
.md-typeset .kisai > summary {
  background-color: rgba(0, 77, 64, 0.08);
  border-color: var(--reciter-kisai);
}

/* ===== MATN LINE REFERENCE ===== */
.matn-ref {
  font-size: 0.8em;
  color: var(--gold-dark);
  font-style: italic;
}

/* ===== CONFIDENCE MARKERS ===== */
.confidence-slide {
  background: #2e7d32;
  color: white;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 0.75em;
  font-weight: 600;
}
.confidence-matn {
  background: #1565c0;
  color: white;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 0.75em;
  font-weight: 600;
}
.confidence-unverified {
  background: #bf360c;
  color: white;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 0.75em;
  font-weight: 600;
}
.confidence-quarantine {
  background: #b71c1c;
  color: white;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 0.75em;
  font-weight: 600;
}

/* ===== GEOMETRIC DIVIDER ===== */
.md-typeset hr {
  border: none;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='20' viewBox='0 0 40 20'%3E%3Cpath d='M20 0L30 10L20 20L10 10Z' fill='none' stroke='%23b8860b' stroke-width='1'/%3E%3Cpath d='M0 10L10 0' fill='none' stroke='%23b8860b' stroke-width='0.5'/%3E%3Cpath d='M30 0L40 10' fill='none' stroke='%23b8860b' stroke-width='0.5'/%3E%3Cpath d='M0 10L10 20' fill='none' stroke='%23b8860b' stroke-width='0.5'/%3E%3Cpath d='M30 20L40 10' fill='none' stroke='%23b8860b' stroke-width='0.5'/%3E%3C/svg%3E") repeat-x center;
  margin: 2em 0;
  opacity: 0.6;
}

/* ===== DARK MODE ===== */
[data-md-color-scheme="slate"] {
  --md-primary-fg-color:        #2e6b4f;
  --md-primary-fg-color--light: #4a9970;
  --md-primary-fg-color--dark:  #1b3a2a;
  --md-default-bg-color:        #1a1f18;
  --gold:       #d4a830;
  --gold-light: #e8c85a;
  --gold-dark:  #b8860b;
}

[data-md-color-scheme="slate"] .md-typeset h1 {
  color: var(--gold-light);
}

[data-md-color-scheme="slate"] .md-typeset h2 {
  color: var(--md-primary-fg-color--light);
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) thead {
  background: linear-gradient(135deg, #1b3a2a, #0f2518);
}

[data-md-color-scheme="slate"] .toc-part {
  color: var(--gold-light);
}

[data-md-color-scheme="slate"] .toc-reciter {
  color: #c8e6c9;
}

[data-md-color-scheme="slate"] .toc-chapter {
  color: #a5d6a7;
}

/* ===== FOOTER ===== */
.md-footer {
  border-top: 2px solid var(--gold);
  background-color: var(--md-primary-fg-color--dark);
}

/* ===== RESPONSIVE — MOBILE ===== */
@media screen and (max-width: 59.9375em) {
  /* Tables: smaller font + tighter padding on narrow screens */
  .md-typeset table:not([class]) {
    font-size: 0.73rem;
  }
  .md-typeset table:not([class]) td,
  .md-typeset table:not([class]) th {
    padding: 0.4em 0.55em;
  }
  .md-typeset table:not([class]) thead th {
    padding: 0.5em 0.55em;
  }

  /* Arabic text: slightly smaller on mobile to avoid horizontal overflow */
  .arabic, [lang="ar"] {
    font-size: 1.1em;
  }

  /* Homepage TOC: reduce indent on small screens */
  .toc-chapter {
    margin-left: 1em;
  }
  .toc-reciter {
    margin-left: 0.5em;
  }

  /* Admonition title: prevent long text wrapping badly */
  .md-typeset .admonition-title,
  .md-typeset summary {
    font-size: 0.85em;
  }

  /* h2 left-border style: reduce padding on mobile */
  .md-typeset h2 {
    padding-left: 0.5em;
  }
}
