/* assets/css/app.css - full styles (responsive + modal + card center + profile) */

:root{
  --bg: linear-gradient(160deg,#4f46e5,#06b6d4); /* asosiy fon gradient */
  --text:#1a1a1a;
  --muted:#6b7280;
  --card:#fff;
  --accent:linear-gradient(135deg,#f97316,#3b82f6);
  --radius:14px;
  --shadow:0 10px 30px rgba(2,6,23,0.08);
  --container:min(1200px,92%);
}

/* reset */
*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
.container{width:var(--container);margin:0 auto;padding:18px}

/* header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,0.7);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,0.05)}
.header-inner{display:flex;align-items:center;gap:16px;padding:12px 0}
.brand{font-weight:700;font-size:20px;color:var(--text);text-decoration:none}
.nav{display:flex;gap:10px;margin-left:20px}
.nav-link{padding:8px 12px;border-radius:999px;text-decoration:none;color:var(--text);border:1px solid transparent}
.nav-link:hover{background:rgba(0,0,0,0.05)}
.actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.search input{padding:8px 12px;border-radius:999px;border:1px solid rgba(0,0,0,0.08);outline:none}

/* buttons */
.btn{background:var(--accent);color:#fff;padding:8px 14px;border-radius:12px;border:none;cursor:pointer;font-weight:600;transition:.2s}
.btn.primary{background:linear-gradient(135deg,#4f46e5,#06b6d4)}
.btn:hover{transform:scale(1.05)}

/* hero */
.hero{display:grid;grid-template-columns:1fr 0.9fr;gap:18px;align-items:center;margin:18px 0}
.hero-content h1{font-size:36px;margin-bottom:8px}
.hero-content p{color:var(--muted);margin-bottom:12px}
.hero-art{height:180px;border-radius:var(--radius);
  background:radial-gradient(circle at 10% 20%,rgba(79,70,229,0.25),transparent),
             radial-gradient(circle at 110% 80%,rgba(6,182,212,0.2),transparent),
             linear-gradient(135deg,#f97316,#3b82f6);
  box-shadow:var(--shadow)
}

/* grid-single: center each card */
.grid-single{display:flex;flex-direction:column;gap:18px;align-items:center;margin-top:18px}

/* single card style */
.card{width:100%;max-width:900px;background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .18s}
.card:hover{transform:translateY(-6px)}
.card .cover img{width:100%;height:320px;object-fit:cover;display:block}
.card-body{padding:18px}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.tag{font-size:13px;padding:6px 10px;border-radius:999px;background:linear-gradient(135deg,#4f46e5,#06b6d4);color:#fff;border:1px solid rgba(79,70,229,0.18)}
.card-title{font-size:20px;margin-bottom:8px}
.card-excerpt{color:var(--muted);margin-bottom:10px}
.meta{color:var(--muted);font-size:13px}

/* actions */
.card-actions{display:flex;gap:10px;padding:12px 18px;border-top:1px solid rgba(0,0,0,0.05);align-items:center}
.chip{background:#f8fafc;border-radius:999px;padding:8px 12px;border:1px solid rgba(0,0,0,0.06);cursor:pointer;display:inline-flex;gap:8px;align-items:center;transition:.25s}
.chip:hover{background:var(--accent);color:#fff;transform:scale(1.05)}
.chip .count{font-weight:600;margin-left:6px}
.chip.anim{transform-origin:center;transition:transform .24s ease}

/* comment */
.comment-box{padding:12px 18px 20px}
.comment-form{display:flex;gap:8px}
.comment-form input[type="text"], .comment-form input[type="email"]{flex:1;padding:10px;border-radius:10px;border:1px solid rgba(0,0,0,0.06)}
.comment-form button{padding:10px 14px;border-radius:10px;border:none;background:linear-gradient(135deg,#4f46e5,#06b6d4);color:#fff;cursor:pointer}

/* comments list */
.comments{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.alert{padding:10px;border-radius:12px;background:#f8fafc;border:1px solid rgba(0,0,0,0.05)}

/* modal */
.modal{display:none;position:fixed;inset:0;background:rgba(2,6,23,0.5);z-index:999;align-items:center;justify-content:center}
.modal .modal-content{background:#fff;padding:24px;border-radius:16px;max-width:420px;width:94%;box-shadow:0 20px 50px rgba(2,6,23,0.18);position:relative}
.modal .close{position:absolute;right:16px;top:12px;background:none;border:0;cursor:pointer;font-size:22px}

/* poll / panel */
.panel{background:var(--card);padding:18px;border-radius:14px;box-shadow:var(--shadow);margin-top:20px}

/* footer */
.site-footer{padding:18px 0;border-top:1px solid rgba(0,0,0,0.05);margin-top:30px;background:transparent}
.footer-inner{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}

/* profile form */
.profile-form{display:grid;gap:14px;margin-top:12px}
.profile-form .form-row{display:flex;flex-direction:column;gap:6px}
.profile-form label{font-weight:600;color:var(--text)}
.profile-form input, .profile-form textarea{
  padding:10px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,0.1);
  background:#f8fafc;
}
.profile-form button{padding:10px 14px;border:none;border-radius:10px;background:linear-gradient(135deg,#4f46e5,#06b6d4);color:#fff;font-weight:600;cursor:pointer}
.profile-form button:hover{transform:scale(1.05)}

/* profile view */
.profile-view{display:grid;gap:14px;margin-top:18px}
.profile-view .item{padding:12px 16px;border-radius:12px;background:#f8fafc;box-shadow:inset 0 1px 2px rgba(0,0,0,0.05)}
.profile-view .item strong{display:block;font-weight:600;margin-bottom:4px;color:#333}
.profile-avatar img{width:120px;height:120px;object-fit:cover;border-radius:50%;box-shadow:var(--shadow)}

/* --- Logo mascot styles --- */
.brand{display:inline-flex;align-items:center;gap:8px}
.logo-mascot{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin-left:4px}
.logo-mascot svg{display:block;will-change:transform,filter}

/* animations */
@keyframes mascot-float {
  0% { transform: translateY(0) rotate(0deg) }
  50% { transform: translateY(-3px) rotate(4deg) }
  100% { transform: translateY(0) rotate(0deg) }
}
@keyframes eye-blink {
  0%, 92% { transform: scaleY(1) }
  96% { transform: scaleY(0.1) }
  100% { transform: scaleY(1) }
}
@keyframes pins-pulse {
  0%,100% { opacity:.8; }
  50% { opacity:1; }
}

/* apply */
.logo-mascot.animated svg{animation: mascot-float 3.5s ease-in-out infinite}
.logo-mascot.animated .eye{animation: eye-blink 5s infinite}
.logo-mascot.animated .pins rect{animation: pins-pulse 2s infinite}

/* hover */
.brand:hover .chip-body{transform:scale(1.05);transition:.3s}

.btn.danger{
  background:linear-gradient(135deg,#ef4444,#b91c1c);
  color:#fff;
}
.btn.danger:hover{
  transform:scale(1.05);
  background:linear-gradient(135deg,#dc2626,#7f1d1d);
}


/* =======================
   RESPONSIVE DESIGN
======================= */

/* Planshet va kichik laptoplar (≤ 1024px) */
@media (max-width: 1024px) {
  .container {
    width: 96%;
    padding: 12px;
  }
  .hero {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .hero-content h1 {
    font-size: 30px;
  }
  .hero-art {
    height: 200px;
  }
  .card .cover img {
    height: 260px;
  }
}

/* Katta telefonlar va kichik planshetlar (≤ 768px) */
@media (max-width: 768px) {
  .header-inner {
    flex-wrap: wrap;
    gap: 10px;
  }
  .nav {
    display: none;
  }
  .search input {
    width: 100%;
  }
  .card {
    max-width: 100%;
  }
  .card .cover img {
    height: 220px;
  }
  .comment-form {
    flex-direction: column;
  }
  .comment-form button {
    width: 100%;
  }
  .profile-form {
    gap: 10px;
  }
  .profile-avatar img {
    width: 90px;
    height: 90px;
  }
}

/* Oddiy telefonlar (≤ 580px) */
@media (max-width: 580px) {
  .header-inner {
    padding: 10px;
  }
  .brand {
    font-size: 18px;
  }
  .hero-content h1 {
    font-size: 24px;
  }
  .hero-content p {
    font-size: 14px;
  }
  .card .cover img {
    height: 180px;
  }
  .card-body {
    padding: 12px;
  }
  .card-title {
    font-size: 18px;
  }
  .tag {
    font-size: 11px;
    padding: 4px 8px;
  }
  .btn, .chip {
    font-size: 14px;
    padding: 6px 10px;
  }
  .footer-inner {
    flex-direction: column;
    text-align: center;
    gap: 8px;
  }
}

/* Juda kichik telefonlar (≤ 360px) */
@media (max-width: 360px) {
  .hero-content h1 {
    font-size: 20px;
  }
  .btn, .chip {
    font-size: 13px;
    padding: 5px 8px;
  }
  .card-title {
    font-size: 16px;
  }
}
