﻿:root{
  --rojo: #b00000;
  --rojo-osc: #8b0000;
  --text: #222;
  --muted: #666;
}
*{box-sizing:border-box}
body {
  margin: 0;
  font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  color: var(--text);
  min-height: 100vh;
  padding-bottom: 60px;

  /* NUEVO */
  background: var(--rojo);
  position: relative;
}
.site-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 20px;
  background:linear-gradient(90deg,var(--rojo),var(--rojo-osc));
  color:#fff;
  position:sticky;
  top:0;
  z-index:100;
}
.brand{display:flex;align-items:center;text-decoration:none;color:#fff}
.logo{width:44px;height:44px;margin-right:10px}
.brand-text{font-weight:700;font-size:1.2rem}
.nav a{margin-left:8px;text-decoration:none}
.btn{background:#fff;color:var(--rojo);padding:8px 12px;border-radius:6px;border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;font-weight:600}
.btn.small{padding:6px 8px;font-size:0.9rem}
.btn.large{padding:12px 18px;font-size:1rem}
.btn.outline{background:transparent;border:2px solid rgba(255,255,255,0.2);color:#fff}
.container{max-width:980px;margin:36px auto;padding:0 18px}
.intro h1{font-size:1.6rem;margin:6px 0 14px;color:var(--rojo-osc);text-align:center}
.lead{text-align:center;font-weight:600;margin-bottom:16px}
.text-block{background:rgba(255,255,255,0.95);padding:16px;border-radius:8px;box-shadow:0 4px 18px rgba(0,0,0,0.06);line-height:1.6;color:var(--text)}
.actions{display:flex;gap:12px;justify-content:center;margin-top:18px}
.form{max-width:520px;margin:18px auto;display:flex;flex-direction:column;gap:10px}
.form label{
  font-weight:600;
  color:#ffffff !important;
}
.form input, .form textarea{
  padding:10px 14px;
  border-radius:6px;
  border:1px solid rgba(255,255,255,0.45);
  margin-top:8px;
  font-size:1rem;
  background:rgba(255,255,255,0.12);
  color:#fff;
  height:44px;                /* ← altura fija, prolija */
  box-sizing:border-box;      /* ← evita que crezca */
}

.form textarea{
  height:auto;                /* ← el textarea vuelve a ser más grande */
  min-height:140px;
  resize:vertical;
}

.form input::placeholder,
.form textarea::placeholder{
  color:#eee;
  opacity:0.9;
}
.form textarea{min-height:120px;resize:vertical}
.result{max-width:520px;margin:6px auto;color:green;font-weight:700}
.note{font-size:0.9rem;color:var(--muted);margin-top:6px}
.cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
  margin-top:18px;
  justify-items:center;
}
.card{padding:14px;border-radius:8px;background:linear-gradient(180deg,#fff,#fff);border:1px solid #eee;box-shadow:0 6px 18px rgba(0,0,0,0.04)}
.site-footer{position:fixed;left:0;right:0;bottom:0;background:#fafafa;padding:10px;border-top:1px solid #eee;text-align:center;font-size:0.9rem}
/* marca de agua: escudo en background si existe */
body::before {
  content: "";
  position: fixed;
  left: 50%;
  top: 40%;
  transform: translate(-50%, -40%);
  width: 520px;
  height: 520px;
  background-image: url('../images/escudo-independiente.png');
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.08;      /* lo dejé más suave para que no tape el texto */
  pointer-events: none;
}
@media(max-width:640px){
  .intro h1{font-size:1.25rem}
  .brand-text{font-size:1rem}
  body::before{width:320px;height:320px;top:40%}
}
.intro, .intro h1, .intro p, .text-block {
  color: #fff !important;
}

.text-block {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.15);
}

.btn-slim{
  width:auto !important;
  padding:8px 16px !important;
}
/* ----- Ajuste específico para botón de contacto ----- */

#contactForm button {
  width: auto !important;
  padding: 8px 16px !important;
  margin: 0 auto !important;
  display: block !important;
}

/* Corrección del estilo de formularios para restaurar alineación */
.form label {
  font-size: 0.95rem !important;
  color: #ffffff !important;   /* blanco legible sobre fondo rojo */
  font-weight: 600 !important;
}

.form input,
.form textarea {
  width: 100% !important;
  padding: 10px !important;
  margin-top: 4px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: #fff !important;
  border-radius: 6px !important;
  backdrop-filter: blur(2px);
}

.form input::placeholder,
.form textarea::placeholder {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* Centrado perfecto del formulario */
.form {
  max-width: 420px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ===== FORMULARIOS - VERSIÓN ESTABLE ===== */
.form {
  max-width: 420px !important;
  margin: 20px auto !important;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.form label {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #ffffff !important;
}

.form input,
.form textarea {
  width: 100% !important;
  padding: 10px 14px !important;
  margin-top: 6px !important;
  font-size: 1rem !important;
  
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: #fff !important;
  
  border-radius: 6px !important;
  backdrop-filter: blur(2px);
  box-sizing: border-box !important;
}

.form textarea {
  min-height: 140px !important;
  resize: vertical !important;
}

.form input::placeholder,
.form textarea::placeholder {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* Botón de enviar propuestas */
#contactForm button {
  width: auto !important;
  padding: 8px 18px !important;
  margin: 0 auto !important;
  display: block !important;
}

.intro p,
.text-block {
  color: #fff !important;
}

/* ---- ajustes para comisiones / asamblea ---- */
.card { padding:14px;border-radius:8px;background:#fff;border:1px solid #eee;box-shadow:0 6px 18px rgba(0,0,0,0.04); color:#222;}
#commissionsGrid .card{ width:100%; max-width:320px; }
#proposalsList .card, #assemblyQueue .card, #assemblyHistory .card { background:#fff; color:#222; }
.container h2 { color:#111; margin-bottom:12px; }

