/* Ganjier Guild brand theme for MkDocs Material
 *
 * Brand palette
 *  Honey      #fcb240 — primary accent / CTA
 *  Mint       #86ccaa — secondary / success
 *  Lavender   #9c66aa — tertiary / links
 *  Mocha      #524235 — primary text / dark surface
 *
 * Typography
 *  Headlines  Covik Sans (fallback: Source Sans 3, system stack)
 *  Body       Source Sans 3 / Abadi MT Pro fallback / system stack
 */

/* --------- Light scheme: ganjier-light --------- */
[data-md-color-scheme="ganjier-light"] {
  --md-primary-fg-color:           #524235;  /* Mocha for header bar */
  --md-primary-fg-color--light:    #6b5645;
  --md-primary-fg-color--dark:     #3a2e25;
  --md-primary-bg-color:           #ffffff;
  --md-primary-bg-color--light:    rgba(255, 255, 255, 0.7);

  --md-accent-fg-color:            #9c66aa;  /* Lavender for links */
  --md-accent-fg-color--transparent: rgba(156, 102, 170, 0.1);
  --md-accent-bg-color:            #ffffff;
  --md-accent-bg-color--light:     #ffffff;

  --md-default-fg-color:           #524235;
  --md-default-fg-color--light:    rgba(82, 66, 53, 0.75);
  --md-default-fg-color--lighter:  rgba(82, 66, 53, 0.45);
  --md-default-fg-color--lightest: rgba(82, 66, 53, 0.07);

  --md-default-bg-color:           #fdfaf6;
  --md-default-bg-color--light:    rgba(253, 250, 246, 0.7);
  --md-default-bg-color--lighter:  rgba(253, 250, 246, 0.3);
  --md-default-bg-color--lightest: rgba(253, 250, 246, 0.12);

  --md-code-fg-color:              #524235;
  --md-code-bg-color:              #f4ede2;
  --md-code-hl-color:              rgba(252, 178, 64, 0.35);

  --md-typeset-color:              #524235;
  --md-typeset-a-color:            #9c66aa;
  --md-typeset-mark-color:         rgba(252, 178, 64, 0.45);

  --md-admonition-fg-color:        #524235;
  --md-admonition-bg-color:        #ffffff;

  --md-footer-bg-color:            #524235;
  --md-footer-bg-color--dark:      #3a2e25;
  --md-footer-fg-color:            #fdfaf6;
  --md-footer-fg-color--light:     rgba(253, 250, 246, 0.85);
  --md-footer-fg-color--lighter:   rgba(253, 250, 246, 0.55);
}

/* --------- Dark scheme: slate (Material default, brand-tinted) --------- */
[data-md-color-scheme="slate"] {
  --md-primary-fg-color:           #1f1813;
  --md-primary-fg-color--light:    #2c241d;
  --md-primary-fg-color--dark:     #14100c;
  --md-accent-fg-color:            #fcb240;  /* Honey accent in dark mode */
  --md-accent-fg-color--transparent: rgba(252, 178, 64, 0.15);
  --md-default-bg-color:           #14100c;
  --md-typeset-a-color:            #fcb240;
}

/* --------- Logo and brand element treatment --------- */
.md-header__button.md-logo img,
.md-header__button.md-logo svg {
  height: 1.6rem;
  width: auto;
}

