/*
  Biografija Polaznika - Dashboard UI
  - Bootstrap theme friendly (uses .card/.btn/.row etc)
  - Uses theme :root variables if available
*/

:root{
  --bp-radius: 18px;
  --bp-radius-lg: 22px;
  --bp-shadow: 0 18px 55px rgba(20, 18, 26, .12);
  --bp-soft-shadow: 0 10px 30px rgba(20, 18, 26, .10);
  --bp-line: var(--border-color, #ecf1f9);
  --bp-bg: var(--smoke-color, #F3F7FB);
  --bp-title: var(--title-color, #371f58);
  --bp-text: var(--body-color, #4D5765);
  --bp-muted: var(--light-color, #72849B);
  --bp-orange: var(--theme-color, #d75628);
  --bp-violet: var(--theme-color2, #562d6f);
  --bp-grad: var(--theme-greadient1, linear-gradient(to bottom, #562d70,  #d75628));
}

.bp-wrap{font-family: var(--body-font, system-ui, -apple-system, Segoe UI, Roboto, sans-serif); color: var(--bp-text);}
.bp-wrap .bp-card{border:1px solid var(--bp-line); border-radius: var(--bp-radius); box-shadow: var(--bp-soft-shadow);}
.bp-wrap .card.bp-card{background:#fff;}

/* Left profile card */
.bp-profile-card{animation: bpFloat 6s ease-in-out infinite; transform-origin: center; will-change: transform;}
@keyframes bpFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.bp-profile-card .bp-brand{font-weight:800; font-size:13px; letter-spacing:.4px; color: var(--bp-title);}
.bp-profile-card .bp-dot{width:10px; height:10px; border-radius:50%; background: var(--bp-grad);}
.bp-profile-card .bp-pill{
  font-size:12px;
  padding:6px 10px;
  border-radius: 999px;
  border:1px solid var(--bp-line);
  background: rgba(255,255,255,.7);
  color: var(--bp-muted);
  font-weight:700;
}

.bp-profile-photo{
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--bp-radius-lg);
  overflow:hidden;
  background: var(--bp-bg);
  border:1px solid var(--bp-line);
  display:flex;
  align-items:center;
  justify-content:center;
}
.bp-profile-photo img{width:100%; height:100%; object-fit: cover; display:block;}
.bp-photo-fallback{font-weight:900; font-size:28px; color: var(--bp-violet); font-family: var(--title-font, inherit);}

.bp-name{font-weight:900; color: var(--bp-title); font-family: var(--title-font, inherit); font-size:22px; line-height:1.1;}
.bp-role{color: var(--bp-muted); font-weight:600; margin-top:4px;}

.bp-contact{display:grid; gap:10px;}
.bp-contact-item{
  display:flex; gap:10px;
  padding:12px 12px;
  border:1px solid var(--bp-line);
  border-radius: 16px;
  background: #fff;
}
.bp-contact-item .bp-ic{
  width:38px; height:38px;
  border-radius: 12px;
  display:flex; align-items:center; justify-content:center;
  background: var(--bp-bg);
  border:1px solid var(--bp-line);
  color: var(--bp-violet);
  flex: 0 0 auto;
}
.bp-contact-label{font-size:12px; text-transform:uppercase; letter-spacing:.6px; color: var(--bp-muted); font-weight:800;}
.bp-contact-val{font-weight:800; color: var(--bp-title); word-break: break-word;}

.bp-social{display:flex; flex-wrap:wrap; gap:10px;}
.bp-soc{
  width:42px; height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 14px;
  border:1px solid var(--bp-line);
  background:#fff;
  color: var(--bp-title);
  text-decoration:none;
  box-shadow: 0 10px 20px rgba(20,18,26,.06);
  transition: transform .12s ease, box-shadow .12s ease;
}
.bp-soc:hover{transform: translateY(-1px); box-shadow: 0 16px 30px rgba(20,18,26,.10); color: var(--bp-title);}

.bp-profile-actions{display:grid; gap:10px;}
.bp-btn-primary{
  background: var(--bp-orange) !important;
  color:#fff !important;
  border:0 !important;
  border-radius: 16px !important;
  padding: 11px 12px !important;
  font-weight:900 !important;
}
.bp-btn-primary i{margin-right:8px;}
.bp-btn-soft{
  background: var(--bp-bg) !important;
  color: var(--bp-title) !important;
  border:1px solid var(--bp-line) !important;
  border-radius: 16px !important;
  padding: 11px 12px !important;
  font-weight:900 !important;
}
.bp-btn-soft i{margin-right:8px; color: var(--bp-violet);}

/* Top tabs */
.bp-top-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(243,247,251,.85);
  border:1px solid var(--bp-line);
  margin-bottom: 18px;
}
.bp-top-tab{
  border: 1px solid transparent;
  border-radius: 999px !important;
  padding: 10px 14px !important;
  font-weight:900;
  font-size: 13px;
  letter-spacing:.2px;
  background: transparent;
  color: var(--bp-title);
}
.bp-top-tab:hover{background:#fff; border-color: var(--bp-line);}
.bp-top-tab.active{
  background: var(--bp-grad);
  color:#fff;
  border-color: transparent;
  box-shadow: var(--bp-shadow);
}

.bp-pane-head{margin: 2px 0 14px;}
.bp-pane-title{font-size:20px; font-weight:900; color: var(--bp-title); font-family: var(--title-font, inherit);}
.bp-pane-sub{color: var(--bp-muted); font-weight:600;}

/* Forms */
.bp-form{margin-top: 10px;}
.bp-field{margin-bottom: 14px;}
.bp-field label{display:block; font-weight:900; color: var(--bp-title); margin-bottom:6px; font-size: 13px;}
.bp-help{font-size: 12px; color: var(--bp-muted); margin-top:6px;}

.bp-form input[type="text"],
.bp-form input[type="url"],
.bp-form input[type="email"],
.bp-form textarea,
.bp-form input[type="file"]{
  width:100%;
  border:1px solid var(--bp-line);
  border-radius: 14px;
  padding: 11px 12px;
  outline: none;
  background:#fff;
}
.bp-form textarea{min-height: 160px; resize: vertical;}

.bp-actions{display:flex; gap:10px; flex-wrap:wrap;}

/* Legacy button helpers */
.bp-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; cursor:pointer; border-radius: 14px; padding: 10px 14px; font-weight:900; text-decoration:none;}
.bp-btn--primary{background: var(--bp-orange); color:#fff;}
.bp-btn--ghost{background:#fff; color: var(--bp-title); border:1px solid var(--bp-line);}
.bp-btn--danger{background: var(--error-color, #dc3545); color:#fff;}
.bp-btn--dangerLite{background: rgba(220,53,69,.10); color: var(--error-color, #dc3545); border:1px solid rgba(220,53,69,.25);}
.bp-btn--ghost:hover{color: var(--bp-title);}

/* Two column helpers in templates */
.bp-grid-2{display:grid; grid-template-columns: 1fr; gap: 16px;}
@media (min-width: 992px){
  .bp-grid-2{grid-template-columns: 1fr 1fr;}
}

.bp-card{border:1px solid var(--bp-line); border-radius: var(--bp-radius); background:#fff; padding: 16px;}
.bp-card-head h3{margin:0; font-size: 16px; font-weight: 900; color: var(--bp-title); font-family: var(--title-font, inherit);}
.bp-card-sub{color: var(--bp-muted); font-weight:600; margin-top:4px;}

/* Profile photo box in settings tab */
.bp-photo-box{display:flex; gap:14px; align-items:center; flex-wrap:wrap;}
.bp-photo{width: 120px; height: 120px; border-radius: 18px; overflow:hidden; background: var(--bp-bg); border:1px solid var(--bp-line); display:flex; align-items:center; justify-content:center;}
.bp-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.bp-photo-actions{flex:1; min-width: 220px;}

/* Social grid */
.bp-social-grid{display:grid; grid-template-columns: 1fr; gap: 12px;}
@media (min-width: 768px){
  .bp-social-grid{grid-template-columns: 1fr 1fr;}
}

.bp-social-preview{margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--bp-line);}
.bp-social-title{font-weight:900; color: var(--bp-title); margin-bottom:8px;}
.bp-social-pills{display:flex; flex-wrap:wrap; gap:10px;}
.bp-pill{display:inline-flex; align-items:center; padding: 8px 12px; border-radius: 999px; border:1px solid var(--bp-line); background: #fff; color: var(--bp-title); font-weight:800; text-decoration:none;}
.bp-pill:hover{color: var(--bp-title);}

/* Empty state */
.bp-empty{border:1px dashed var(--bp-line); border-radius: var(--bp-radius); padding: 18px; background: rgba(243,247,251,.5);}
.bp-empty-ic{font-size: 22px; margin-bottom: 6px;}
.bp-empty-tx{font-weight:800; color: var(--bp-title);}

/* Projects */
.bp-pane-toolbar{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom: 14px;}
.bp-muted{color: var(--bp-muted); font-weight:600;}

.bp-proj-grid{display:grid; grid-template-columns: 1fr; gap: 14px;}
@media (min-width: 768px){
  .bp-proj-grid{grid-template-columns: 1fr 1fr;}
}
@media (min-width: 1200px){
  .bp-proj-grid{grid-template-columns: 1fr 1fr 1fr;}
}

.bp-proj-card{border:1px solid var(--bp-line); border-radius: var(--bp-radius-lg); overflow:hidden; background:#fff; box-shadow: 0 12px 30px rgba(20,18,26,.08);}
.bp-proj-media{aspect-ratio: 16/10; background: var(--bp-bg); border-bottom: 1px solid var(--bp-line); overflow:hidden;}
.bp-proj-media img{width:100%; height:100%; object-fit:cover; display:block;}
.bp-proj-media-fallback{height:100%; display:flex; align-items:center; justify-content:center; color: var(--bp-muted); font-weight:900;}
.bp-proj-body{padding: 12px 12px 14px;}
.bp-proj-title{font-weight:900; color: var(--bp-title); margin-bottom: 6px;}
.bp-proj-desc{color: var(--bp-text); font-weight:600; font-size: 13px; line-height: 1.35; margin-bottom: 10px;}
.bp-proj-actions{display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;}
.bp-inline{display:inline;}

/* Certificates */
.bp-cert-grid{display:grid; grid-template-columns: 1fr; gap: 14px;}
@media (min-width: 768px){
  .bp-cert-grid{grid-template-columns: 1fr 1fr;}
}
@media (min-width: 1200px){
  .bp-cert-grid{grid-template-columns: 1fr 1fr 1fr;}
}

.bp-cert-card{border:1px solid var(--bp-line); border-radius: var(--bp-radius-lg); padding: 14px; background:#fff; box-shadow: 0 12px 30px rgba(20,18,26,.08);}
.bp-cert-top{display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom: 10px;}
.bp-cert-title{font-weight:900; color: var(--bp-title); line-height:1.2;}
.bp-badge{display:inline-flex; align-items:center; padding: 6px 10px; border-radius: 999px; font-weight:900; font-size: 12px; border:1px solid var(--bp-line); background: var(--bp-bg); color: var(--bp-title);}
.bp-badge--ok{background: rgba(40,167,69,.10); border-color: rgba(40,167,69,.25); color: var(--success-color, #28a745);}
.bp-badge--muted{background: rgba(114,132,155,.10); border-color: rgba(114,132,155,.25); color: var(--bp-muted);}

.bp-cert-meta{display:grid; gap: 8px; margin-top: 8px;}
.bp-kv{display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding: 10px 12px; border:1px solid var(--bp-line); border-radius: 14px; background: rgba(243,247,251,.45);}
.bp-kv span{color: var(--bp-muted); font-weight:800; font-size: 12px; text-transform: uppercase; letter-spacing: .6px;}
.bp-kv b{color: var(--bp-title); font-weight:900;}
.bp-mono{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 12px;}
.bp-cert-foot{margin-top: 10px;}

/* Modals */
.bp-modal{position:fixed; inset:0; display:none; z-index:9999;}
.bp-modal.is-open{display:block;}
.bp-modal-backdrop{position:absolute; inset:0; background: rgba(15, 10, 20, .58);}
.bp-modal-card{
  position:relative;
  width: min(760px, calc(100% - 24px));
  margin: 38px auto;
  background:#fff;
  border-radius: var(--bp-radius-lg);
  border:1px solid var(--bp-line);
  box-shadow: 0 30px 90px rgba(0,0,0,.30);
  overflow:hidden;
}
.bp-modal-head{display:flex; align-items:center; justify-content:space-between; padding:14px 16px; background: var(--bp-bg);}
.bp-modal-title{font-weight:900; color: var(--bp-title); font-family: var(--title-font, inherit);}
.bp-modal-x{border:0; background:transparent; font-size:18px; cursor:pointer; color: var(--bp-title);}
.bp-modal-body{padding:16px;}

/* Small helpers */
.tab-pane{padding-top: 6px;}

@media (max-width: 575.98px){
  .bp-top-tabs{border-radius: 22px;}
  .bp-top-tab{padding: 9px 12px !important;}
}
.bp-field input[type="radio"] {
  display: none; /* sakrije default radio */
}

.bp-field input[type="radio"]:checked + span {
  background: #28a745;
  color: #fff;
  padding: 6px 14px;
  border-radius: 30px;
}

.bp-field label {
  transition: all .2s ease;
}

.bp-field label:hover span {
  background: rgba(40,167,69,.15);
}