/* Le Sere — shared app styling built on MZ Wallace tokens */

* { box-sizing: border-box; }

.eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--color-fg);
}
.mono {
  font-family: var(--font-mono);
  letter-spacing: 0.02em;
}
.serif-off { font-family: var(--font-sans); }

.hr { height: 1px; background: var(--color-border); border: 0; width: 100%; }

.light { font-weight: 300; }

/* Pill / tag */
.tag {
  font-family: var(--font-mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 4px 9px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-full);
  color: var(--color-fg);
  white-space: nowrap;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}
.tag--ink { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }

/* Buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--font-sans); font-size: 13px; font-weight: 400;
  letter-spacing: 0.08em; text-transform: uppercase;
  padding: 13px 22px; min-height: 44px;
  border-radius: var(--radius-xs); border: 1px solid; cursor: pointer;
  transition: all var(--duration-base) var(--ease-out-cubic);
  background: var(--color-primary); color: #fff; border-color: var(--color-primary);
}
.btn--secondary { background: #fff; color: var(--color-primary); }
.btn--ghost { background: transparent; color: var(--color-fg); border-color: var(--color-border); }
.btn:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); color: #fff; }
.btn--ghost:hover { background: #fff; color: var(--color-primary); border-color: var(--color-primary); }

@keyframes lspulse { 0%,100% { opacity: 1; } 50% { opacity: 0.25; } }
@keyframes lsblink { 0%,100% { opacity: 0.3; } 50% { opacity: 1; } }

/* mobile bottom tab bar */
.mtabbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 35; display: flex;
  background: #fff; border-top: 1px solid var(--color-border); padding-bottom: env(safe-area-inset-bottom, 0px); }
.mtab { flex: 1; background: none; border: none; cursor: pointer; padding: 9px 0 8px; display: flex;
  flex-direction: column; align-items: center; gap: 3px; color: var(--color-fg); font-family: var(--font-sans); }
.mtab span { font-size: 10px; letter-spacing: 0.04em; }
.mtab.on { color: var(--color-primary); }

/* Card */
.card {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xs);
}
