@import url('https://googleapis.com');

:root {
    --primary: #2563eb;
    --bg: #f8fafc;
    --card: #ffffff;
    --text: #1e293b;
    --border: #e2e8f0;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--bg);
    color: var(--text);
    margin: 0;
    line-height: 1.6;
}

/* Contenedores */
.container { max-width: 1000px; margin: 0 auto; padding: 40px 20px; text-align: center; }

/* Index Hero */
.hero { height: 80vh; display: flex; flex-direction: column; justify-content: center; align-items: center; }
h1 { font-size: 3rem; font-weight: 600; letter-spacing: -1px; margin-bottom: 10px; }
.subtitle { color: #64748b; font-size: 1.2rem; margin-bottom: 30px; max-width: 600px; }

/* Botones */
.btn-group { display: flex; gap: 15px; }
.btn { 
    padding: 14px 28px; border-radius: 8px; text-decoration: none; 
    font-weight: 600; transition: 0.3s; border: none; cursor: pointer;
}
.btn-primary { background: var(--primary); color: white; }
.btn-primary:hover { background: #1d4ed8; transform: translateY(-2px); }
.btn-outline { background: white; color: var(--text); border: 1px solid var(--border); }
.btn-outline:hover { background: #f1f5f9; }

/* Grid de Comunidades */
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 15px; margin-top: 30px; }
.grid a { 
    background: var(--card); padding: 20px; border-radius: 10px; 
    text-decoration: none; color: var(--text); border: 1px solid var(--border);
    transition: 0.2s; font-weight: 500;
}
.grid a:hover { border-color: var(--primary); color: var(--primary); background: #eff6ff; }

/* Formularios */
.card-form { 
    background: white; padding: 40px; border-radius: 16px; 
    border: 1px solid var(--border); max-width: 400px; margin: 0 auto; text-align: left;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
}
input { 
    width: 100%; padding: 12px; margin: 8px 0 20px 0; 
    border: 1px solid var(--border); border-radius: 6px; box-sizing: border-box; 
}
label { font-weight: 600; font-size: 0.9rem; }
