/* ═══════════════════════════════════════════════════════════
   AeginaNews — Global Modern Enhancement Layer
   Φορτώνεται από header.php → πιάνει όλες τις σελίδες
   Κρατάει την ταυτότητα (navy #0f172a + μπλε #2563eb)
   ═══════════════════════════════════════════════════════════ */
:root {
  --sh-sm: 0 1px 2px rgba(15,23,42,.04), 0 1px 3px rgba(15,23,42,.06);
  --sh-md: 0 4px 6px -1px rgba(15,23,42,.07), 0 2px 4px -2px rgba(15,23,42,.06);
  --sh-lg: 0 12px 28px -6px rgba(15,23,42,.12), 0 4px 10px -4px rgba(15,23,42,.08);
  --sh-blue: 0 8px 24px -6px rgba(37,99,235,.28);
  --ez: cubic-bezier(.4,0,.2,1);
}
html.dark {
  --sh-sm: 0 1px 3px rgba(0,0,0,.35);
  --sh-md: 0 4px 10px rgba(0,0,0,.4);
  --sh-lg: 0 14px 34px -8px rgba(0,0,0,.6);
}

/* ═══ NEWS CARDS (index) ═══ */
.news-card {
  box-shadow: var(--sh-sm) !important;
  transition: transform .25s var(--ez), box-shadow .25s var(--ez) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}
.news-card:hover { transform: translateY(-5px); box-shadow: var(--sh-lg) !important; }
.card-img { transition: transform .4s var(--ez); }
.news-card:hover .card-img { transform: scale(1.04); }
.card-title { transition: color .2s var(--ez); }
.news-card:hover .card-title { color: var(--accent); }

/* ═══ FILTER CHIPS ═══ */
.filter-btn { transition: all .2s var(--ez); box-shadow: 0 1px 2px rgba(15,23,42,.03); }
.filter-btn:hover { transform: translateY(-1px); box-shadow: var(--sh-sm); }
.filter-btn.active { box-shadow: var(--sh-blue); }

/* ═══ HERO ═══ */
.hero-wrap { box-shadow: var(--sh-lg) !important; border-radius: 16px !important; }
.hero-slide img { transition: transform .6s var(--ez); }
.hero-main:hover .hero-slide img { transform: scale(1.03); }

/* ═══ BENTO CTA (index) ═══ */
.bento-cta {
  display: grid; grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 1fr; gap: .8rem; margin-bottom: 1.4rem;
}
.bento-cta > * { margin-bottom: 0 !important; }
.bento-cta .bento-today, .bento-cta .bento-all,
.bento-cta .bento-phones, .bento-cta .bento-dir { grid-column: span 2; }
.bento-cta .ferry-cta, .bento-cta .phones-cta { height: 100%; margin-bottom: 0; }
@media (max-width: 768px) {
  .bento-cta { grid-template-columns: 1fr 1fr; }
  .bento-cta > * { grid-column: span 1 !important; }
}
@media (max-width: 480px) {
  .bento-cta { grid-template-columns: 1fr; }
}
.phones-cta {
  box-shadow: var(--sh-sm); border-radius: 12px;
  transition: transform .22s var(--ez), box-shadow .22s var(--ez), border-color .15s;
}
.phones-cta:hover { transform: translateY(-2px); box-shadow: var(--sh-md); }

/* ═══ LOAD MORE BUTTON ═══ */
#loadMoreBtn {
  background: linear-gradient(100deg, #1d4ed8, #2563eb 60%, #3b82f6) !important;
  box-shadow: var(--sh-blue);
  transition: transform .2s var(--ez), box-shadow .2s var(--ez) !important;
}
#loadMoreBtn:hover { transform: translateY(-2px); box-shadow: 0 10px 28px -6px rgba(37,99,235,.45) !important; }

/* ═══ BUSINESS DIRECTORY CARDS (odigos) ═══ */
.biz-card, .business-card {
  box-shadow: var(--sh-sm) !important;
  transition: transform .22s var(--ez), box-shadow .22s var(--ez) !important;
  border-radius: 14px !important;
}
.biz-card:hover, .business-card:hover {
  transform: translateY(-4px); box-shadow: var(--sh-lg) !important;
}
.biz-cta {
  box-shadow: var(--sh-blue);
  transition: transform .18s var(--ez), opacity .15s !important;
}
.biz-cta:hover { transform: translateY(-1px); }
/* Category chips on odigos */
.cat-chip, .chip {
  transition: all .2s var(--ez);
}
.cat-chip:hover, .chip:hover { transform: translateY(-1px); box-shadow: var(--sh-sm); }

/* ═══ ARTICLE PAGE ═══ */
.article-image { border-radius: 14px !important; box-shadow: var(--sh-md); }
.read-original-btn, .share-btn {
  transition: transform .18s var(--ez), box-shadow .18s var(--ez), opacity .15s !important;
}
.read-original-btn:hover { transform: translateY(-2px); box-shadow: var(--sh-blue); }
.share-btn:hover { transform: translateY(-1px); }

/* ═══ TILEFONA ═══ */
.phone-item {
  box-shadow: var(--sh-sm) !important;
  transition: transform .18s var(--ez), box-shadow .18s var(--ez) !important;
  border-radius: 10px !important;
}
.phone-item:hover { transform: translateY(-2px); box-shadow: var(--sh-md) !important; }

/* ═══ DROMOLOGIA ═══ */
.trip-route {
  transition: transform .18s var(--ez), box-shadow .18s var(--ez) !important;
}
.trip-route:hover { transform: translateY(-2px); box-shadow: var(--sh-md) !important; }

/* ═══ PAGINATION ═══ */
.page-btn { transition: all .18s var(--ez); }
.page-btn:hover { transform: translateY(-1px); box-shadow: var(--sh-sm); }
.page-btn.active { box-shadow: var(--sh-blue); }

/* ═══ CARD FADE-IN (index grid) ═══ */
@keyframes cardFadeIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.news-grid .news-card { animation: cardFadeIn .4s var(--ez) backwards; }
.news-grid .news-card:nth-child(1){animation-delay:.02s}
.news-grid .news-card:nth-child(2){animation-delay:.06s}
.news-grid .news-card:nth-child(3){animation-delay:.10s}
.news-grid .news-card:nth-child(4){animation-delay:.14s}
.news-grid .news-card:nth-child(5){animation-delay:.18s}
.news-grid .news-card:nth-child(6){animation-delay:.22s}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
