/* Lunna Beauty — estilos das páginas públicas dos salões (geradas por build_public.py).
   A variável --accent (cor de destaque de cada salão) é definida por página
   num pequeno bloco <style> inline; todo o resto vive neste arquivo. */

:root {
  --ink: #25212f;
  --muted: #756e82;
  --bg: #faf8fc;
  --line: #ece7f1;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: radial-gradient(circle at 90% 0%, #f1e3f5, transparent 38%), var(--bg);
  color: var(--ink);
  font: 16px/1.6 system-ui, -apple-system, "Segoe UI", sans-serif;
}

.wrap {
  max-width: 980px;
  margin: auto;
  padding: 28px 20px 70px;
}

header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 70px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 700;
}

.logo {
  width: 46px;
  height: 46px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 25px;
  box-shadow: 0 8px 22px #26163220;
}

.brand small {
  display: block;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: 2px;
}

a { color: var(--accent); }

.button {
  display: inline-block;
  background: var(--accent);
  color: #fff;
  border-radius: 11px;
  padding: 12px 19px;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 8px 20px #26163218;
}

.hero {
  max-width: 720px;
  margin: auto;
  text-align: center;
}

.eyebrow {
  color: var(--accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
}

h1 {
  font: 400 clamp(38px, 7vw, 68px)/1.05 Georgia, serif;
  margin: 14px 0;
}

.lead {
  color: var(--muted);
  font-size: 18px;
}

.section { margin-top: 70px; }

h2 { font-size: 25px; }

.services {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.service {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 17px;
  padding: 20px;
  box-shadow: 0 6px 24px #2b1b3b08;
}

.service h3 { margin: 0 0 7px; font-size: 17px; }

.service p {
  color: var(--muted);
  font-size: 14px;
  min-height: 48px;
}

.service strong { color: var(--accent); }

.service small {
  display: block;
  color: var(--muted);
  margin-top: 5px;
}

.location {
  background: #241a31;
  color: #fff;
  border-radius: 20px;
  padding: 25px;
}

.location p { color: #cbbbd7; }

footer {
  margin-top: 60px;
  color: var(--muted);
  font-size: 12px;
  text-align: center;
}

@media (max-width: 600px) {
  header { margin-bottom: 45px; }
  header .button { padding: 9px 12px; font-size: 12px; }
  .wrap { padding-inline: 15px; }
  .lead { font-size: 16px; }
}
