/* ══════════════════════════════════════════════════
   UNMCG — biblioteka.css
   Digitalna biblioteka: grid, kartica, profil,
   upload forma, ocjene, omiljeni, komentari
   ══════════════════════════════════════════════════ */

/* ── Wrapper ─────────────────────────────────────── */
.us-lib-wrap  { font-family: system-ui, sans-serif; max-width: 1100px; margin: 0 auto; }
.us-lib-header { margin-bottom: 1.5rem; }
.us-lib-header h2 { font-size: 1.75rem; color: #0a2342; margin: 0 0 .3rem; }
.us-lib-header p  { color: #6b7a99; margin: 0; }

/* ── Filter forma ────────────────────────────────── */
.us-lib-filter {
  display: flex; flex-wrap: wrap; gap: .5rem;
  align-items: center; margin-bottom: 1.25rem;
}
.us-lib-search { flex: 1 1 200px; }
.us-lib-count  { font-size: .88rem; color: #6b7a99; margin: 0 0 1rem; }

/* ── Grid katica ─────────────────────────────────── */
.us-lib-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 1.25rem;
  margin-bottom: 1.5rem;
  align-items: start; /* kartice zadržavaju prirodnu visinu (ne razvlače se) */
}

.us-lib-card {
  background: #fff;
  border: 1px solid #dde3ef;
  border-radius: 12px;
  padding: 1rem;
  display: flex; flex-direction: column; gap: .5rem;
  align-self: start; height: auto; min-height: 0; /* prirodna visina po sadržaju */
  transition: box-shadow .2s, transform .2s;
}
.us-lib-card:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,.1);
  transform: translateY(-2px);
}

