/* Newspaper grid */
#dashboard {
  max-width: 1400px;
  margin: 0 auto;
  padding: 1.25rem 1rem;
}

.section-head {
  font-family: Arial, sans-serif;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--accent);
  border-bottom: 2px solid var(--accent);
  padding-bottom: .3rem;
  margin-bottom: 1rem;
}

/* Grid: 4 equal cols on desktop */
.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem 1.75rem;
  margin-bottom: 2rem;
}

.col-section {
  border-right: 1px solid var(--rule);
  padding-right: 1.5rem;
}
.col-section:last-child { border-right: none; padding-right: 0; }

/* Headline card */
.headline-card {
  margin-bottom: 1.1rem;
  padding-bottom: 1.1rem;
  border-bottom: 1px solid var(--rule);
  cursor: pointer;
  transition: opacity .15s;
}
.headline-card:last-child { border-bottom: none; margin-bottom: 0; }
.headline-card:hover { opacity: .75; }

.headline-card.featured .title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
}
.headline-card .title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .3rem;
}
.headline-card .summary {
  font-size: .82rem;
  color: var(--ink-light);
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.headline-card .meta {
  font-family: Arial, sans-serif;
  font-size: .72rem;
  color: var(--ink-muted);
  margin-top: .4rem;
  display: flex;
  align-items: center;
  gap: .4rem;
}
.headline-card .article-count {
  background: var(--accent);
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: .65rem;
  font-weight: 700;
  padding: .1rem .35rem;
  border-radius: 2px;
}

/* Category label strip */
.cat-strip {
  font-family: Arial, sans-serif;
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: var(--ink-muted);
  margin-bottom: .25rem;
}

/* Loading skeleton */
.skel {
  background: linear-gradient(90deg, #e8e4de 25%, #f0ece6 50%, #e8e4de 75%);
  background-size: 200% 100%;
  animation: skel-anim 1.4s infinite;
  border-radius: 3px;
  margin-bottom: .5rem;
}
.skel-h1 { height: 1.2rem; width: 90%; }
.skel-h2 { height: .9rem; width: 70%; }
.skel-p  { height: .75rem; width: 55%; }

@keyframes skel-anim {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* All categories view */
#all-topics {
  max-width: 900px;
  margin: 0 auto;
}
.topic-row {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: .9rem 0;
  border-bottom: 1px solid var(--rule);
  cursor: pointer;
  transition: background .1s;
}
.topic-row:hover { background: rgba(0,0,0,.02); }
.topic-row .tr-num {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--rule);
  min-width: 2rem;
  line-height: 1;
  margin-top: .1rem;
}
.topic-row .tr-body { flex: 1; }
.topic-row .tr-title { font-size: 1rem; font-weight: 700; }
.topic-row .tr-meta  { font-family: Arial, sans-serif; font-size: .75rem; color: var(--ink-muted); margin-top: .2rem; }

/* Main layout: news + opinions sidebar */
.dashboard-layout {
  display: grid;
  grid-template-columns: 1fr 270px;
  gap: 0 2rem;
  align-items: start;
}

.news-area { min-width: 0; }

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem 1.75rem;
  margin-bottom: 2rem;
}

/* Opinions sidebar */
.opinions-sidebar {
  border-left: 2px solid var(--accent);
  padding-left: 1.25rem;
  position: sticky;
  top: 0;
  max-height: 100vh;
  overflow-y: auto;
}

.op-write-box {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--rule);
}
.op-write-box textarea,
.op-write-box input[type=text] {
  font-size: .85rem;
  width: 100%;
}

.op-card {
  padding: .75rem 0;
  border-bottom: 1px solid var(--rule);
}
.op-card:last-child { border-bottom: none; }
.op-card-header {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: baseline;
  margin-bottom: .3rem;
}
.op-author {
  font-family: Arial, sans-serif;
  font-size: .78rem;
  font-weight: 700;
  color: var(--ink);
}
.op-topic-tag {
  font-family: Arial, sans-serif;
  font-size: .68rem;
  font-weight: 700;
  background: rgba(192,57,43,.1);
  color: var(--accent);
  padding: .1rem .4rem;
  border-radius: 3px;
  cursor: pointer;
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.op-topic-tag:hover { background: rgba(192,57,43,.2); }
.op-card-text {
  font-size: .85rem;
  line-height: 1.5;
  color: var(--ink);
  margin-bottom: .35rem;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.op-card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: Arial, sans-serif;
  font-size: .72rem;
  color: var(--ink-muted);
}
.op-votes { display: flex; gap: .35rem; }

/* Responsive */
@media (max-width: 1100px) {
  .dashboard-layout { grid-template-columns: 1fr 240px; }
}
@media (max-width: 900px) {
  .dashboard-layout { grid-template-columns: 1fr; }
  .opinions-sidebar {
    border-left: none;
    border-top: 2px solid var(--accent);
    padding-left: 0;
    padding-top: 1rem;
    position: static;
    max-height: none;
  }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .col-section { border-right: none; padding-right: 0; }
}
@media (max-width: 540px) {
  .grid-3 { grid-template-columns: 1fr; }
}

/* ── Απόψεις page ── */
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
@media (max-width: 900px) { .grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px)  { .grid-4 { grid-template-columns: 1fr; } }

.apopseis-card {
  background: var(--bg-white);
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  padding: 1.25rem 1rem;
  cursor: pointer;
  transition: box-shadow .15s, transform .15s;
  text-align: center;
}
.apopseis-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.1); transform: translateY(-2px); }
.apopseis-icon { font-size: 2rem; margin-bottom: .5rem; }
.apopseis-label { font-family: Arial, sans-serif; font-weight: 700; font-size: 1rem; margin-bottom: .4rem; }
.apopseis-desc  { font-family: Arial, sans-serif; font-size: .8rem; color: var(--ink-muted); line-height: 1.5; }

