/*
 * Sign-in page — MÁDARA house style.
 *
 * Tokens lifted from madaracosmetics.com rather than invented: Figtree at 500/600/800,
 * brand green #15B251, warm paper #F3EEEA and #E8DCD0, near-black #101010.
 *
 * The storefront's defining move is stacked full-bleed warm blocks with square corners
 * and a softer 5px radius reserved for buttons, so the card is built as two blocks —
 * a warm one carrying the wordmark, a white one carrying the single action — rather
 * than as one padded box.
 */

:root {
  --md-paper:      #f3eeea;
  --md-paper-deep: #e8dcd0;
  --md-surface:    #ffffff;
  --md-ink:        #101010;
  --md-ink-soft:   #5f5a55;
  --md-line:       #ded4c8;
  --md-green:      #15b251;
  --md-btn-radius: 5px;
}

*, *::before, *::after { box-sizing: border-box; }

html, body { height: 100%; }

body.signin {
  margin: 0;
  display: grid;
  place-items: center;
  padding: 32px 20px;
  background: var(--md-paper);
  color: var(--md-ink);
  font-family: Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.shell { width: 100%; max-width: 432px; }

.card {
  border: 1px solid var(--md-line);
  border-top: 3px solid var(--md-green);
  border-radius: 0;          /* --blocks-radius: 0 on the storefront */
  overflow: hidden;
}

/* Block one: the brand. */
.card-head {
  background: var(--md-paper-deep);
  padding: 46px 36px 38px;
  text-align: center;
}

.wordmark {
  margin: 0;
  line-height: 0;            /* the img is the heading; no stray text leading */
}

.wordmark img {
  width: 190px;
  height: auto;
  max-width: 100%;
}

.eyebrow {
  margin: 16px 0 0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-indent: 0.18em;
  text-transform: uppercase;
  color: var(--md-ink-soft);
}

/* Block two: the one thing you came here to do. */
.card-body {
  background: var(--md-surface);
  padding: 34px 36px 30px;
  text-align: center;
}

.lede {
  margin: 0 0 24px;
  font-size: 14.5px;
  color: var(--md-ink-soft);
  letter-spacing: -0.01em;
  text-wrap: balance;        /* no orphaned last word */
}

.ms {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 50px;
  padding: 0 18px;
  border: 1px solid var(--md-ink);
  border-radius: var(--md-btn-radius);
  background: var(--md-ink);
  color: #fff;
  font: inherit;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.3s cubic-bezier(0.7, 0, 0.3, 1),
              border-color 0.3s cubic-bezier(0.7, 0, 0.3, 1);
}
.ms:hover { background: #303030; border-color: #303030; }
.ms:focus-visible { outline: 2px solid var(--md-green); outline-offset: 3px; }
.ms svg { flex: none; }

.help {
  margin: 18px 0 0;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--md-ink-soft);
  text-wrap: balance;
}

.foot {
  margin: 18px 0 0;
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--md-ink-soft);
}

.flash {
  margin: 0 0 20px;
  padding: 11px 14px;
  border: 1px solid var(--md-line);
  border-left: 2px solid var(--md-green);
  background: #fbf9f7;
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
  color: var(--md-ink);
}
.flash.error { border-left-color: #9b2c2c; }

@media (max-width: 440px) {
  .card-head { padding: 38px 24px 30px; }
  .card-body { padding: 28px 24px 26px; }
  .wordmark img { width: 158px; }
}

@media (prefers-reduced-motion: reduce) {
  .ms { transition: none; }
}

@media (prefers-contrast: more) {
  .card { border-color: var(--md-ink); }
  .lede, .help, .foot { color: var(--md-ink); }
}
