.aipc-chat{font-family:inherit;width:100%}
.aipc-chat__result{height:340px;border:1px solid #e5e5e5;border-radius:16px;background:#fff;display:flex;flex-direction:column;overflow:hidden}
.aipc-chat__request{padding:10px 12px;border-bottom:1px solid #f0f0f0;font-size:13px;line-height:1.35;color:#111;background:#fafafa}
.aipc-chat__request strong{display:block;margin-bottom:4px;font-size:12px;letter-spacing:0.04em;color:#666;text-transform:uppercase}
.aipc-chat__log{flex:1;overflow:auto;padding:12px}
.aipc-chat__row{display:flex;gap:10px;margin-top:10px}
.aipc-chat__input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:14px}
.aipc-chat__btn{padding:10px 14px;border:0;border-radius:14px;background:#d32f2f;color:#fff;font-weight:600;cursor:pointer}

/* Small neutral preloader shown while waiting for the answer */
.aipc-chat__loader{
  width:18px;
  height:18px;
  border-radius:50%;
  border:2px solid rgba(0,0,0,0.18);
  border-top-color: rgba(0,0,0,0.45);
  animation:aipcSpin 0.8s linear infinite;
  align-self:center;
}

@keyframes aipcSpin{
  to{transform:rotate(360deg)}
}

.aipc-chat__filters{
  display:flex;
  flex-wrap:nowrap;
  gap:6px;
  margin-top:10px;
  align-items:center;
  /* zahtev: dugmići/selekti u jednoj liniji u okviru postojeće širine */
  overflow:hidden;
}

.aipc-chat__select{
  /* suženje: manji font i kompaktniji padding da sve stane u jednu liniju */
  padding:4px 6px;
  border:1px solid #ddd;
  border-radius:12px;
  background:#fff;
  color:#000;
  text-transform:uppercase;
  font-weight:600;
  text-align:center;
  font-size:10px;
  line-height:1.15;

  /* dozvoli da se svaki select ravnomerno sabije i popuni širinu reda */
  min-width:0;
  width:auto !important;
  flex:1 1 0;
  white-space:nowrap;
}

.aipc-chat__select--small{min-width:0}

/* dodatno: ako tema gađa select globalno */
.aipc-chat__filters select{max-width:none !important}

.aipc-chat__select.is-selected{background:#d32f2f;color:#fff;border-color:#d32f2f}
.aipc-chat__select option{color:#000 !important;background:#fff !important}
.aipc-chat__hint{margin-top:8px;color:#666;font-size:12px}

/* Answer layout */
.aipc-comment{margin:0 0 6px;color:#333;font-size:13px;line-height:1.35}
.aipc-intro{margin:0 0 8px}
.aipc-items{margin:8px 0 0;padding-left:18px}
.aipc-items li{margin:10px 0}
.aipc-meta{color:#666;font-size:12px;margin-bottom:2px}
.aipc-title{font-size:14px;line-height:1.25}
.aipc-title-link{text-decoration:none}
.aipc-desc-snippet{margin-top:4px;color:#333;font-size:13px;line-height:1.35}
.aipc-rec-main{border:1px solid #eee;border-radius:16px;padding:10px 12px;background:#fff}
.aipc-rec-more{margin-top:10px;color:#333;font-size:13px}
.aipc-rec-alts{display:grid;gap:8px;margin-top:6px}
.aipc-rec-alt{border:1px solid #f0f0f0;border-radius:16px;padding:10px 12px;background:#fff}

/* Raise the launcher to avoid overlapping "back to top" buttons */
.aipc-float{position:fixed;right:18px;bottom:var(--aipc-float-bottom,68px);z-index:99999}
.aipc-float-btn{display:flex;align-items:center;gap:8px;border:0;border-radius:999px;background:#d32f2f;color:#fff;padding:12px 14px;font-weight:600;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,0.2);animation:aipcPulse 2.4s ease-in-out infinite}
.aipc-float-panel{position:absolute;right:0;bottom:56px;width:460px;max-width:calc(100vw - 36px);background:#fff;border:1px solid #e5e5e5;border-radius:18px;box-shadow:0 16px 50px rgba(0,0,0,0.25);overflow:hidden}
.aipc-float-panel__header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#111;color:#fff}
.aipc-float-panel__title{font-weight:700;letter-spacing:0.08em}
.aipc-float-panel__close{border:0;background:transparent;color:#fff;font-size:18px;cursor:pointer}
.aipc-float-panel .aipc-chat{padding:12px}
@media (max-width:480px){.aipc-chat__result{height:300px}}

@keyframes aipcPulse{
  0%,100%{transform:scale(1);filter:drop-shadow(0 10px 30px rgba(0,0,0,0.2))}
  50%{transform:scale(1.04);filter:drop-shadow(0 14px 40px rgba(0,0,0,0.28))}
}

@media (min-width:992px){
  .aipc-float-panel{width:520px}
}


/* Recommended badge */
.aipc-badge-reco{display:inline-block;font-size:11px;line-height:1;padding:2px 6px;border-radius:999px;background:#fff3cd;color:#8a6d3b;border:1px solid #ffeeba;vertical-align:middle}


/* === Override: request + answers scroll together (no sticky) === */
.aipc-chat__result{
  display:block !important;
  position:relative;
  max-height:420px;
  overflow:auto !important;
  padding:0 !important;
}
.aipc-chat__request{
  position:static !important;
  top:auto !important;
}
.aipc-chat__log{
  overflow:visible !important;
  padding:12px !important;
}

/* Reset filters button */
.aipc-chat__reset{border:1px solid rgba(0,0,0,.15);background:transparent;padding:8px 10px;border-radius:10px;cursor:pointer;font-size:12px;line-height:1;white-space:nowrap}
.aipc-chat__reset:hover{background:rgba(0,0,0,.04)}

/* Welcome message (shown once on first open) */
.aipc-welcome__row{display:flex;gap:10px;align-items:flex-start}
.aipc-welcome__title{margin:0 0 4px}
.aipc-welcome__hint{opacity:.85}
.aipc-wave{display:inline-block;font-size:20px;line-height:1;transform-origin:70% 70%;animation:aipcWave 1.2s ease-in-out 2}
@keyframes aipcWave{0%{transform:rotate(0deg)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}60%{transform:rotate(0deg)}100%{transform:rotate(0deg)}}

/* Intro (naslovna) strana unutar chat-a (overlay)
   NOTE: .aipc-intro is used for small inline intro text in answers.
   Using a separate class prevents the overlay styles from "marking" results. */
.aipc-intro-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(2px);z-index:20}
.aipc-intro__card{width:100%;max-width:420px;background:#fff;border:1px solid #e9e9e9;border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.12);padding:18px;text-align:center}
.aipc-intro__emoji{font-size:54px;line-height:1;margin:0 0 10px}
.aipc-intro__title{font-size:16px;margin:0 0 8px}
.aipc-intro__text{font-size:13px;opacity:.9;margin:0 0 14px}
.aipc-intro__btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:12px;padding:10px 14px;font-weight:600;cursor:pointer;background:#e53935;color:#fff}
.aipc-intro__btn:hover{filter:brightness(.98)}



/* Mobile filter layout
   Zahtev: 3 dugmeta po redu
   1. red: Kanal, Žanr, Film/Serija
   2. red: Dan, Vreme, Poništi
*/
@media (max-width: 520px){
  .aipc-chat__filters{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas:
      "channel genre type"
      "day time reset";
    gap:8px;
  }
  #aipcChannel{ grid-area: channel; }
  #aipcGenre{ grid-area: genre; }
  #aipcType{ grid-area: type; }
  #aipcDay{ grid-area: day; }
  #aipcTime{ grid-area: time; }
  #aipcReset{ grid-area: reset; width:100%; }

  .aipc-chat__select{ width:100%; min-width:0; }
}

/* "Pogledaj još" link ispod preporuka */
.aipc-more{margin-top:10px}
.aipc-more .aipc-more-link{display:inline-block;font-weight:600;text-decoration:underline}
.aipc-more .aipc-more-link.is-loading{opacity:.6;pointer-events:none}


/* "Učitaj još" dugme u listi */
.aipc-more-load{margin-top:10px}
.aipc-more-load .aipc-load-more{display:inline-block;font-weight:600;text-decoration:underline}
.aipc-more-load .aipc-load-more.is-loading{opacity:.6;pointer-events:none}
