/* ------------------------------------------------------------
   Eren Sadıkoğlu — Portfolio
   Minimal, responsive, accessible stylesheet
------------------------------------------------------------- */

:root{
  --primary:#0d3b66;
  --accent:#faa916;
  --bg:#f9f9f9;
  --bg-dark:#14213d;
  --text:#1a1a1a;
  --text-on-dark:#ffffff;
  --card:#ffffff;
  --shadow:0 8px 20px rgba(0,0,0,.06);
  --radius:16px;

  /* Image sizing tokens (bigger defaults) */
  --thumb:160px;      /* desktop card thumbs */
  --thumb-sm:120px;   /* mobile card thumbs */
  --hero-media:500px; /* hero portrait column width */
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}

img{max-width:100%;display:block}

.container{
  width:min(1100px, 92vw);
  margin-inline:auto;
}

/* Skip link */
.skip-link{
  position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;
}
.skip-link:focus{position:static;width:auto;height:auto;background:#fff;padding:.5rem 1rem;border-radius:8px}

/* Header */
.site-header{
  background:var(--primary);
  color:var(--text-on-dark);
  position:sticky; top:0; z-index:50;
  box-shadow:var(--shadow);
}
.nav-wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding: .75rem 0;
}
.brand{
  color:var(--text-on-dark); text-decoration:none; font-weight:800; letter-spacing:.3px;
}
.site-nav .menu{
  display:flex; gap:.5rem; list-style:none; margin:0; padding:0;
}
.site-nav a{color:#fff; text-decoration:none; padding:.5rem .75rem; border-radius:10px}
.site-nav a:hover{background:var(--accent); color:#111}
.nav-toggle{display:none}

/* Hero */
.hero{
  background:#fff;
  border-bottom:1px solid #eaeaea;
}
.hero__grid{
  display:grid; gap:2rem; grid-template-columns: var(--hero-media) 1fr;
  padding: 2rem 0;
  align-items:center;
}
.hero__media img{border-radius:12px; box-shadow:var(--shadow)}
.hero__title{font-size:clamp(1.8rem, 3vw, 2.4rem); margin:.25rem 0}
.hero__subtitle{margin:0 0 .5rem 0; color:#444}
.meta{list-style:none; padding:0; margin:0 0 .75rem 0; display:grid; gap:.25rem}
.meta__links a{font-weight:600}
.lead{font-size:1.05rem}

/* Sections */
.section{padding:3rem 0}
.section.alt{background:#fff;border-top:1px solid #eee;border-bottom:1px solid #eee}
.section h2{font-size:1.6rem; margin:0 0 1.2rem 0}

/* Cards grid */
.cards{
  display:grid;
  gap:1rem;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.card{
  background:var(--card);
  border-radius:var(--radius);
  padding:1rem;
  box-shadow:var(--shadow);
  display:grid;
  grid-template-columns: var(--thumb) 1fr;
  gap:1rem;
  align-items:start;
}
.card img{
  width:var(--thumb); height:var(--thumb); object-fit:cover; border-radius:12px;
  background:#f2f2f2;
}

/* Timeline (News) */
.timeline{
  list-style:none; padding:0; margin:0; display:grid; gap:.75rem;
  border-left:3px solid rgba(13,59,102,.15); padding-left:1rem;
}
.timeline__item{position:relative}
.timeline__item::before{
  content:""; position:absolute; left:-1.1rem; top:.4rem;
  width:.6rem; height:.6rem; border-radius:50%;
  background:var(--primary);
}
.timeline time{font-weight:700; margin-right:.5rem}

/* Publications */
.pub-list{display:grid; gap:1rem}
.pub-card{
  background:var(--card);
  border-radius:var(--radius);
  padding:1rem;
  box-shadow:var(--shadow);
}
.pub-title{margin:.2rem 0}
.pub-authors, .pub-venue{margin:.2rem 0; color:#444}
.pub-links{display:flex; gap:.5rem; align-items:center; margin-top:.4rem}
.bibtex-toggle{
  appearance:none; border:1px solid #ddd; background:#fff; padding:.35rem .6rem; border-radius:10px; cursor:pointer; font-weight:600;
}
.bibtex{
  background:#0b25421a; border-left:3px solid var(--primary);
  padding:.75rem; border-radius:8px; overflow:auto; margin-top:.5rem;
}
.is-collapsed{display:none}

/* Small hints */
.hint{opacity:.85}

/* Footer */
.site-footer{
  background:var(--bg-dark);
  color:var(--text-on-dark);
  text-align:center;
  padding:2rem 0 2.5rem;
  margin-top:2rem;
}
.site-footer .btn{
  display:inline-block;
  background:var(--accent);
  color:#111;
  text-decoration:none;
  padding:.6rem 1rem;
  border-radius:12px;
  font-weight:700;
}
.site-footer .small{opacity:.8; margin-top:1rem}

/* Responsive nav for narrow screens */
@media (max-width: 760px){
  .nav-toggle{display:inline-flex; background:transparent; color:#fff; border:1px solid rgba(255,255,255,.4); border-radius:10px; padding:.3rem .6rem}
  .menu{display:none; flex-direction:column; background:var(--bg-dark); position:absolute; right:4vw; top:58px; padding:.5rem; border-radius:12px; box-shadow:var(--shadow)}
  .menu.show{display:flex}
  .hero__grid{grid-template-columns:1fr}
  .card{grid-template-columns:var(--thumb-sm) 1fr}
  .card img{width:var(--thumb-sm);height:var(--thumb-sm)}
}