/* Header tab labels — slightly tighter and brand-feel */
.md-tabs__link {
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* Active tab gets honey underline */
.md-tabs__item--active > .md-tabs__link {
  color: #fcb240;
}

/* --------- Content treatments --------- */

/* Headings: tighter, slightly more weight, mocha */
.md-typeset h1 {
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #524235;
  border-bottom: 2px solid #fcb240;
  padding-bottom: 0.4rem;
  margin-bottom: 1.2rem;
}

[data-md-color-scheme="slate"] .md-typeset h1 {
  color: #fdfaf6;
  border-bottom-color: #fcb240;
}

.md-typeset h2 {
  font-weight: 700;
  letter-spacing: -0.005em;
  margin-top: 2.2rem;
}

.md-typeset h3 {
  font-weight: 600;
  color: #6b5646;
}

[data-md-color-scheme="slate"] .md-typeset h3 {
  color: #c9b8a4;
}

/* Block-quotes: lavender left rule */
.md-typeset blockquote {
  border-left: 3px solid #9c66aa;
  background: rgba(156, 102, 170, 0.06);
  padding: 0.5rem 1rem;
  border-radius: 0 4px 4px 0;
}

[data-md-color-scheme="slate"] .md-typeset blockquote {
  background: rgba(156, 102, 170, 0.12);
}

/* Tables: warmer header background */
.md-typeset table:not([class]) th {
  background: #524235;
  color: #fdfaf6;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.md-typeset table:not([class]) tr:nth-child(even) {
  background: rgba(252, 178, 64, 0.04);
}

/* Inline code: warm tint */
.md-typeset code {
  background: rgba(252, 178, 64, 0.12);
  color: #6b4a1f;
  border: 1px solid rgba(252, 178, 64, 0.2);
  border-radius: 3px;
  padding: 0.1em 0.35em;
}

[data-md-color-scheme="slate"] .md-typeset code {
  background: rgba(252, 178, 64, 0.15);
  color: #fcb240;
  border-color: rgba(252, 178, 64, 0.25);
}

/* Admonition tinting */
.md-typeset .admonition.note,
.md-typeset details.note {
  border-color: #86ccaa;
}

.md-typeset .admonition.note > .admonition-title,
.md-typeset details.note > summary {
  background: rgba(134, 204, 170, 0.15);
  border-color: #86ccaa;
}

.md-typeset .admonition.note > .admonition-title::before,
.md-typeset details.note > summary::before {
  background-color: #86ccaa;
}

.md-typeset .admonition.warning,
.md-typeset details.warning {
  border-color: #fcb240;
}

.md-typeset .admonition.warning > .admonition-title,
.md-typeset details.warning > summary {
  background: rgba(252, 178, 64, 0.15);
  border-color: #fcb240;
}

/* Search input: honey focus ring */
[data-md-toggle="search"]:checked ~ .md-header .md-search__input,
.md-search__input:focus {
  border-color: #fcb240;
}

/* Footer: keep mocha; lavender link tint on hover */
.md-footer-meta a:hover,
.md-footer__inner a:hover {
  color: #fcb240;
}

/* Hide the last-updated noise on landing pages where it doesn't help */
.md-source-file__fact,
.md-source-file {
  font-size: 0.7rem;
  opacity: 0.7;
}

/* Sidebar navigation: warmer hover */
.md-nav__link:hover {
  color: #9c66aa;
}

.md-nav__item--active > .md-nav__link,
.md-nav__link--active {
  color: #fcb240;
  font-weight: 600;
}

/* Add a touch of personality to the landing page brand mark */
.md-typeset img.brandmark {
  max-width: 320px;
  margin: 0 auto;
  display: block;
}

/* Better type scale for body */
.md-typeset {
  font-size: 0.85rem;
  line-height: 1.65;
}

/* --------- Fill-in-the-blank form layer --------- */

.fillable-field-wrap {
  display: inline-block;
  margin: 0 1px;
}

input.fillable-field {
  font: inherit;
  color: #524235;
  background: rgba(252, 178, 64, 0.10);
  border: none;
  border-bottom: 1px dashed #9c66aa;
  padding: 0 4px;
  margin: 0;
  min-width: 90px;
  width: auto;
  box-shadow: none;
  border-radius: 2px 2px 0 0;
  vertical-align: baseline;
  transition: background 0.15s ease, border-color 0.15s ease;
}

input.fillable-field:hover {
  background: rgba(252, 178, 64, 0.18);
}

input.fillable-field:focus {
  outline: none;
  background: rgba(252, 178, 64, 0.25);
  border-bottom-color: #fcb240;
  border-bottom-width: 2px;
}

input.fillable-field::placeholder {
  color: rgba(82, 66, 53, 0.5);
  font-style: italic;
}

[data-md-color-scheme="slate"] input.fillable-field {
  color: #fdfaf6;
  background: rgba(252, 178, 64, 0.12);
  border-bottom-color: #c794d6;
}

[data-md-color-scheme="slate"] input.fillable-field::placeholder {
  color: rgba(253, 250, 246, 0.45);
}

.fill-toolbar-banner {
  background: rgba(134, 204, 170, 0.12) !important;
  border-color: #86ccaa !important;
  margin: 1.5rem 0 !important;
}

.fill-toolbar-banner > .admonition-title::before {
  background-color: #86ccaa !important;
}

.fill-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(82, 66, 53, 0.15);
}

.fill-btn {
  font: inherit;
  font-weight: 600;
  font-size: 0.85rem;
  background: #fcb240;
  color: #524235;
  border: none;
  padding: 0.6rem 1.2rem;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.05s ease;
  letter-spacing: 0.01em;
}

.fill-btn:hover {
  background: #ffc46a;
}

.fill-btn:active {
  transform: translateY(1px);
}

.fill-btn--primary {
  background: #524235;
  color: #fdfaf6;
}

.fill-btn--primary:hover {
  background: #6b5645;
}

.fill-btn--ghost {
  background: transparent;
  color: #524235;
  border: 1px solid rgba(82, 66, 53, 0.3);
}

.fill-btn--ghost:hover {
  background: rgba(82, 66, 53, 0.05);
}

[data-md-color-scheme="slate"] .fill-btn--ghost {
  color: #fdfaf6;
  border-color: rgba(253, 250, 246, 0.3);
}

[data-md-color-scheme="slate"] .fill-btn--ghost:hover {
  background: rgba(253, 250, 246, 0.05);
}

/* --------- Role hub tiles --------- */

.hub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1rem;
  margin: 1.2rem 0 2rem;
}

.hub-tile {
  display: block;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(82, 66, 53, 0.15);
  border-left: 3px solid #fcb240;
  border-radius: 6px;
  background: #fdfaf6;
  color: #524235 !important;
  text-decoration: none !important;
  transition: all 0.15s ease;
  font-size: 0.85rem;
  line-height: 1.45;
  box-shadow: 0 1px 2px rgba(82, 66, 53, 0.04);
}

