/* Training TT — shared styles (Bootstrap 3.4 compatible) */
@import url('https://fonts.googleapis.com/css2?family=Urbanist:wght@400;500;600;700;800;900&display=swap');

html, body { margin: 0; padding: 0; min-height: 100%; }
body {
  font-family: 'Urbanist', -apple-system, sans-serif;
  color: #111111;
  background-color: #eef2f5;
  background-image: radial-gradient(ellipse 90% 60% at 50% -10%, #e3f1ff 0%, #ffffff 60%), linear-gradient(180deg, #ffffff, #eef2f5);
  background-repeat: no-repeat;
  background-size: 100% 100vh, 100% 100%;
  background-attachment: fixed, fixed;
}
html { height: 100%; }
body.body { min-height: 100vh; display: flex; flex-direction: column; }
body.body > form { margin: 0; }
body.body > form:nth-of-type(2) { flex: 0 0 auto; }
body.body > form:last-of-type { flex: 0 0 auto; margin-top: auto; }
a { color: #0678ff; }
a:hover, a:focus { color: #0553cc; text-decoration: none; outline: none !important; }
a:active, a:active:focus { outline: none !important; }
::placeholder { color: #999; }

.container-tt { max-width: 1180px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }

/* Bootstrap primary color overrides */
.btn-primary,
.btn-primary:focus,
.btn-primary.focus {
  background: #0678ff !important;
  background-image: none !important;
  border-color: #0678ff !important;
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  border-radius: 999px;
  padding: 11px 24px;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  outline: none !important;
  outline-offset: 0 !important;
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary.active,
.btn-primary:active:focus,
.btn-primary:active.focus,
.btn-primary.active:focus,
.btn-primary.active.focus {
  background: #0553cc !important;
  background-image: none !important;
  border-color: #0553cc !important;
  box-shadow: none !important;
  filter: none !important;
  outline: none !important;
  outline-offset: 0 !important;
}
.btn-lg.btn-primary { padding: 14px 30px; font-size: 16px; }

.btn-secondary,
.btn-secondary:focus,
.btn-secondary.focus {
  color: #0678ff !important;
  background: #ffffff !important;
  background-image: none !important;
  border-color: #dce9f8 !important;
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  border-radius: 999px;
  padding: 11px 24px;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  outline: none !important;
  outline-offset: 0 !important;
}
.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary.active,
.btn-secondary:active:focus,
.btn-secondary:active.focus,
.btn-secondary.active:focus,
.btn-secondary.active.focus {
  color: #0553cc !important;
  background: #f6faff !important;
  background-image: none !important;
  border-color: #b9d7ff !important;
  box-shadow: none !important;
  filter: none !important;
  outline: none !important;
  outline-offset: 0 !important;
}

/* NAVBAR */
.navbar-tt {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, .9) !important;
  background-image: none !important;
  border: none !important;
  border-bottom: 1px solid #f4f5f6 !important;
  margin-bottom: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}
.navbar-tt .container-fluid {
  max-width: 1180px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  padding: 6px 20px;
}
.navbar-tt .container-fluid:before,
.navbar-tt .container-fluid:after {
  content: none;
  display: none;
}
.navbar-tt .navbar-header { display: flex; align-items: center; float: none; margin-left: 0; margin-right: 0; }
.navbar-tt .navbar-brand { padding: 0; height: auto; display: flex; align-items: center; margin-left: 0 !important; margin-right: 0 !important; }
.navbar-tt .navbar-brand img { height: 40px !important; max-height: 40px !important; width: auto !important; max-width: 160px !important; }
.navbar-tt .navbar-collapse { border: none; box-shadow: none; padding: 0; flex: 1 1 auto; min-width: 0; }
.navbar-tt .navbar-nav { margin: 0; display: flex; align-items: center; justify-content: flex-end; flex-wrap: nowrap; float: none; }
.navbar-tt .navbar-nav > li,
.navbar-tt .navbar-tt-item { float: none; }
.navbar-tt .navbar-nav > li > a,
.navbar-tt .navbar-tt-item > a {
  color: #666666 !important;
  font-weight: 600;
  font-size: 14px;
  display: flex;
  align-items: center;
  padding: 10px 16px;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
}
.navbar-tt .navbar-nav > li > a:hover,
.navbar-tt .navbar-nav > li.active > a,
.navbar-tt .navbar-tt-item > a:hover,
.navbar-tt .navbar-tt-item.active > a {
  color: #0678ff !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
}
.navbar-tt .forum-nav-unread-badge {
  min-width: 17px;
  height: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 6px;
  padding: 0 5px;
  border-radius: 999px;
  background: #d92d20;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}
.navbar-tt .navbar-toggle { display: none; border: 1px solid #dce9f8; border-radius: 999px; margin: 0 0 0 10px; padding: 0; width: 42px; height: 42px; background: #ffffff; color: #0678ff; }
.navbar-tt .navbar-toggle:hover, .navbar-tt .navbar-toggle:focus { background: #f6faff; border-color: #b9d7ff; }
.navbar-tt .navbar-tt-menu-icon { display: block; width: 19px; height: 19px; margin: auto; fill: none; stroke: currentColor; stroke-width: 2; }
.navbar-tt .navbar-tt-icon-link {
  width: 42px;
  height: 42px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 8px 0 8px 8px;
  padding: 0 !important;
  border: 1px solid #dce9f8;
  border-radius: 999px;
  background: #ffffff !important;
  color: #0678ff !important;
}
.navbar-tt .navbar-tt-icon-link .sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.navbar-tt .navbar-tt-menu-label { display: none; }
.navbar-tt .navbar-tt-icon-link:hover,
.navbar-tt .navbar-tt-icon-link:focus {
  border-color: #b9d7ff;
  background: #f6faff !important;
  color: #0553cc !important;
}
.navbar-tt .navbar-tt-dashboard-icon {
  display: block;
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.navbar-tt .navbar-tt-profile-icon {
  position: relative;
  display: block;
  width: 18px;
  height: 18px;
}
.navbar-tt .navbar-tt-profile-icon:before {
  content: "";
  position: absolute;
  top: 1px;
  left: 5px;
  width: 8px;
  height: 8px;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: transparent;
}
.navbar-tt .navbar-tt-profile-icon:after {
  content: "";
  position: absolute;
  left: 2px;
  bottom: 1px;
  width: 14px;
  height: 8px;
  border: 2px solid currentColor;
  border-top-left-radius: 999px;
  border-top-right-radius: 999px;
  border-bottom: 0;
  background: transparent;
}
.navbar-tt .navbar-nav > li > a.btn-login,
.navbar-tt .navbar-nav > li > a.btn-login:hover,
.navbar-tt .navbar-tt-item > a.btn-login,
.navbar-tt .navbar-tt-item > a.btn-login:hover {
  color: #fff !important;
  background: #0678ff !important;
  background-image: none !important;
  border-color: #0678ff !important;
  margin: 8px 0 8px 8px;
  padding: 11px 24px;
}
.navbar-tt .navbar-nav > li > a.btn-disconnect,
.navbar-tt .navbar-tt-item > a.btn-disconnect {
  margin: 8px 0 8px 8px;
  padding: 11px 24px;
}
.navbar-tt .navbar-tt-lang-switch {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 8px 0 8px 10px;
  padding: 2px;
  border: 0;
  border-radius: 999px;
  background: #0678ff;
  box-shadow: 0 2px 8px rgba(6, 120, 255, .2);
}
.navbar-tt .navbar-tt-lang-switch > .navbar-tt-lang-btn,
.navbar-tt .navbar-tt-lang-switch > .navbar-tt-lang-btn:focus {
  width: 32px;
  min-width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  border-radius: 999px;
  color: transparent !important;
  background: #ffffff !important;
  font-size: 0;
  font-weight: 800;
  line-height: 1;
  text-decoration: none !important;
  letter-spacing: .04em;
  box-shadow: none !important;
}
.navbar-tt .navbar-tt-lang-current {
  display: none;
  min-width: 38px;
  height: 32px;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border-radius: 999px;
  color: #ffffff;
  background: transparent;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .04em;
  box-shadow: none;
}
.navbar-tt .navbar-tt-lang-switch:has(.navbar-tt-lang-to-en) .navbar-tt-lang-ro,
.navbar-tt .navbar-tt-lang-switch:has(.navbar-tt-lang-to-ro) .navbar-tt-lang-en { display: inline-flex; }
.navbar-tt .navbar-tt-lang-switch > .navbar-tt-lang-btn:hover {
  background: #f6faff !important;
}
@media (max-width: 1199px) {
  .navbar-tt .container-fluid { padding: 6px 16px; }
  .navbar-tt .navbar-header { flex: 0 1 auto; min-width: 0; }
  .navbar-tt .navbar-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; margin-left: auto; }
  .navbar-tt .navbar-collapse { display: none !important; position: absolute; top: 100%; left: 0; z-index: 1001; width: 100%; max-height: calc(100vh - 56px); overflow-y: auto; padding: 0 16px; background: #ffffff; border-top: 1px solid #edf2f7; box-shadow: 0 14px 28px rgba(16, 24, 40, .12); }
  .navbar-tt.navbar-tt-menu-open .navbar-collapse { display: block !important; }
  .navbar-tt .navbar-nav { display: block; margin: 0; padding: 8px 0; }
  .navbar-tt .navbar-tt-item { width: 100%; }
  .navbar-tt .navbar-tt-item > a { width: 100%; min-height: 42px; padding: 10px 4px; }
  .navbar-tt .navbar-tt-icon-link { width: 100%; height: auto; justify-content: flex-start; margin: 0; padding: 10px 4px !important; border: 0; border-radius: 0; background: transparent !important; color: #666666 !important; }
  .navbar-tt .navbar-tt-icon-link:hover, .navbar-tt .navbar-tt-icon-link:focus { color: #0678ff !important; background: transparent !important; }
  .navbar-tt .navbar-tt-icon-link .navbar-tt-profile-icon, .navbar-tt .navbar-tt-icon-link .navbar-tt-dashboard-icon { display: none; }
  .navbar-tt .navbar-tt-menu-label { display: inline; }
  .navbar-tt .navbar-nav > li > a.btn-login,
  .navbar-tt .navbar-nav > li > a.btn-disconnect,
  .navbar-tt .navbar-tt-item > a.btn-login,
  .navbar-tt .navbar-tt-item > a.btn-disconnect { justify-content: center; margin: 8px 0 0; }
  .navbar-tt .navbar-tt-lang-switch { flex: 0 0 auto; margin: 0 0 0 10px; }
  .navbar-tt .navbar-tt-lang-switch > .navbar-tt-lang-btn { min-width: 34px; }
}

/* EYEBROW / SECTION HEADS */
.eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #0678ff;
  margin-bottom: 6px;
}
.section-title { font-size: 32px; font-weight: 800; letter-spacing: -0.02em; color: #111; margin: 0; }

/* CARDS */
.card-tt {
  border: 1px solid #f4f5f6;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(17, 17, 17, .04), 0 12px 24px -12px rgba(6, 120, 255, .18);
}

/* FORMS / PILLS */
.select-tt,
select.tt-course-select {
  border-radius: 8px !important;
  border: 1px solid #dce9f8 !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: #111111 !important;
  font-family: 'Urbanist', -apple-system, sans-serif;
  box-shadow: none !important;
}
.select-tt:focus,
select.tt-course-select:focus {
  border-color: #0678ff !important;
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(6, 120, 255, .12) !important;
}
select.tt-course-select option,
select.tt-course-public-state option,
.select-tt option {
  background-color: #ffffff !important;
  background-image: none !important;
  color: #111111 !important;
}
.dropdown-menu,
.open > .dropdown-menu,
.bootstrap-select .dropdown-menu,
.bootstrap-select .dropdown-menu.inner,
.bootstrap-select.open .dropdown-menu,
.bootstrap-select.open .dropdown-menu.inner {
  background-color: #ffffff !important;
  background-image: none !important;
  border-color: #dce9f8 !important;
  box-shadow: 0 10px 28px rgba(17, 17, 17, .12) !important;
}
.dropdown-menu > li,
.dropdown-menu > li > a,
.bootstrap-select .dropdown-menu li,
.bootstrap-select .dropdown-menu li a,
.bootstrap-select .dropdown-menu li a span,
.bootstrap-select .dropdown-menu li a span.text {
  background-color: #ffffff !important;
  background-image: none !important;
  color: #111111 !important;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus,
.bootstrap-select .dropdown-menu li a:hover,
.bootstrap-select .dropdown-menu li a:focus,
.bootstrap-select .dropdown-menu li.selected a {
  background-color: #eef6ff !important;
  background-image: none !important;
  color: #0553cc !important;
}
.pill-tt,
.badge-tt,
.tt-course-link-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  border: 1px solid #dce9f8;
  background: #f8fbff;
  color: #0553cc;
  font-family: 'Urbanist', -apple-system, sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}
.pill-tt,
.tt-course-link-pill {
  padding: 6px 10px;
}
.badge-tt {
  padding: 5px 9px;
}
.badge-tt.success,
.pill-tt.success {
  border-color: #ccefdc;
  background: #f2fbf6;
  color: #17663a;
}
.badge-tt.warning,
.pill-tt.warning {
  border-color: #ffe1b8;
  background: #fff8ef;
  color: #9a5600;
}
.badge-tt.error,
.pill-tt.error {
  border-color: #fac7c1;
  background: #fff5f3;
  color: #b42318;
}

select.tt-course-public-state {
  border: 0 !important;
  border-radius: 8px !important;
  background-color: #eef2f5 !important;
  background-image: none !important;
  color: #4f5b66 !important;
  font-family: 'Urbanist', -apple-system, sans-serif;
  box-shadow: none !important;
}
select.tt-course-public-state.public {
  background-color: #e9f7ef !important;
  color: #04743f !important;
}
select.tt-course-public-state.ascuns {
  background-color: #fff1d6 !important;
  color: #9a5600 !important;
}

/* FORM FEEDBACK */
.alert,
.alert-info,
.alert-success,
.alert-warning,
.alert-danger,
.page-status,
.status-message,
.info-message,
.success-message,
.success-message-2,
.warning-message,
.error-message {
  margin: 8px 0 !important;
  padding: 12px 14px !important;
  border-radius: 8px !important;
  border: 0 !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #111111;
  font-family: 'Urbanist', -apple-system, sans-serif;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.5;
  text-shadow: none !important;
}
.alert-info,
.info-message,
.page-status.info,
.status-message.info {
  background-color: #eef6ff !important;
  color: #0553cc !important;
}
.alert-success,
.success-message,
.success-message-2,
.page-status.success,
.status-message.success {
  background-color: #e9f7ef !important;
  color: #04743f !important;
}
.alert-warning,
.warning-message,
.page-status.warning,
.status-message.warning {
  background-color: #fff1d6 !important;
  color: #9a5600 !important;
}
.alert-danger,
.alert-error,
.error-message,
.page-status.error,
.status-message.error {
  background-color: #fff0ed !important;
  color: #b42318 !important;
}
.alert a,
.page-status a,
.status-message a {
  color: inherit;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* FOOTER */
.footer-tt { border-top: 1px solid #f4f5f6; padding: 40px 20px; margin-top: 0; }
.footer-tt .footer-inner { max-width: 1140px; margin: 0 auto; }
.footer-tt .footer-logos { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 24px; margin-bottom: 24px; }
.footer-tt .footer-logos img, .footer-tt .footer-logos svg { height: 32px; width: auto; }
.footer-tt .footer-logos img.logo-full { height: 44px; }
.footer-tt .footer-logos img.logo-guvern { height: 40px; }
.footer-tt .footer-attribution { text-align: center; font-size: 13px; color: #666; line-height: 1.6; margin-bottom: 20px; }
@media (min-width: 768px) {
  .footer-tt .footer-attribution { display: flex; justify-content: space-between; text-align: left; gap: 16px; }
}
.footer-tt .footer-bottom {
  display: flex; flex-direction: column; gap: 12px;
  padding-top: 20px; border-top: 1px solid #f4f5f6;
  font-size: 13px; color: #666;
}
@media (min-width: 768px) {
  .footer-tt .footer-bottom { flex-direction: row; justify-content: space-between; align-items: center; }
}
.footer-tt .footer-links { display: flex; gap: 24px; flex-wrap: wrap; }
.footer-tt .footer-links a { color: #0678ff; }
