/* Light mode base styles for NeoAnimeBase */
:root{
  --bg:#ffffff;
  --surface:#f8f9fb;
  --text:#0f1724;
  --muted:#6b7280;
  --accent:#2563eb;
  --header-height:72px;
  --max-width:1200px;
  --radius:10px;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.45;
}

/* Container */
.nab-container{
  max-width:var(--max-width);
  margin:0 auto;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

/* Header */
.nab-header{
  background:linear-gradient(180deg, var(--surface), #ffffff);
  border-bottom:1px solid rgba(15,23,36,0.06);
  position:sticky;
  top:0;
  z-index:1000;
  height:var(--header-height);
  display:flex;
  align-items:center;
}

/* Brand (logo + title) */
.nab-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--text);
}
.nab-icon{
  width:44px;
  height:44px;
  border-radius:8px;
  object-fit:cover;
  display:block;
  box-shadow:0 2px 6px rgba(2,6,23,0.06);
}
.nab-title{
  font-weight:700;
  font-size:18px;
  letter-spacing:0.2px;
  margin-left:4px; /* dodatkowy odstęp przy ikonie */
}

/* Navigation right side */
/* Dodajemy grupowanie: left (brand) i right (nav) w headerze.
   Dzięki temu łatwo kontrolować odstęp między lupą a nazwą strony. */
.nab-left{
  display:flex;
  align-items:center;
  gap:12px;
}
.nab-nav{
  display:flex;
  align-items:center;
  gap:24px; /* większy odstęp między search a tabs */
  margin-left:18px; /* dodatkowy odstęp od brand (zapewnia przestrzeń między lupą a nazwą) */
}

/* Search */
.nab-search{
  display:flex;
  align-items:center;
  gap:8px;
  background:rgba(37,99,235,0.06);
  padding:6px 10px;
  border-radius:999px;
}
.nab-search-button{
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  display:flex;
  align-items:center;
  cursor:pointer;
}
.material-icons.nab-search-icon{
  font-size:20px;
  color:var(--accent);
}
.nab-search-input{
  border:0;
  outline:0;
  background:transparent;
  width:180px;
  font-size:14px;
  color:var(--text);
  padding-left:4px;
}

/* Tabs */
.nab-tabs{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:12px;
  align-items:center;
}
.nab-tabs a{
  text-decoration:none;
  color:var(--muted);
  padding:8px 12px;
  border-radius:8px;
  font-weight:600;
  font-size:14px;
}
.nab-tabs a:hover{
  color:var(--accent);
  background:rgba(37,99,235,0.06);
}

/* Aktywna zakładka (dodawana przez JS) */
.nab-tab-active{
  color:var(--accent);
  background:rgba(37,99,235,0.08);
  box-shadow:0 1px 0 rgba(37,99,235,0.06) inset;
}

/* Footer */
.nab-footer{
  border-top:1px solid rgba(15,23,36,0.04);
  background:transparent;
  padding:18px 0;
  margin-top:40px;
}
.nab-footer .nab-container{
  justify-content:center;
}
.nab-footer p{margin:0;color:var(--muted);font-size:13px}

/* Content placeholder */
.nab-main{
  max-width:var(--max-width);
  margin:28px auto;
  padding:0 20px;
  min-height:60vh;
}

/* Hero content */
.nab-hero{
  background:linear-gradient(180deg, rgba(37,99,235,0.04), transparent);
  border-radius:12px;
  padding:28px;
  box-shadow:0 6px 18px rgba(2,6,23,0.03);
}
.nab-hero h1{
  margin:0 0 8px 0;
  font-size:28px;
  color:var(--text);
}
.nab-hero p{
  margin:0;
  color:var(--muted);
  font-size:16px;
}

/* Responsive */
@media (max-width:820px){
  .nab-search-input{display:none}
  .nab-container{padding:0 14px}
  .nab-title{display:none}
  .nab-tabs a{padding:6px 8px;font-size:13px}
  .nab-nav{gap:12px; margin-left:8px}
}


/* Wyniki wyszukiwania */
.nab-results-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap:18px;
  margin-top:20px;
}

/* Karta tytułu */
.nab-card{
  background: #fff;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(2,6,23,0.03);
  transition:transform .12s ease, box-shadow .12s ease;
}
.nab-card:hover{ transform: translateY(-6px); box-shadow:0 12px 30px rgba(2,6,23,0.06); }

.nab-card-link{ display:block; color:inherit; text-decoration:none; }

.nab-card-cover{
  width:100%;
  height:300px;
  object-fit:cover;
  display:block;
  background:#f2f4f8;
}

.nab-card-body{
  padding:12px 14px;
}
.nab-card-title{
  margin:0 0 6px 0;
  font-size:16px;
  color:var(--text);
}
.nab-card-desc{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
  max-height:3.9em;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nab-no-results{
  margin-top:18px;
  color:var(--muted);
}

/* Suggestions dropdown — nie powoduje reflow, stały rozmiar miniatur */
.nab-search{ position:relative; z-index:1100; }

/* kontener absolutny, pozycjonowany względem formy, używa transform (nie reflow) */
.nab-suggestions{
  position:absolute;
  top:100%;
  left:0;
  transform:translateY(8px); /* wizualny offset bez przesuwania layoutu */
  background:var(--bg);
  border:1px solid rgba(15,23,36,0.08);
  box-shadow:0 8px 24px rgba(2,6,23,0.06);
  border-radius:10px;
  min-width:260px;
  max-width:420px;
  width:max-content;
  max-height:320px;
  overflow:auto;
  padding:6px;
  z-index:1200;
  will-change:transform,opacity; /* hint dla przeglądarki */
  -webkit-overflow-scrolling:touch;
}

/* itemy mają stałą wysokość, miniatura ma stały rozmiar */
.nab-suggestion{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:8px;
  border-radius:8px;
  cursor:pointer;
  text-decoration:none;
  color:var(--text);
  height:76px; /* stała wysokość — zapobiega skokowi przy hover */
  box-sizing:border-box;
}
.nab-suggestion:hover,
.nab-suggestion[aria-selected="true"]{
  background:rgba(37,99,235,0.06);
}

/* mała, stała miniatura — nie rozpycha layoutu */
.nab-suggestion-cover{
  width:48px;
  height:68px;
  object-fit:cover;
  border-radius:6px;
  background:#f2f4f8;
  flex:0 0 48px;
}

/* treść zajmuje resztę miejsca, tekst obcina się elegancko */
.nab-suggestion-body{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
}
.nab-suggestion-title{
  margin:0;
  font-size:14px;
  font-weight:700;
  color:var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nab-suggestion-desc{
  margin:4px 0 0 0;
  font-size:12px;
  color:var(--muted);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* ukryj/wyświetl bez wpływu na flow dokumentu */
.nab-suggestions[hidden]{
  display:none;
}