.hub-tile:hover {
  border-color: #fcb240;
  background: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(82, 66, 53, 0.10);
  color: #524235 !important;
}

.hub-tile strong {
  display: block;
  color: #524235;
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
  letter-spacing: -0.005em;
}

[data-md-color-scheme="slate"] .hub-tile {
  background: #1f1813;
  border-color: rgba(253, 250, 246, 0.15);
  border-left-color: #fcb240;
  color: #fdfaf6 !important;
}

[data-md-color-scheme="slate"] .hub-tile:hover {
  background: #2c241d;
  border-color: #fcb240;
  color: #fdfaf6 !important;
}

[data-md-color-scheme="slate"] .hub-tile strong {
  color: #fdfaf6;
}

/* Cycle accent colors across tiles for visual rhythm */
.hub-grid .hub-tile:nth-child(4n+2) { border-left-color: #86ccaa; }
.hub-grid .hub-tile:nth-child(4n+3) { border-left-color: #9c66aa; }
.hub-grid .hub-tile:nth-child(4n+4) { border-left-color: #524235; }

/* Hub pages: tighten H2 spacing because tile sections come fast */
.md-typeset .hub-grid + h2 {
  margin-top: 2.5rem;
}

/* ============================================================
 *  GuildCommerce Showcase Layer — appended 2026-05-09
 *  Pulls in tokens from gc-tokens.css and elevates typography,
 *  surfaces, and content cards to match the Phase 7 home page.
 * ============================================================ */

/* Body type → DM Sans, headline type → Inter Tight */
.md-typeset {
  font-family: var(--gc-font-body, "DM Sans", system-ui, sans-serif);
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4,
.md-typeset h5,
.md-typeset h6 {
  font-family: var(--gc-font-display, "Inter Tight", system-ui, sans-serif);
  letter-spacing: -0.015em;
}

.md-typeset h1 {
  font-weight: 700;
  font-size: 2.1rem;
  line-height: 1.15;
}

.md-typeset h2 {
  font-weight: 700;
  font-size: 1.55rem;
  line-height: 1.2;
}

/* Page background → warm cream (matches Phase 7 --gc-bg) */
[data-md-color-scheme="ganjier-light"] {
  --md-default-bg-color: var(--gc-bg, #FBF8F2);
}

/* Primary content surface card on long pages */
.md-content {
  background: transparent;
}

/* Tables: subtle card frame so they feel like Phase 7 pricing/comparison cards */
.md-typeset table:not([class]) {
  border: 1px solid var(--gc-card-border, #E6E1DA);
  border-radius: var(--gc-radius-md, 8px);
  overflow: hidden;
  box-shadow: var(--gc-shadow-sm, 0 1px 2px rgba(82,66,53,0.06));
}

.md-typeset table:not([class]) th {
  border-top: none;
}

/* Admonitions: softer cards with Phase 7 shadow */
.md-typeset .admonition,
.md-typeset details {
  border-radius: var(--gc-radius-md, 8px);
  box-shadow: var(--gc-shadow-card, 0 1px 3px rgba(82,66,53,0.10));
  border-width: 1px;
  border-left-width: 4px;
}

/* Buttons (Material `.md-button` and the `.fill-btn`) → Phase 7 honey CTA */
.md-typeset .md-button {
  background: var(--gc-honey, #FCB240);
  color: var(--gc-mocha, #524235);
  border: 1px solid var(--gc-honey, #FCB240);
  border-radius: var(--gc-radius-md, 8px);
  font-weight: 600;
  letter-spacing: 0.01em;
  padding: 0.65rem 1.3rem;
  transition: background var(--gc-dur, 180ms) var(--gc-ease, ease),
              transform var(--gc-dur, 180ms) var(--gc-ease, ease),
              box-shadow var(--gc-dur, 180ms) var(--gc-ease, ease);
  box-shadow: var(--gc-shadow-card, 0 1px 3px rgba(82,66,53,0.10));
}

.md-typeset .md-button:hover {
  background: var(--gc-honey-80, #fdc066);
  border-color: var(--gc-honey-80, #fdc066);
  transform: translateY(-1px);
  box-shadow: var(--gc-shadow-elevated, 0 4px 12px rgba(82,66,53,0.12));
  color: var(--gc-mocha, #524235);
}

.md-typeset .md-button--primary {
  background: var(--gc-mocha, #524235);
  color: var(--gc-bg, #FBF8F2);
  border-color: var(--gc-mocha, #524235);
}

.md-typeset .md-button--primary:hover {
  background: var(--gc-mocha-90, #645448);
  border-color: var(--gc-mocha-90, #645448);
  color: var(--gc-bg, #FBF8F2);
}

/* Top-tab bar on the showcase landing → mocha with honey active underline (already mostly there) */
.md-tabs {
  background: var(--gc-mocha, #524235);
}

/* Header brand area: tighten spacing for showcase feel */
.md-header__title {
  font-family: var(--gc-font-display, "Inter Tight", system-ui, sans-serif);
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* Footer: layered mocha with subtle honey accent rule */
.md-footer-meta {
  border-top: 3px solid var(--gc-honey, #FCB240);
}