/* Card head */
.ulc-head {
  display: flex; align-items: center; gap: .4rem; flex-wrap: wrap;
}
.ulc-fmt {
  font-size: .72rem; font-weight: 700; letter-spacing: .04em;
  padding: .2rem .5rem; border-radius: 6px;
  background: #f1f5f9; color: #0a2342;
}
.ulc-fmt-pdf  { background: #fee2e2; color: #991b1b; }
.ulc-fmt-docx,.ulc-fmt-doc  { background: #dbeafe; color: #1e40af; }
.ulc-fmt-pptx,.ulc-fmt-ppt  { background: #ffedd5; color: #9a3412; }
.ulc-fmt-xlsx,.ulc-fmt-xls  { background: #dcfce7; color: #166534; }
.ulc-fmt-zip  { background: #f3e8ff; color: #6b21a8; }
.ulc-fmt-ggb  { background: #e0f2fe; color: #075985; }

.ulc-razred {
  font-size: .7rem; background: #f0fdf4; color: #15803d;
  border: 1px solid #bbf7d0; border-radius: 6px; padding: .15rem .4rem;
}

/* Favorite button */
.ulc-fav {
  margin-left: auto; background: none; border: none;
  cursor: pointer; font-size: 1rem; color: #dde3ef;
  padding: .1rem; line-height: 1; transition: color .15s;
}
.ulc-fav.active, .ulc-fav:hover { color: #e11d48; }

/* Card text */
.ulc-title { margin: 0; font-size: .95rem; }
.ulc-title a { color: #0a2342; text-decoration: none; font-weight: 700; }
.ulc-title a:hover { color: #c9a84c; text-decoration: underline; }

.ulc-predmet { font-size: .78rem; color: #6b7a99; margin: 0; }
.ulc-excerpt { font-size: .82rem; color: #4b5563; margin: 0; line-height: 1.5; flex: 1; }

.ulc-stars { color: #f59e0b; font-size: .85rem; }
.ulc-stars small { color: #6b7a99; font-size: .75rem; }

.ulc-footer {
  display: flex; align-items: center; justify-content: space-between;
  gap: .5rem; margin-top: auto; padding-top: .5rem;
  border-top: 1px solid #f1f5f9;
}
.ulc-stats { font-size: .75rem; color: #6b7a99; }
.ulc-stats a { color: #0a2342; text-decoration: none; }
.ulc-stats a:hover { text-decoration: underline; }
.ulc-no-dl { font-size: 1rem; cursor: default; }

/* ── Single materijal ────────────────────────────── */
.us-mat-wrap  { max-width: 860px; }
.us-mat-header {
  display: flex; gap: 1.25rem; align-items: flex-start;
  margin-bottom: 1.5rem; padding-bottom: 1.25rem;
  border-bottom: 2px solid #dde3ef;
}
.us-mat-fmt-icon { font-size: 3rem; flex-shrink: 0; line-height: 1; }
.us-mat-title { font-size: 1.5rem; color: #0a2342; margin: 0 0 .5rem; font-weight: 800; }
.us-mat-meta-row {
  display: flex; flex-wrap: wrap; gap: .5rem 1rem;
  font-size: .85rem; color: #6b7a99;
}
.us-mat-meta-row a { color: #0a2342; text-decoration: none; }
.us-mat-meta-row a:hover { text-decoration: underline; }
.us-mat-ver {
  background: #f1f5f9; color: #374151; border-radius: 6px;
  padding: .15rem .5rem; font-size: .75rem; font-weight: 600;
}

.us-mat-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .5rem; }
.us-mat-tag {
  background: #f1f5f9; color: #374151;
  border-radius: 20px; padding: .2rem .65rem;
  font-size: .75rem; font-weight: 500;
}

.us-mat-opis {
  background: #f8fafc; border-left: 4px solid #c9a84c;
  border-radius: 0 8px 8px 0; padding: 1rem 1.25rem;
  font-size: .92rem; color: #1a2b45; line-height: 1.7;
  margin-bottom: 1.5rem;
}

.us-mat-actions {
  display: flex; flex-wrap: wrap; gap: .75rem;
  align-items: center; margin-bottom: 1.25rem;
}
.us-btn-lg { padding: .65rem 1.5rem; font-size: 1rem; }

.us-mat-stats {
  display: flex; gap: 1.5rem; flex-wrap: wrap;
  font-size: .85rem; color: #6b7a99; margin-bottom: 1.75rem;
}

/* ── Ocjene ──────────────────────────────────────── */
.us-mat-rating { margin-bottom: 2rem; }
.us-mat-rating h3 { font-size: 1rem; color: #0a2342; margin-bottom: .5rem; }
.us-stars-input { display: flex; gap: .25rem; }
.us-star-btn {
  background: none; border: none; cursor: pointer;
  font-size: 1.6rem; color: #dde3ef; padding: 0; line-height: 1;
  transition: color .1s, transform .1s;
}
.us-star-btn:hover, .us-star-btn.active { color: #f59e0b; transform: scale(1.15); }
#usRateMsg { font-size: .85rem; color: #15803d; margin-left: .5rem; }

/* ── Komentari ───────────────────────────────────── */
.us-mat-comments { margin-top: 2rem; }
.us-mat-comments h3 { font-size: 1.1rem; color: #0a2342; margin-bottom: 1rem; }

.us-comment-list { display: flex; flex-direction: column; gap: .85rem; margin-bottom: 1.25rem; }
.us-comment {
  background: #f8fafc; border: 1px solid #e2e8f0;
  border-radius: 8px; padding: .75rem 1rem;
}
.us-comment-meta {
  display: flex; gap: .75rem; align-items: baseline;
  margin-bottom: .35rem; font-size: .82rem; color: #6b7a99;
}
.us-comment-meta strong { color: #0a2342; font-size: .88rem; }
.us-comment-body { font-size: .9rem; color: #1a2b45; line-height: 1.6; }

.us-comment-form h4 { font-size: .95rem; color: #0a2342; margin-bottom: .5rem; }

/* ── Upload forma ────────────────────────────────── */
.us-upload-wrap { max-width: 760px; }
.us-upload-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem;
}
.us-form-row { margin-bottom: .85rem; }
.us-label { display: block; font-weight: 600; font-size: .88rem; color: #1a2b45; margin-bottom: .3rem; }
.us-req { color: #b91c1c; }
.us-field-hint { color: #6b7a99; font-size: .78rem; display: block; margin-top: .25rem; }
.us-divider { border: none; border-top: 1px solid #dde3ef; margin: 1.75rem 0; }

.us-table-simple { width: 100%; border-collapse: collapse; font-size: .88rem; }
.us-table-simple th { text-align: left; padding: .5rem .75rem; border-bottom: 2px solid #dde3ef; color: #0a2342; }
.us-table-simple td { padding: .5rem .75rem; border-bottom: 1px solid #f1f5f9; }
.us-table-simple a { color: #0a2342; text-decoration: none; }
.us-table-simple a:hover { text-decoration: underline; color: #c9a84c; }

#usLibUploadMsg.success { color: #15803d; font-weight: 600; padding: .75rem; background: #f0fdf4; border-radius: 8px; border: 1px solid #bbf7d0; }
#usLibUploadMsg.error   { color: #b91c1c; font-weight: 600; padding: .75rem; background: #fef2f2; border-radius: 8px; border: 1px solid #fecaca; }

/* ── Responsive ──────────────────────────────────── */
@media (max-width: 768px) {
  .us-lib-grid    { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: .85rem; }
  .us-lib-filter  { flex-direction: column; }
  .us-lib-filter .us-input { width: 100%; }
  .us-mat-header  { flex-direction: column; }
  .us-upload-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .us-lib-grid { grid-template-columns: 1fr 1fr; }
}

/* ══════════════════════════════════════════════════
   REDIZAJN: hero + kategorije + moderne kartice
   ══════════════════════════════════════════════════ */
.us-lib-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  background:linear-gradient(135deg,#0a2342 0%,#13315c 100%);color:#fff;border-radius:18px;
  padding:1.75rem 1.9rem;margin-bottom:1.5rem;border:1px solid rgba(201,168,76,.22);
  box-shadow:0 14px 40px rgba(10,35,66,.18);}
.us-lib-hero-title{color:#fff;font-size:1.85rem;margin:0 0 .4rem;font-weight:800;}
.us-lib-hero-sub{color:#cfe0ff;margin:0;max-width:60ch;line-height:1.55;}

/* + Dodaj materijal (details/summary) */
.us-lib-add{flex-shrink:0;}
.us-lib-add > summary{list-style:none;cursor:pointer;white-space:nowrap;}
.us-lib-add > summary::-webkit-details-marker{display:none;}
.us-lib-add[open] > summary{background:#b8943d;}
.us-lib-add-body{margin-top:1rem;background:#fff;color:#0a2342;border-radius:12px;padding:1.25rem;
  box-shadow:0 12px 30px rgba(0,0,0,.25);width:min(680px,90vw);}

/* Kategorije — velike kartice */
.us-lib-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;margin-bottom:1.75rem;}
.us-lib-cat{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-decoration:none;
  background:#fff;border:1px solid #dde3ef;border-radius:14px;padding:1.1rem 1.2rem;
  transition:transform .18s,box-shadow .18s,border-color .18s;}
.us-lib-cat:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(10,35,66,.14);border-color:#c9a84c;}
.us-lib-cat.is-active{border-color:#c9a84c;background:#fffdf5;box-shadow:0 6px 18px rgba(201,168,76,.2);}
.ulcat-ico{font-size:1.9rem;line-height:1;}
.ulcat-name{font-weight:700;color:#0a2342;font-size:1rem;line-height:1.2;}
.ulcat-count{font-size:.8rem;color:#6b7a99;}

/* Moderna kartica materijala */
.ulc-tip{font-size:.7rem;background:#eef2f9;color:#334155;border-radius:6px;padding:.15rem .45rem;margin-left:auto;}
.ulc-meta{display:flex;flex-wrap:wrap;gap:.35rem .8rem;font-size:.8rem;color:#6b7a99;}
.ulc-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem;padding-top:.6rem;}
.us-btn-lock{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;cursor:default;pointer-events:none;font-weight:600;}
a.us-btn-lock{pointer-events:auto;cursor:pointer;}

@media (max-width:600px){
  .us-lib-hero{padding:1.4rem;}
  .us-lib-hero-title{font-size:1.5rem;}
  .us-lib-cats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;}
  .us-lib-add-body{width:100%;}
}

/* Arhiva /materijali/ — razmak od fiksnog headera */
.lib-archive-main{padding:2rem 0 3rem;}

/* ══════════════════════════════════════════════════
   Preporučeni / Najpopularnije + bedževi + autor + statistika
   ══════════════════════════════════════════════════ */
.us-lib-sec-title{font-size:1.15rem;color:#0a2342;font-weight:800;margin:1.75rem 0 1rem;
  display:flex;align-items:center;gap:.4rem;}
.us-lib-featured,.us-lib-top{margin-bottom:.5rem;}

/* Bedževi na kartici */
.ulc-badges{display:flex;flex-wrap:wrap;gap:.35rem;}
.ulc-badge{font-size:.68rem;font-weight:700;padding:.15rem .5rem;border-radius:20px;line-height:1.5;}
.ulc-badge-star{background:#fff7e0;color:#9a6b00;border:1px solid #f2d98a;}
.ulc-badge-new{background:#e6f6ec;color:#15803d;border:1px solid #b7e4c7;}
.ulc-badge-hot{background:#fdeaea;color:#b91c1c;border:1px solid #f5b5b5;}

/* Autor + škola */
.ulc-author{display:flex;flex-wrap:wrap;gap:.2rem .8rem;font-size:.8rem;color:#334155;}
.ulc-author span{display:inline-flex;align-items:center;gap:.25rem;}

/* Statistika */
.ulc-stats{display:flex;flex-wrap:wrap;gap:.8rem;font-size:.78rem;color:#6b7a99;
  border-top:1px solid #eef2f7;padding-top:.5rem;margin-top:.15rem;}

/* ── AI asistent u upload formi ── */
.us-lib-ai-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:.25rem 0 1rem;}
.us-btn-gold{background:#d4af37;color:#0a2342;border:1px solid #c9a84c;font-weight:700;}
.us-btn-gold:hover{background:#e8c76a;color:#0a2342;}
.us-btn-gold:disabled{opacity:.6;cursor:default;}
.us-lib-ai-msg{font-size:.85rem;font-weight:600;}
.us-lib-ai-msg.is-load{color:#0a2342;}
.us-lib-ai-msg.is-load::after{content:"";display:inline-block;width:12px;height:12px;margin-left:6px;
  border:2px solid rgba(10,35,66,.25);border-top-color:#d4af37;border-radius:50%;
  vertical-align:middle;animation:usLibSpin .7s linear infinite;}
.us-lib-ai-msg.is-ok{color:#15803d;}
.us-lib-ai-msg.is-err{color:#b91c1c;}
@keyframes usLibSpin{to{transform:rotate(360deg);}}

/* ── Autorska prava ── */
.us-lib-copyright{background:#fff8e8;border:1px solid #f0dca0;border-radius:10px;padding:.75rem .9rem;margin:.5rem 0 1rem;}
.us-lib-cr-check{display:flex;gap:.5rem;align-items:flex-start;font-size:.88rem;color:#0a2342;cursor:pointer;}
.us-lib-cr-check input{margin-top:.2rem;flex-shrink:0;}
.us-lib-cr-note{margin:.5rem 0 0;font-size:.78rem;color:#7a5a00;line-height:1.5;}

/* Kartica — © oznaka */
.ulc-copyright{display:flex;gap:.4rem;flex-wrap:wrap;}
.ulc-cr-badge{display:inline-block;font-size:.68rem;font-weight:800;padding:.12rem .5rem;border-radius:20px;
  background:rgba(212,175,55,.18);color:#7a5a00;border:1px solid rgba(212,175,55,.5);}
.ulc-ai-badge{display:inline-block;font-size:.68rem;font-weight:700;padding:.12rem .45rem;border-radius:20px;
  background:#eef2f9;color:#334155;border:1px solid #dfe6f2;}

/* Single — diskretan pravni blok */
.us-mat-copyright{background:#f8fafc;border-left:3px solid #d4af37;border-radius:0 10px 10px 0;
  padding:.85rem 1rem;margin:1.25rem 0;}
.us-mat-copyright h3{margin:0 0 .35rem;font-size:.9rem;color:#0a2342;}
.us-mat-copyright p{margin:0;font-size:.82rem;color:#4b5563;line-height:1.6;}
.us-mat-ai-note{margin-top:.5rem !important;color:#334155 !important;font-style:italic;}

/* ===== Vidljivost: pill oznake na kartici ===== */
.ulc-vis{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;font-weight:700;
  letter-spacing:.02em;padding:2px 9px;border-radius:999px;}
.ulc-vis-javno{background:rgba(26,107,26,.12);color:#1a6b1a;}
.ulc-vis-clanovi{background:rgba(201,168,76,.18);color:#7a5f10;}

/* ===== Izbor vidljivosti u upload formi ===== */
.us-vis-choice{display:flex;flex-direction:column;gap:.5rem;width:100%;}
.us-vis-opt{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem .9rem;border:1px solid #dde3f0;
  border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s;}
.us-vis-opt:hover{border-color:#c9a84c;}
.us-vis-opt input{margin-top:.25rem;}
.us-vis-opt span{display:flex;flex-direction:column;}
.us-vis-opt small{color:#5a6172;font-size:.8rem;}

/* ===== Zaključana single kartica (član-only) ===== */
.us-locked-card{max-width:620px;margin:1.5rem auto;background:#fff;border:1px solid #dde3f0;border-top:4px solid #c9a84c;
  border-radius:16px;padding:2.5rem 2rem;text-align:center;box-shadow:0 10px 30px rgba(10,35,66,.10);}
.us-locked-ico{font-size:2.6rem;margin-bottom:.5rem;}
.us-locked-title{font-size:1.35rem;color:#0a2342;margin:0 0 .75rem;}
.us-locked-lead{font-size:1.05rem;color:#0a2342;font-weight:600;margin:0 0 .4rem;}
.us-locked-sub{color:#5a6172;margin:0 0 1.4rem;}
.us-locked-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;}
@media(max-width:560px){.us-locked-actions{flex-direction:column;}.us-locked-actions .us-btn{width:100%;}}

/* ===== Autor materijala (single) ===== */
.us-mat-author{margin:1.25rem 0;}
.us-mat-author h3{margin:0 0 .6rem;color:#0a2342;}
.us-mat-author-card{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid #dde3f0;
  border-left:3px solid #c9a84c;border-radius:12px;padding:1rem 1.15rem;}
.us-mat-author-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:0 0 auto;
  border:2px solid #c9a84c;}
.us-mat-author-ph{display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;
  color:#fff;background:linear-gradient(135deg,#0a2342,#163d6e);}
.us-mat-author-info{display:flex;flex-direction:column;gap:.15rem;}
.us-mat-author-info strong{color:#0a2342;font-size:1.05rem;}
.us-mat-author-info span{color:#5a6172;font-size:.86rem;}
.us-mat-author-info .us-btn{margin-top:.4rem;align-self:flex-start;}

/* ⭐ ocjena na kartici */
.ulc-rating{font-weight:700;color:#7a5f10;}
.ulc-rating-new{color:#1a6b1a;}

/* ===== Video lekcija — kartica thumbnail ===== */
.ulc-vthumb{position:relative;display:block;aspect-ratio:16/9;border-radius:10px;overflow:hidden;
  background:#0a2342;margin-bottom:12px;}
.ulc-vthumb img{width:100%;height:100%;object-fit:cover;display:block;}
.ulc-vthumb-ph{display:flex;align-items:center;justify-content:center;height:100%;font-size:2.4rem;}
.ulc-vplay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:2rem;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5);opacity:.92;transition:opacity .2s,transform .2s;}
.ulc-vthumb:hover .ulc-vplay{opacity:1;transform:scale(1.12);}
.ulc-fmt-video{background:rgba(180,30,30,.12);color:#b41e1e;}

/* ===== Video lekcija — single embed ===== */
.us-mat-video{position:relative;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;
  background:#000;margin:0 0 1.25rem;box-shadow:0 8px 24px rgba(10,35,66,.16);}
.us-mat-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ============================================================
   MODERNA UPLOAD FORMA (.usf) — v1.9.0
   ============================================================ */
.usf{max-width:760px;margin:0 auto;}
.usf-header{margin-bottom:22px;}
.usf-header h3{margin:0 0 4px;font-size:1.4rem;color:#0a2342;}
.usf-header p{margin:0;color:#5a6172;font-size:.95rem;}
.usf-card{background:#fff;border:1px solid rgba(10,35,66,.08);border-radius:18px;padding:22px;margin-bottom:18px;
  box-shadow:0 6px 20px rgba(10,35,66,.06);}
.usf-card-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.usf-step{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.9rem;color:#fff;background:linear-gradient(135deg,#163d6e,#1F4F8B);flex-shrink:0;}
.usf-card-head h4{margin:0;font-size:1.05rem;color:#0a2342;}
.usf-field{margin-bottom:14px;}
.usf-field:last-child{margin-bottom:0;}
.usf-label{display:block;font-size:.85rem;font-weight:600;color:#0a2342;margin-bottom:6px;}
.usf-input{width:100%;font:inherit;padding:.7rem .85rem;border:1px solid #dde3f0;border-radius:10px;background:#fff;transition:border-color .2s,box-shadow .2s;}
.usf-input:focus{outline:none;border-color:#c9a84c;box-shadow:0 0 0 3px rgba(201,168,76,.15);}
.usf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.usf-hint{display:block;color:#5a6172;font-size:.8rem;margin-top:6px;}

/* Vidljivost — dvije velike kartice */
.usf-vis{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.usf-vis-card{position:relative;display:flex;flex-direction:column;gap:4px;cursor:pointer;
  border:2px solid #dde3f0;border-radius:14px;padding:18px;transition:all .2s;background:#fff;}
.usf-vis-card input{position:absolute;opacity:0;pointer-events:none;}
.usf-vis-card:hover{border-color:rgba(31,79,139,.5);}
.usf-vis-card.is-active{border-color:#1F4F8B;background:rgba(31,79,139,.05);box-shadow:0 0 0 4px rgba(31,79,139,.12);}
.usf-vis-ico{font-size:1.6rem;}
.usf-vis-t{font-weight:700;color:#0a2342;}
.usf-vis-d{font-size:.82rem;color:#5a6172;}
.usf-vis-check{position:absolute;top:14px;right:14px;width:24px;height:24px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#fff;background:#1F4F8B;opacity:0;transform:scale(.6);transition:all .2s;}
.usf-vis-card.is-active .usf-vis-check{opacity:1;transform:scale(1);}
.usf-field--inline{margin-top:6px;}

/* Drop zona */
.usf-drop{position:relative;border:2px dashed #b9c6dc;border-radius:16px;padding:34px 20px;text-align:center;
  cursor:pointer;transition:border-color .2s,background .2s;background:#f7f9fc;}
.usf-drop:hover,.usf-drop:focus{border-color:#c9a84c;background:#fdf9ee;outline:none;}
.usf-drop.is-drag{border-color:#1F4F8B;background:rgba(31,79,139,.06);}
.usf-drop.has-file{border-style:solid;border-color:#1a7d33;background:#f2fbf4;cursor:default;}
.usf-file{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;}
.usf-drop.has-file .usf-file{pointer-events:none;}
.usf-drop-inner{display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;}
.usf-drop-ico{font-size:2.4rem;}
.usf-drop-t{font-weight:600;color:#0a2342;}
.usf-drop-h{font-size:.8rem;color:#5a6172;}
.usf-file-preview{display:flex;align-items:center;gap:14px;text-align:left;}
.usf-fp-ico{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:#1a7d33;color:#fff;font-size:1.1rem;flex-shrink:0;}
.usf-fp-info{display:flex;flex-direction:column;line-height:1.3;}
.usf-fp-info strong{color:#0a2342;}
.usf-fp-info small{color:#5a6172;font-size:.8rem;}
.usf-fp-info em{color:#1a7d33;font-size:.78rem;font-style:normal;font-weight:600;}
.usf-fp-remove{margin-left:auto;background:none;border:1px solid #dde3f0;border-radius:8px;padding:6px 12px;
  color:#b41e1e;font-weight:600;cursor:pointer;font-size:.82rem;}
.usf-fp-remove:hover{background:#fdeaea;border-color:#f0b4b4;}
.usf-ai{margin-top:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}

/* Autorska prava */
.usf-card--rights{display:flex;gap:14px;align-items:flex-start;border-color:rgba(201,168,76,.4);background:#fdfaf1;}
.usf-shield{font-size:1.6rem;flex-shrink:0;}
.usf-rights-check{display:flex;gap:10px;align-items:flex-start;font-weight:600;color:#0a2342;cursor:pointer;}
.usf-rights-check input{margin-top:3px;width:18px;height:18px;flex-shrink:0;}
.usf-rights-note{margin:8px 0 0;font-size:.82rem;color:#5a6172;line-height:1.55;}
.usf-submit{text-align:center;margin-top:8px;}

@media(max-width:560px){
  .usf-grid,.usf-vis{grid-template-columns:1fr;}
  .usf-card{padding:18px;}
}

/* ════════════════════════════════════════════════════════════════
   MOBILE FIX — forma „Postavi novi materijal“ (v1.15.8)
   Uzrok horizontalnog prelivanja: .us-lib-add je flex-item sa
   flex-shrink:0, a .us-lib-add-body ima width:min(680px,90vw) →
   nesmanjiv panel širi od hero sadržaja na telefonu (uz hero padding).
   Fix je strogo ograničen na ≤768px; desktop ostaje netaknut.
   ════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Hero: panel forme pada u novi red i zauzima punu širinu */
  .us-lib-hero      { padding: 1.25rem 1rem; }
  .us-lib-hero-txt  { min-width: 0; }
  .us-lib-add       { flex: 1 1 100%; width: 100%; min-width: 0; }
  .us-lib-add-body  { width: 100%; max-width: 100%; min-width: 0; padding: 1rem; }

  /* Kontejneri forme: nikad širi od ekrana */
  .us-upload-wrap,
  .usf,
  .usf-card         { width: 100%; max-width: 100%; min-width: 0; }

  /* Grid rasporedi → jedna kolona bez fiksnog minimuma */
  .usf-grid,
  .usf-vis          { grid-template-columns: minmax(0, 1fr); }

  /* Polja i flex djeca: dozvoli skupljanje, spriječi prelivanje */
  .usf-input,
  .usf-drop,
  .usf-file-preview { max-width: 100%; min-width: 0; }
  .usf-file-preview { flex-wrap: wrap; }
  .usf-fp-info      { min-width: 0; }
  .usf-fp-info strong,
  .usf-fp-info small { overflow-wrap: anywhere; }
}
