/* tandembook.com: landing page layout plus a few shared touches. Colours come
   from Material's tokens so both palettes work without a second stylesheet. */

:root {
  --tx-amber: #FBBF24;
  --tx-orange: #F97316;
  --tx-ink: #1A1208;
}

/* Header and tabs in the same ink as the hero; accent is the orange bookmark. */
[data-md-color-primary="custom"] {
  --md-primary-fg-color: #2A1A08;
  --md-primary-fg-color--light: #4A3020;
  --md-primary-fg-color--dark: #1A1208;
  --md-primary-bg-color: #f5ecd9;
  --md-primary-bg-color--light: #e6d9c0;
}
[data-md-color-accent="custom"] {
  --md-accent-fg-color: #F97316;
  --md-accent-fg-color--transparent: rgba(249, 115, 22, 0.1);
  --md-accent-bg-color: #fff;
  --md-accent-bg-color--light: #fff;
}
[data-md-color-scheme="default"] {
  --md-typeset-a-color: #c2410c;
}
[data-md-color-scheme="slate"] {
  --md-typeset-a-color: #fb923c;
}

/* --- Hero ------------------------------------------------------------- */

.tx-hero {
  background: linear-gradient(160deg, var(--tx-ink) 0%, #2A1A08 60%, #3a2410 100%);
  color: #f5ecd9;
  overflow: hidden;
}

.tx-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: center;
  padding: 3rem 1rem 2.5rem;
}

.tx-hero__mark { display: block; margin-bottom: 1rem; }

.tx-hero h1 {
  font-size: clamp(1.9rem, 4vw, 2.8rem);
  line-height: 1.15;
  font-weight: 700;
  margin: 0 0 0.8rem;
  color: var(--tx-amber);
}

.tx-hero__lead {
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 34rem;
  margin: 0 0 1.4rem;
  color: #e6d9c0;
}

.tx-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
}

.tx-btn {
  display: inline-block;
  padding: 0.65em 1.4em;
  border-radius: 6px;
  background-color: var(--tx-orange);
  color: #fff !important;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  transition: background-color 0.15s;
}
.tx-btn:hover {
  background-color: var(--tx-amber);
  color: var(--tx-ink) !important;
}

.tx-hero__play img { display: block; height: 60px; margin: -9px; }

.tx-hero__shots {
  position: relative;
  min-height: 18rem;
}

.tx-shot {
  border-radius: 10px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}
.tx-shot--web {
  width: 88%;
  margin-left: 0;
}
.tx-shot--phone {
  position: absolute;
  right: 0;
  bottom: -1.5rem;
  width: 28%;
  border-radius: 18px;
}

@media screen and (max-width: 59.9375em) {
  .tx-hero__inner {
    grid-template-columns: 1fr;
    padding: 2rem 1rem 3.5rem;
  }
  .tx-hero__shots { min-height: 0; margin-top: 0.5rem; }
}

/* --- Landing body ----------------------------------------------------- */

.tx-landing h2 {
  margin-top: 2.6rem;
}

/* Three numbered steps */
.tx-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  counter-reset: tx-step;
  margin: 1rem 0 0;
}
.tx-step {
  position: relative;
  padding: 1.25rem 1.25rem 1.25rem 3.4rem;
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 10px;
  background: var(--md-code-bg-color);
}
.tx-step::before {
  counter-increment: tx-step;
  content: counter(tx-step);
  position: absolute;
  left: 1.1rem;
  top: 1.15rem;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: var(--tx-orange);
  color: #fff;
  font-weight: 700;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tx-step h3 { margin: 0 0 0.4rem; font-size: 1rem; }
.tx-step p { margin: 0; font-size: 0.85rem; }

/* Feature blocks: text beside a screenshot, alternating sides */
.tx-feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: center;
  margin: 2.2rem 0;
}
.tx-feature:nth-of-type(even) > :first-child { order: 2; }
.tx-feature h3 { margin-top: 0; }
.tx-feature img {
  width: 100%;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}
.tx-feature img.phone {
  width: auto;
  max-height: 30rem;
  margin: 0 auto;
  display: block;
  border-radius: 18px;
}

/* Demo box */
.tx-demo {
  border-left: 4px solid var(--tx-orange);
  background: var(--md-code-bg-color);
  padding: 1rem 1.25rem;
  border-radius: 0 10px 10px 0;
}
.tx-demo p { margin: 0.3rem 0; }

@media screen and (max-width: 44.9375em) {
  .tx-steps { grid-template-columns: 1fr; }
  .tx-feature { grid-template-columns: 1fr; gap: 1rem; }
  .tx-feature:nth-of-type(even) > :first-child { order: 0; }
}

/* --- Screenshots on the how-to pages ---------------------------------- */

.md-typeset img.screenshot {
  display: block;
  max-width: 100%;
  margin: 1rem auto;
  border-radius: 8px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25);
}
.md-typeset img.screenshot.phone {
  max-height: 34rem;
  width: auto;
  border-radius: 16px;
}
