/**
 * public.css
 *
 * Stiluri comune paginilor "aplicație" (comunități, evenimente, dashboard),
 * extrase din landing.html pentru consistență vizuală. Nu duplicăm design
 * nou — doar reutilizăm nav-ul, butoanele și cardurile deja proiectate.
 */
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--off);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0}

nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,0.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--ink-10);padding:0 48px;height:68px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.logo{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.25rem;color:var(--ink);letter-spacing:-0.5px;text-decoration:none;flex-shrink:0}
.logo span{color:var(--blue)}
.nav-links{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.nav-links a{padding:8px 14px;border-radius:8px;color:var(--ink-60);font-size:0.875rem;font-weight:500;text-decoration:none;transition:all 0.15s}
.nav-links a.active{background:var(--blue-light);color:var(--blue);font-weight:600}
.nav-links a:hover{background:var(--off);color:var(--ink)}
.nav-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}
.btn-ghost{padding:9px 18px;border-radius:8px;border:1.5px solid var(--ink-30);background:transparent;color:var(--ink);font-family:'Plus Jakarta Sans',sans-serif;font-size:0.875rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all 0.15s;display:inline-block}
.btn-ghost:hover{border-color:var(--ink)}
.btn-primary{padding:9px 20px;border-radius:8px;background:var(--blue);color:white;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.875rem;font-weight:600;cursor:pointer;border:none;text-decoration:none;transition:all 0.15s;display:inline-block}
.btn-primary:hover{background:#1344B8;transform:translateY(-1px);box-shadow:var(--shadow)}
.user-chip{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:10px;border:1px solid var(--ink-10);font-size:0.845rem;font-weight:600;color:var(--ink);text-decoration:none}
.user-avatar-sm{width:26px;height:26px;border-radius:50%;background:var(--blue);color:white;display:flex;align-items:center;justify-content:center;font-size:0.7rem;font-weight:700}

.page-wrap{max-width:1240px;margin:0 auto;padding:40px 48px 80px}
.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.page-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;letter-spacing:-1px;color:var(--ink)}
.page-sub{margin-top:6px;font-size:0.9rem;color:var(--ink-60)}

/* Filtre */
.filters-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px;align-items:center}
.filter-select, .filter-input{padding:9px 14px;border:1.5px solid var(--ink-10);border-radius:9px;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.85rem;color:var(--ink);background:white;outline:none}
.filter-select:focus, .filter-input:focus{border-color:var(--blue)}
.filter-input{flex:1;min-width:220px}

/* Grid de carduri (comunități / evenimente) */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.item-card{background:white;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--ink-10);text-decoration:none;color:inherit;transition:all 0.2s;display:block}
.item-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.item-img-wrap{position:relative;height:150px;background:linear-gradient(135deg,var(--blue-light),var(--off))}
.item-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.item-badge{position:absolute;top:12px;left:12px;padding:4px 10px;border-radius:100px;font-size:0.7rem;font-weight:700}
.item-body{padding:16px 18px}
.item-name{font-weight:700;font-size:1rem;margin-bottom:6px;line-height:1.35}
.item-meta{font-size:0.78rem;color:var(--ink-60)}

/* Paginare */
.pagination{display:flex;gap:8px;justify-content:center;margin-top:36px}
.page-link{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:9px;border:1.5px solid var(--ink-10);color:var(--ink);text-decoration:none;font-size:0.85rem;font-weight:600}
.page-link.active{background:var(--blue);color:white;border-color:var(--blue)}
.page-link:hover:not(.active){border-color:var(--ink-30)}

/* Formulare (creare eveniment) */
.form-card{background:white;border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-sm);border:1px solid var(--ink-10);max-width:680px}
.form-group{margin-bottom:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-label{display:block;font-size:0.8rem;font-weight:700;color:var(--ink);margin-bottom:6px}
.form-input, .form-select, .form-textarea{width:100%;padding:11px 14px;border:1.5px solid var(--ink-10);border-radius:9px;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.875rem;color:var(--ink);outline:none;background:white}
.form-input:focus, .form-select:focus, .form-textarea:focus{border-color:var(--blue)}
.form-textarea{resize:vertical;min-height:100px}
.form-error{font-size:0.73rem;color:var(--coral);margin-top:5px}
.form-hint{font-size:0.73rem;color:var(--ink-60);margin-top:5px}
.form-check{display:flex;align-items:center;gap:8px}
.form-check input{width:16px;height:16px;accent-color:var(--blue)}

.btn-submit{padding:13px 24px;background:var(--blue);color:white;border-radius:10px;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.9rem;font-weight:700;border:none;cursor:pointer}
.btn-submit:hover{background:#1344B8}

.empty-state{text-align:center;padding:60px 20px;color:var(--ink-60)}
.empty-state a{color:var(--blue);font-weight:600;text-decoration:none}

@media(max-width:900px){
  .nav-links{display:none}
  .page-wrap{padding:24px 20px 60px}
  .form-row{grid-template-columns:1fr}
}
