/* The Source News Bangla — Shared Styles */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Bengali:wght@400;500;600;700;800&family=Poppins:wght@400;500;600;700;800&display=swap');

body { font-family: 'Noto Serif Bengali', 'Poppins', sans-serif; }

.card-hover { transition: transform .25s ease, box-shadow .25s ease; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(0,0,0,.12); }

.nav-link { position: relative; }
.nav-link::after { content:''; position:absolute; left:0; bottom:-4px; width:0; height:2px; background:var(--theme); transition:width .25s; }
.nav-link:hover::after { width:100%; }

.marquee { white-space: nowrap; overflow: hidden; }
.marquee span { display: inline-block; padding-left: 100%; animation: scroll 22s linear infinite; }
@keyframes scroll { to { transform: translateX(-100%); } }

.theme-bg { background: var(--theme); }
.theme-bg-h:hover { background: var(--theme-dark); }
.theme-text { color: var(--theme); }
.theme-border { border-color: var(--theme); }
.theme-ring:focus { --tw-ring-color: var(--theme); box-shadow: 0 0 0 2px var(--theme); }

input, textarea, select { outline: none; }

/* Editable text styles via CSS vars */
.headline { color: var(--head-color, #111827); font-size: var(--head-size, 18px); }
.bodytext { color: var(--body-color, #6b7280); font-size: var(--body-size, 14px); }
#navList a { font-size: var(--menu-size, 15px); font-weight: var(--menu-weight, 600); }

/* Admin panel */
.admin-tab { cursor: pointer; }

/* Toast */
#toast { transition: opacity .3s; }

/* Article page */
#artBody p { margin-bottom: 1rem; line-height: 1.8; }

/* Footer social icons */
.social-icon { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #1f2937; color: #9ca3af; font-weight: bold; font-size: 14px; }
.social-icon:hover { background: var(--theme); color: white; }

/* Admin user table */
.user-row { display: flex; align-items: center; justify-content: space-between; padding: .75rem; border: 1px solid #e5e7eb; border-radius: .5rem; gap: .5rem; }
