/* Regulamento — mesma paleta e tipografia da home (styles.css) */
:root {
  --wine-900: #2b0408; --wine-800: #4a0710; --red: #c8102e; --red-700: #a30d25;
  --gold: #f2c14e; --gold-300: #ffd97a; --ivory: #fbf6ec; --ivory-200: #f3e9d6;
  --white: #fff; --ink: #26090c; --ink-soft: #5a3b3e; --on-dark: #fff8ec; --on-dark-soft: #f0dcd2;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 1.0625rem;
  line-height: 1.65;
  background: var(--ivory-200);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}

.header {
  text-align: center;
  padding: 48px 20px 56px;
  background: var(--wine-800);
  color: var(--on-dark);
}

.logo { max-width: 140px; height: auto; display: block; margin: 0 auto 28px; }

.header h1 {
  margin: 0;
  font-weight: 800;
  font-size: clamp(2rem, 6vw, 3.5rem);
  line-height: 1.05;
  letter-spacing: -.03em;
  color: var(--on-dark);
}

.header h2 {
  margin: 8px 0 0;
  font-family: 'Yellowtail', cursive;
  font-weight: 400;
  font-size: clamp(2rem, 5.5vw, 3rem);
  line-height: 1.1;
  color: var(--gold);
}

.regulamento-container { max-width: 820px; margin: 0 auto; padding: 56px 20px 32px; }

.regulamento-section {
  background: var(--white);
  border-radius: 16px;
  padding: 28px 32px 30px;
  margin-bottom: 16px;
}

.regulamento-section h3 {
  margin: 0 0 10px;
  font-size: 1.375rem;
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--wine-800);
}

.regulamento-section p { margin: 0 0 10px; }
.regulamento-section ul { margin: 0 0 8px 22px; padding: 0; }
.regulamento-section li { margin-bottom: 6px; }
.regulamento-section li::marker { color: var(--red); }
.regulamento-section b, .regulamento-section strong { color: var(--wine-800); }

.footer {
  text-align: center;
  padding: 40px 20px;
  margin-top: 40px;
  background: var(--wine-900);
  color: var(--on-dark-soft);
  font-size: .9375rem;
}

#backToTop {
  position: fixed; bottom: 20px; right: 20px;
  min-height: 48px; padding: 10px 18px;
  background: var(--gold); color: var(--wine-900);
  border: 0; border-radius: 999px;
  font: inherit; font-size: .9375rem; font-weight: 800;
  cursor: pointer; display: none;
}
#backToTop:hover { background: var(--gold-300); }

:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

@media (max-width: 640px) {
  .regulamento-section { padding: 22px 20px 24px; }
}
