/* Valori comune: culori, fonturi, spațieri și variabile. */
:root {
  --mobile-type-scale: 1;
  --ink: #202b23;
  --ink-soft: #39453c;
  --muted: #7e877d;
  --muted-light: #a4aba2;
  --paper: #f7f8f5;
  --white: #fff;
  --line: #e9ece6;
  --green: #426d4c;
  --green-dark: #315a3b;
  --green-light: #eaf2e8;
  --mint: #dcead7;
  --lime: #cfdfae;
  --amber: #c38d40;
  --amber-light: #faf1df;
  --red: #b95e53;
  --radius: 14px;
  --shadow: 0 12px 36px rgba(42, 58, 44, 0.08);
  font-family: "DM Sans", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
* {
  box-sizing: border-box;
}
html {
  min-width: 360px;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "DM Sans", sans-serif;
  font-size: calc((14px) * var(--mobile-type-scale, 1));
}
button,
input,
select {
  font: inherit;
}
button {
  color: inherit;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 3px solid #8bad79;
  outline-offset: 3px;
}
a {
  color: inherit;
}
[hidden] {
  display: none !important;
}

/* Shared phone typography; desktop sizes stay unchanged. */
@media (max-width: 600px) {
  :root {
    --mobile-type-scale: 0.94;
  }
}
