/* =========================================================
   public.css - Giao dien trang cong khai (frontend public)
   Theme: Y te hien dai, xanh duong - xanh la - trang
   ========================================================= */
:root{
  --primary:#0ea5e9;
  --primary-dark:#0284c7;
  --secondary:#10b981;
  --dark:#0f172a;
  --gray:#64748b;
  --light:#f8fafc;
  --radius:14px;
}
*{box-sizing:border-box}
body.public-body{
  font-family:'Be Vietnam Pro',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--dark);
  margin:0;
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--primary)}
.text-primary{color:var(--primary)!important}
.bg-primary{background-color:var(--primary)!important}
.btn-primary{background-color:var(--primary);border-color:var(--primary)}
.btn-primary:hover{background-color:var(--primary-dark);border-color:var(--primary-dark)}
.btn-outline-primary{color:var(--primary);border-color:var(--primary)}
.btn-outline-primary:hover{background-color:var(--primary);border-color:var(--primary)}
.min-vh-50{min-height:50vh}
.object-fit-contain{object-fit:contain}
.text-truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Header */
.public-header .topbar{background:var(--dark);color:#cbd5e1;font-size:.8rem;padding:.4rem 0}
.public-header .main-nav{background:#fff;box-shadow:0 1px 12px rgba(15,23,42,.06);padding:.6rem 0}
.brand-logo{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-radius:12px;font-size:1.4rem}
.brand-text strong{display:block;line-height:1.1;font-size:1.05rem;color:var(--dark)}
.brand-text small{display:block;font-size:.7rem;color:var(--gray)}
.main-nav .nav-link{color:var(--dark);font-weight:500;border-radius:8px;padding:.5rem .9rem}
.main-nav .nav-link:hover{color:var(--primary);background:var(--light)}
.nav-search .form-control{min-width:180px}
.btn-login{background:var(--primary);color:#fff!important;border-radius:8px}
.btn-login:hover{background:var(--primary-dark)}

/* Hero */
.hero-section{background:linear-gradient(180deg,#ecfeff 0%,#f0f9ff 100%);padding:4rem 0}
.hero-features span{white-space:nowrap}

/* Cards */
.category-card{transition:transform .2s ease,box-shadow .2s ease;border-radius:var(--radius)!important}
.category-card:hover{transform:translateY(-5px);box-shadow:0 12px 28px rgba(15,23,42,.12)!important}
.category-icon{width:70px;height:70px;display:flex;align-items:center;justify-content:center;margin:0 auto;background:var(--light);border-radius:50%}
.product-card{transition:transform .2s ease,box-shadow .2s ease;border-radius:var(--radius)!important;border:1px solid #eef2f7}
.product-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(15,23,42,.10)!important}
.section-title{position:relative;display:inline-block}
.content-formatted{line-height:1.8;color:#334155}

/* Footer */
.public-footer{background:var(--dark);color:#cbd5e1;padding:3rem 0 1.5rem;margin-top:3rem}
.footer-brand{color:#fff}
.footer-title{color:#fff;font-size:.95rem;margin-bottom:1rem;font-weight:600}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:.5rem;font-size:.9rem}
.footer-links a{color:#cbd5e1;text-decoration:none}
.footer-links a:hover{color:var(--primary)}
.text-muted-light{color:#94a3b8}
.footer-divider{border-color:#1e293b;margin:2rem 0 1rem}

/* Back to top */
.back-to-top{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border:none;border-radius:50%;background:var(--primary);color:#fff;display:none;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(14,165,233,.4);z-index:1000;cursor:pointer}
.back-to-top.show{display:flex}

@media(max-width:768px){
  .hero-section{padding:2.5rem 0;text-align:center}
  .nav-search{margin:.5rem 0}
  .nav-search .form-control{width:100%}
}