/* ── Latest opinions grid ── */
.op-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: .75rem;
}

/* ── Opinion modal ── */
#opinion-modal {
  display: none;
  position: fixed; inset: 0; z-index: 500;
  background: rgba(0,0,0,.45);
  align-items: center; justify-content: center;
}
#opinion-modal.open { display: flex; }
#opinion-modal .modal-box { position: relative; padding: 1.75rem; }

/* ── Facebook local feed ── */
.fb-section { margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--rule); }
.fb-section-head { display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;font-family:Arial,sans-serif; }
.fb-section-head .slabel { font-size:.7rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-muted);font-weight:700; }
.fb-icon { width:20px;height:20px;background:#1877f2;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:.75rem;flex-shrink:0; }
.fb-feed { display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem; }
.fb-post-card { border:1px solid var(--rule);border-radius:4px;padding:.85rem;transition:border-color .15s,background .15s;text-decoration:none;display:flex;flex-direction:column;gap:.4rem; }
.fb-post-card:hover { border-color:#1877f2;background:rgba(24,119,242,.04); }
.fb-post-source { font-family:Arial,sans-serif;font-size:.72rem;font-weight:700;color:#1877f2;display:flex;align-items:center;gap:.35rem; }
.fb-post-loc { font-family:Arial,sans-serif;font-size:.68rem;color:var(--ink-muted);background:rgba(0,0,0,.06);border-radius:3px;padding:.05rem .35rem; }
.fb-post-text { font-family:Georgia,serif;font-size:.88rem;color:var(--ink);line-height:1.45;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden; }
.fb-post-meta { font-family:Arial,sans-serif;font-size:.72rem;color:var(--ink-muted);margin-top:auto; }
.fb-filter-row { display:flex;gap:.5rem;margin-bottom:.85rem;flex-wrap:wrap;align-items:center; }
.fb-filter-row select { font-family:Arial,sans-serif;font-size:.78rem;border:1px solid var(--rule);border-radius:3px;padding:.2rem .5rem;background:var(--bg-white);color:var(--ink);cursor:pointer; }
.fb-empty { font-family:Arial,sans-serif;font-size:.85rem;color:var(--ink-muted);padding:1.5rem 0;grid-column:1/-1; }
@media(max-width:900px){.fb-feed{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.fb-feed{grid-template-columns:1fr}}

/* ── Local news combined section ── */
.ln-section { margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--rule); }
.ln-head { display:flex;align-items:baseline;gap:.55rem;margin-bottom:1.1rem;flex-wrap:wrap; }
.ln-pin { font-size:1rem; }
.ln-title { font-family:Arial,sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-muted);font-weight:700; }
.ln-title strong { color:var(--ink);font-size:.85rem;text-transform:none;letter-spacing:0; }
.ln-change { font-family:Arial,sans-serif;font-size:.75rem;color:var(--accent);text-decoration:none;margin-left:.25rem; }
.ln-change:hover { text-decoration:underline; }
.ln-rss { display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-bottom:1.25rem; }
.ln-article { display:flex;flex-direction:column;gap:.3rem;padding:.75rem;border:1px solid var(--rule);border-radius:4px;text-decoration:none;transition:border-color .15s,background .15s; }
.ln-article:hover { border-color:var(--accent);background:rgba(192,57,43,.04); }
.ln-art-source { font-family:Arial,sans-serif;font-size:.68rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.5px; }
.ln-art-headline { font-family:Georgia,serif;font-size:.9rem;color:var(--ink);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.ln-art-meta { font-family:Arial,sans-serif;font-size:.7rem;color:var(--ink-muted);margin-top:auto; }
.ln-fb-label { display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem;font-family:Arial,sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-muted);font-weight:700; }
.ln-empty { font-family:Arial,sans-serif;font-size:.85rem;color:var(--ink-muted);padding:.5rem 0; }
@media(max-width:760px){.ln-rss{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.ln-rss{grid-template-columns:1fr}}
