/* Smooth scrolling global */
html { scroll-behavior: smooth; }

/* Paletă + rotunjiri globale */
:root{
  --rx-radius: 16px;
  --rx-radius-lg: 24px;
  --rx-shadow: 0 8px 24px rgba(0,0,0,.06);
  --rx-shadow-hover: 0 10px 28px rgba(0,0,0,.10);
}

/* Rotunjiri și umbre soft pe elemente comune */
.navbar,
.card,
.table,
.btn,
.form-control,
.input-group .form-control,
.input-group-text,
.dropdown-menu,
.alert,
.modal-content,
.badge,
.list-group-item,
.pagination .page-link {
  border-radius: var(--rx-radius) !important;
}

.btn { border-radius: 9999px !important; }
.form-select { border-radius: var(--rx-radius) !important; }
.card { box-shadow: var(--rx-shadow); transition: transform .15s ease, box-shadow .15s ease; }
.card:hover { transform: translateY(-2px); box-shadow: var(--rx-shadow-hover); }
.dropdown-menu { box-shadow: var(--rx-shadow); }
.modal-content { box-shadow: var(--rx-shadow-hover); }

/* Navbar spacing + active link */
.navbar .nav-link { display:flex; align-items:center; gap:.4rem; }
.navbar .nav-link .fa-solid { opacity:.9; }
.navbar .nav-link.active { font-weight:600; }

/* KPIs row cards */
.kpi-row .kpi-card {
  background:#fff; border:1px solid #eaeaea; border-radius: var(--rx-radius);
  padding:.6rem .8rem; display:flex; align-items:center; gap:.6rem;
  box-shadow: var(--rx-shadow);
}
.kpi-row .kpi-card i { color:#0d6efd; }
.kpi-row .kpi-label { font-size:.8rem; color:#6b7280; margin:0; }
.kpi-row .kpi-value { font-weight:700; margin:0; }

/* Utilitare */
.muted{color:#6b7280}
.kpi{font-size:2rem;font-weight:700}
.table-wrap{overflow:auto}

/* Card imagini */
.card-img-top{object-fit:cover;aspect-ratio:16 / 9}

/* Map tile */
.map-tile{position:relative;width:100%;aspect-ratio:16/9;background:#f3f4f6;border-radius:var(--rx-radius);overflow:hidden;display:flex;align-items:center;justify-content:center}
.map-tile .map-name{position:absolute;bottom:.5rem;left:.5rem;background:rgba(0,0,0,.7);color:#fff;padding:.25rem .5rem;border-radius:.4rem;font-size:.85rem}

/* FlagCDN dimensiuni */
.flag{width:28px;height:21px;object-fit:cover;border-radius:6px;border:1px solid #e5e7eb;margin-right:.35rem}
.round-flag{width:45px;height:45px;border-radius:50%;object-fit:cover;border:2px solid #e5e7eb}

/* Badge-uri */
.badge-owner{background:#0d6efd}
.badge-vers{background:#ffec99;color:#212529}

/* Grid owner */
.owner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.owner-card{border:1px solid #e5e7eb;border-radius:var(--rx-radius);padding:.6rem;background:#fff;display:flex;flex-direction:column;box-shadow:var(--rx-shadow);transition:transform .15s ease, box-shadow .15s ease;}
.owner-card .title{font-weight:600}
.owner-card .meta{font-size:.85rem;color:#6b7280}
.owner-card:hover{transform: translateY(-2px); box-shadow:var(--rx-shadow-hover);}

/* Sidebar height on lg+ */
@media (min-width: 992px) {
  .vh-100-lg { height: 100vh; overflow:auto; }
}

/* Icon helpers */
.icon-sm{font-size:.9rem}
.icon-md{font-size:1.05rem}
.icon-lg{font-size:1.3rem}

/* Outline buttons */
.btn-outline-dark { border-width:2px; }

/* White card tables */
.table.align-middle.bg-white { border-radius: var(--rx-radius); overflow:hidden; }
thead.bg-light { border-bottom:1px solid #eee; }

/* Links hover */
a { transition: color .15s ease, opacity .15s ease; }
a:hover { opacity:.9; }

/* Forms focus */
.form-control:focus, .form-select:focus {
  box-shadow: 0 0 0 .2rem rgba(13,110,253,.15);
  border-color:#0d6efd;
}

/* Pagination */
.pagination .page-link { border-radius:9999px !important; margin:0 .15rem; }

/* Server banner (tall) responsiveness */
.server-banner-tall { width: 100%; height: auto; border-radius: var(--rx-radius-lg); }

/* Article (post) hero */
.article-hero h1 { font-weight: 800; }
.article-hero-img {
  max-width: 820px;
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: var(--rx-radius-lg);
  box-shadow: var(--rx-shadow);
}
.article-hero-content {
  max-width: 820px;
  text-align: left;
  line-height: 1.7;
}