/**
 * @file
 * Cloudoffis theme custom styles.
 */

/* ─────────────────────────────────────────────────────────────
   FONTS
───────────────────────────────────────────────────────────── */
/* @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Inter:wght@300;400;500;600&display=swap'); */


/* ─────────────────────────────────────────────────────────────
   LOGIN PAGE — centered card, visual left + form right
───────────────────────────────────────────────────────────── */
:root {
  --co-login-bg: #e8f4fb;
  --co-login-card-bg: #ffffff;
  --co-login-border: #e2e8f0;
  --co-login-text: #1e293b;
  --co-login-muted: #64748b;
  --co-login-primary: #00adee;
  --co-login-primary-hover: #0096d1;
  --co-login-danger: #ef4444;
}

.co-login-page {
  display: flex;
  align-items: center;
  justify-content: center;
  
  padding: 27px 24px;
  background: var(--co-login-bg);
  box-sizing: border-box;
}

.co-login-card-container {
  width: 100%;
  display: flex;
  justify-content: center;
}

.co-login-card {
  display: flex;
  width: 100%;
  background: var(--co-login-card-bg);
  border: 1px solid var(--co-login-border);
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
  overflow: hidden;
  box-sizing: border-box;
}

/* ── LEFT: visual ───────────────────────────────────────────── */
.co-login-visual {
  flex: 0 0 50%;
  max-width: 50%;
  padding: 12px;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  background: #f0f9ff;
  box-sizing: border-box;
}

.co-login-visual-image {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  display: block;
  border-radius: 14px;
}

/* ── RIGHT: form section ────────────────────────────────────── */
.co-login-form-section {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 24px 40px 36px;
  box-sizing: border-box;
  min-width: 0;
}

.co-login-header {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 16px;
}

.co-login-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.co-login-logo-image {
  display: block;
  height: 50px;
  width: auto;
  object-fit: contain;
}

.co-login-form-container {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.co-login-form-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  max-width: 550px;
  width: 100%;
  margin: 0 auto;
}

/* ── FORM PANEL ─────────────────────────────────────────────── */
.co-form-panel {
  width: 100%;
}

.co-form-panel--login,
.co-form-panel--reset,
.co-form-panel--register {
  box-shadow: 0px 0px 6px #2D2D2D29;
  padding: 50px;
  border-radius: 10px;
}

.co-form-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--co-font-family, 'Public Sans', sans-serif);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--co-login-primary);
  margin: 0 0 8px;
  line-height: 1.25;
  text-transform: uppercase;
}

.co-celebrate-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

.co-form-subtitle {
  font-size: 0.875rem;
  color: var(--co-login-text);
  margin: 0 0 24px;
  line-height: 1.5;
}

/* ── DRUPAL FORM ELEMENTS ───────────────────────────────────── */
.co-form-panel .form-item label,
.co-form-panel .js-form-item label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--co-login-text);
  margin-bottom: 6px;
}

.co-form-panel .form-required::after {
  content: '*';
  color: var(--co-login-danger);
  margin-left: 2px;
  background: none;
}

.co-form-panel .form-item--description,
.co-form-panel .description {
  display: none;
}

.co-form-panel input[type="text"],
.co-form-panel input[type="email"],
.co-form-panel input[type="password"] {
  width: 100%;
  height: 44px;
  padding: 0 14px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 0.875rem;
  color: var(--co-login-text);
  background: #fff;
  outline: none;
  box-sizing: border-box;
  font-family: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.co-form-panel input[type="text"]:focus,
.co-form-panel input[type="email"]:focus,
.co-form-panel input[type="password"]:focus {
  border-color: var(--co-login-primary);
  box-shadow: 0 0 0 3px rgba(0, 173, 238, 0.15);
}

.co-form-panel input::placeholder {
  color: #94a3b8;
}

.co-form-panel .form-item,
.co-form-panel .js-form-item {
  margin-bottom: 16px;
}

/* Hide Drupal's default "Request new password" link on the login form. */
.co-form-panel--login a[href*="user/password"]:not(.co-link-forgot) {
  display: none !important;
}

.co-form-panel--login .item-list:has(a[href*="user/password"]),
.co-form-panel--login ul.links:has(a[href*="user/password"]) {
  display: none !important;
}

/* Remember-me + forgot-password row (injected by JS) */
.co-form-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 4px 0 18px;
  font-size: 0.8125rem;
  color: var(--co-login-text);
}

.co-checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: var(--co-login-text);
}

.co-checkbox-label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--co-login-primary);
  cursor: pointer;
}

.co-link-forgot {
  color: var(--co-login-primary);
  text-decoration: none;
  font-weight: 500;
  margin-left: auto;
}

.co-link-forgot:hover {
  text-decoration: underline;
}

/* Submit button — primary pill */
.co-form-panel input[type="submit"],
.co-form-panel button[type="submit"],
.co-form-panel .form-submit {
  width: 100%;
  height: 44px;
  background: var(--co-login-primary);
  color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 600;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
  letter-spacing: 0.02em;
  transition: background 0.2s ease, transform 0.1s ease;
  margin-top: 4px;
}

.co-form-panel input[type="submit"]:hover,
.co-form-panel button[type="submit"]:hover,
.co-form-panel .form-submit:hover {
  background: var(--co-login-primary-hover);
}

.co-form-panel input[type="submit"]:active,
.co-form-panel button[type="submit"]:active {
  transform: scale(0.99);
}

.co-form-panel .form-actions {
  margin-top: 4px;
  padding: 0;
}

/* ── FOOTER LINKS ───────────────────────────────────────────── */
.co-form-footer-text {
  margin: 18px 0 0;
  text-align: center;
  font-size: 0.8125rem;
  color: var(--co-login-text);
}

.co-link-create {
  color: var(--co-login-primary);
  text-decoration: none;
  font-weight: 600;
  margin-left: 4px;
}

.co-link-create:hover {
  text-decoration: underline;
}

/* ── STATUS / ERROR MESSAGES ────────────────────────────────── */
.co-login-form-wrapper .messages,
.co-login-form-wrapper .messages--error,
.co-login-form-wrapper .messages--warning,
.co-login-form-wrapper .messages--status {
  width: 100%;
  margin: 0 0 16px;
  border-radius: 8px;
  font-size: 0.875rem;
  box-sizing: border-box;
}

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 900px) {
  .co-login-page {
    padding: 16px;
  }

  .co-login-card {
    flex-direction: column;
  }

  .co-login-visual {
    flex: 1 1 auto;
    max-width: 100%;
    width: 100%;
    padding: 10px;
    min-height: auto;
    display: none;
  }

  .co-login-visual-image {
    min-height: 220px;
    max-height: 320px;
  }

  .co-login-form-section {
    padding: 16px 24px 28px;
  }

  .co-login-header {
    margin-bottom:20px;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .co-form-title {
    font-size: 1.0625rem;
  }

  .co-login-visual-image {
    min-height: 180px;
    max-height: 240px;
  }

  .co-login-form-section {
    padding: 16px 18px 24px;
  }

  .co-form-options {
    flex-wrap: wrap;
    row-gap: 8px;
  }
}

/* ─────────────────────────────────────────────────────────────
   SIDEBAR LAYOUT — AUTHENTICATED PAGES
───────────────────────────────────────────────────────────── */

:root {
  --co-sidebar-width: 240px;
  --co-sidebar-collapsed: 72px;
  --co-sidebar-bg: #ffffff;
  --co-sidebar-border: #e5e7eb;
  --co-nav-active-bg: #1A75E6;
  --co-nav-active-text: #ffffff;
  --co-nav-hover-bg: #f3f4f6;
  --co-nav-text: #4b5563;
  --co-nav-icon-color: #6b7280;
  --co-transition: 0.25s ease;
}

html, body {
  height: 100%;
}

.co-layout {
  display: flex;
  min-height: 100vh;
  background: var(--lightColor);
  /**/
}

/* ── SIDEBAR ──────────────────────────────────────────────── */
.co-sidebar {
  width: var(--co-sidebar-width);
  min-width: var(--co-sidebar-width);
  background: var(--co-sidebar-bg);
  border-right: none;
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  z-index: 200;
  transition: width var(--co-transition), min-width var(--co-transition);
  overflow: hidden;
}

/* Pre-collapse: applied by inline <head> script before first paint */
.co-sidebar-pre-collapsed #co-sidebar,
.co-sidebar.is-collapsed {
  width: var(--co-sidebar-collapsed);
  min-width: var(--co-sidebar-collapsed);
}

/* ── SIDEBAR HEAD ──────────────────────────────────────────── */
.co-sidebar__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 0 5px 14px;
  border-bottom: none;
  flex-shrink: 0;
  min-height: 54px;
}

.co-sidebar__logo-link {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  overflow: hidden;
  flex: 1;
  min-width: 170px;
  max-width: 170px;
  width: 100%;
}

.co-sidebar__logo-img {
  object-fit: contain;
  flex-shrink: 0;
}

.co-sidebar__logo-text {
  font-size: 0.8rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  opacity: 1;
  transition: opacity var(--co-transition);
}

.co-sidebar__logo-text em {
  display: block;
  font-style: normal;
  font-weight: 400;
  font-size: 0.7rem;
  color: #6b7280;
}

.co-sidebar.is-collapsed .co-sidebar__logo-text {
  opacity: 0;
  width: 0;
}

.co-sidebar__toggle {
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  border-radius: 6px;
  color: var(--secondaryColor);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s;
}

.co-sidebar__toggle:hover {
  background: #f3f4f6;
}

/* ── NAVIGATION ────────────────────────────────────────────── */
.co-sidebar__nav {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0;
}

.co-sidebar__nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.co-nav-item {
  width: 100%;
}

.is-collapsed .co-sidebar__logo-link{
  display: none;
}

.is-collapsed .co-sidebar__head{
  padding: 20px 20px 16px;
}

.is-collapsed .co-nav-link{
  gap: 0px;
}

.co-nav-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px;
  border-radius: 0;
  text-decoration: none;
  color: var(--co-nav-text);
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  transition: all .4s ease-in-out;
  border-right: 4px solid #fff;
  background: linear-gradient(to right, var(--lightColor) 0%, var(--lightColor) 50%, #fff 50%, #fff 100%);
  background-size: 200% 100%;
  background-position: 100% 100%;
}

.co-nav-link:hover {
  background-position: 0% 100%;
  color: var(--secondaryColor);
  text-decoration: none;
  border-color: var(--secondaryColor);
}

.co-nav-link.is-active,
.co-nav-link.is-active:hover {
  background-position: 0% 100%;
  color: var(--secondaryColor);
  border-color: var(--secondaryColor);
}

.co-nav-link.is-active .co-nav-icon {
  color: var(--secondaryColor);
}

.co-nav-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: var(--co-nav-icon-color);
  transition: color 0.15s;
}

.co-nav-link:hover .co-nav-icon {
  color: var(--secondaryColor);
}

.co-nav-label {
  overflow: hidden;
  opacity: 1;
  transition: opacity var(--co-transition);
  flex: 1;
}

.co-sidebar.is-collapsed .co-nav-label {
  opacity: 0;
  width: 0;
  flex: none;
  pointer-events: none;
}

.co-sidebar.is-collapsed .co-nav-link {
  justify-content: center;
  padding: 10px;
  position: relative;
}

/* Tooltip for collapsed items */
.co-sidebar.is-collapsed .co-nav-link::after {
  content: attr(data-label);
  position: absolute;
  left: calc(var(--co-sidebar-collapsed) + 4px);
  background: #1f2937;
  color: #fff;
  font-size: 0.75rem;
  padding: 5px 10px;
  border-radius: 6px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
  z-index: 300;
}

.co-sidebar.is-collapsed .co-nav-link:hover::after {
  opacity: 1;
}

/* ── SIDEBAR USER FOOTER ──────────────────────────────────── */
.co-sidebar__user {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 12px;
  border-top: 1px solid var(--co-sidebar-border);
  flex-shrink: 0;
  overflow: hidden;
  min-height: 64px;
}

.co-sidebar__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--primaryColor);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  letter-spacing: 0.5px;
}

.co-sidebar__user-info {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  opacity: 1;
  transition: opacity var(--co-transition);
}

.co-sidebar.is-collapsed .co-sidebar__user-info,
.co-sidebar.is-collapsed .co-sidebar__settings {
  opacity: 0;
  width: 0;
  flex: none;
  pointer-events: none;
}

.co-sidebar.is-collapsed .co-sidebar__user {
  justify-content: center;
}

/* ── Pre-collapsed: applied via <html> class before first paint ─
   Mirrors every .co-sidebar.is-collapsed rule so the sidebar
   renders already collapsed with zero flash.                    */
.co-sidebar-pre-collapsed #co-sidebar .co-sidebar__logo-text,
.co-sidebar-pre-collapsed #co-sidebar .co-nav-label,
.co-sidebar-pre-collapsed #co-sidebar .co-sidebar__user-info,
.co-sidebar-pre-collapsed #co-sidebar .co-sidebar__settings {
  opacity: 0;
  width: 0;
  flex: none;
  pointer-events: none;
}

.co-sidebar-pre-collapsed #co-sidebar .co-nav-link {
  justify-content: center;
  padding: 10px;
}

.co-sidebar-pre-collapsed #co-sidebar .co-sidebar__user {
  justify-content: center;
}

.co-sidebar-pre-collapsed #co-sidebar .co-sidebar__logo-link {
  display: none;
}

.co-sidebar-pre-collapsed #co-sidebar .co-sidebar__head {
  padding: 20px 20px 16px;
  justify-content: center;
}

.section-courses .co-main{margin-top: -22px;}

.co-sidebar-pre-collapsed .co-layout .co-main,
.co-sidebar-pre-collapsed .co-main {
  margin-left: var(--co-sidebar-collapsed);
}

/* Suppress transitions during pre-collapsed state to avoid animation on load */
.co-sidebar-pre-collapsed #co-sidebar,
.co-sidebar-pre-collapsed #co-sidebar * {
  transition: none !important;
}

.co-sidebar__user-name {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--titleColor);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.co-sidebar__view-profile {
  font-size: 0.72rem;
  color: var(--textColor);
  text-decoration: none;
  white-space: nowrap;
}

.co-sidebar__view-profile:hover {
  color: var(--co-nav-active-bg);
  text-decoration: none;
}

.co-sidebar__settings {
  color: var(--secondaryColor);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  text-decoration: none;
  transition: color 0.15s;
}

.co-sidebar__settings:hover {
  color: #374151;
}

/* ── MAIN CONTENT ─────────────────────────────────────────── */
.co-main {
  flex: 1;
  min-width: 0;
  margin-left: var(--co-sidebar-width);
  transition: margin-left var(--co-transition);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.co-layout.sidebar-collapsed .co-main {
  margin-left: var(--co-sidebar-collapsed);
}

.co-main .page-main {
  flex: 1;
  padding: 0;
}

.co-content-wrap {
  width: 100%;
  padding: 20px;
  box-sizing: border-box;
}

.co-content-wrap.has-sidebar {
  display: flex;
  gap: 24px;
}

.co-content-sidebar {
  flex: 0 0 260px;
}

.co-content-main {
  flex: 1;
  min-width: 0;  
}

/* ── PAGE TOP REGION (back-btn + page title) ──────────────── */

/* Flex row wrapper so back button and page title sit side-by-side */
.co-top-region {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 24px 32px 0;
  min-height: auto;
}

/* Override Aristotle's absolute positioning — flow as flex item */
.co-top-region .back-btn {
  position: static !important;
  flex-shrink: 0;
  display: flex !important;
  align-items: center;
}

.co-top-region .back-btn a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #6b7280;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 5px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #ffffff;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  white-space: nowrap;
}

.co-top-region .back-btn a:hover {
  background: #f3f4f6;
  color: #111827;
  border-color: #d1d5db;
  text-decoration: none;
}

.co-top-region .back-btn .fi-rr-arrow-left {
  font-size: 1.1rem;
  line-height: 1;
  margin: 0;
}

/* Page title block takes remaining width */
.co-top-region .block-page-title-block {
  flex: 1;
  min-width: 0;
}

/* ── PAGE HEADER TITLE (legacy co_page_title preprocess var) ─ */
.co-page-header {
  padding: 15px 20px 0;
}

.co-page-title {
  text-transform: capitalize;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--titleColor);
  margin: 0;
  line-height: 1.3;
}

/* ─────────────────────────────────────────────────────────────
   CALENDAR PAGE — redesigned
───────────────────────────────────────────────────────────── */

/* ── CALENDAR PAGE TITLE HEADER — same style as catalogue ── */
.page-view-opigno-calendar-page-month .co-page-header,
.page-view-opigno-calendar-page-week .co-page-header,
.page-view-opigno-calendar-page-day .co-page-header {
  padding: 20px 20px 0;
}

/* .page-view-opigno-calendar-page-month .co-page-header::before,
.page-view-opigno-calendar-page-week .co-page-header::before,
.page-view-opigno-calendar-page-day .co-page-header::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 240px;
  height: 240px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 50%;
  pointer-events: none;
}

.page-view-opigno-calendar-page-month .co-page-header::after,
.page-view-opigno-calendar-page-week .co-page-header::after,
.page-view-opigno-calendar-page-day .co-page-header::after {
  content: '';
  position: absolute;
  bottom: -80px;
  right: 120px;
  width: 180px;
  height: 180px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 50%;
  pointer-events: none;
} */

.page-view-opigno-calendar-page-month .co-page-header .co-page-title,
.page-view-opigno-calendar-page-week .co-page-header .co-page-title,
.page-view-opigno-calendar-page-day .co-page-header .co-page-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--titleColor);
  margin: 0;
}

/* ── CALENDAR PAGER (Month navigation) ───────────────────── */

/* Neutralise Aristotle's content-box__info positioning rules
   so our grid nav renders normally in the flow */

/* Grid: [prev 36px] [title 1fr] [next 36px] — all on one line */
.co-cal-pager__inner {
  display: grid !important;
  grid-template-columns: 36px 1fr 36px !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
}

.co-cal-pager__prev {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  grid-column: 1 !important;
}

.co-cal-pager__next {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  grid-column: 3 !important;
}

/* h3 month title — perfectly centered, override Aristotle h3 rules */
h3.co-cal-pager__title {
  grid-column: 2 !important;
  text-align: center !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  color: var(--titleColor) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

/* Arrow buttons */
.co-cal-pager__arrow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  color: #374151 !important;
  text-decoration: none !important;
  background: #fff !important;
  transition: background 0.15s, border-color 0.15s;
  box-sizing: border-box !important;
  position: static !important;
  transform: none !important;
}

.co-cal-pager__arrow:hover {
  background: #f3f4f6 !important;
  border-color: var(--primaryColor) !important;
  color: var(--primaryColor) !important;
}

.co-cal-pager__arrow--disabled {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ── CALENDAR WRAPPER ─────────────────────────────────────── */
.co-main .view-opigno-calendar {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  background: #fff;
  position: relative;
}
.co-main .view-opigno-calendar .content-box__info{ 
  display: flex;
  gap: 30px;
  align-items: center;
  justify-content: space-between;
  position: relative;
  padding: 15px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
}
.co-main .view-opigno-calendar .content-box__info #today{ 
  border: 1px solid rgba(0,0,0,0.1);
  padding: 8px 20px;
  border-radius: 5px;
  min-width: auto !important;
}
.co-main .view-opigno-calendar .content-box__info #today:hover{
  background: var(--primaryColor) !important;
  border-color: var(--primaryColor) !important;
  color: white !important;
}

.co-main .view-opigno-calendar .content-box__info .calendar-pager{
  display: inline-flex;
  min-width: 250px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
}
.co-cal-pager__arrow:hover{
  background: var(--primaryColor) !important;
  border-color: var(--primaryColor) !important;
  color: white !important;
}
.co-main .view-opigno-calendar .content-box__info h3{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  display: inline-block;
  min-width: 150px;
  text-align: center;
}
.co-main .view-opigno-calendar .content-box__info .btn-add a{
  border: 1px solid rgba(0,0,0,0.1);
}
.co-main .view-opigno-calendar .content-box__info .btn-add a::before{
  font-size: 14px;
  margin-left: 2px;
  min-width: 2.2rem;
  color: inherit !important;
}
.co-main .view-opigno-calendar .content-box__info .btn-add a:hover{
  background: var(--primaryColor) !important;
  border-color: var(--primaryColor) !important;
  color: white !important;
  width: 78px !important;
}

.co-main .page-view-opigno-calendar-page-month .view-opigno-calendar {
  margin-bottom: 1.25rem;
}

/* ── CALENDAR TABLE ───────────────────────────────────────── */
.co-main .calendar-calendar .month-view table.full {
  width: 100% !important;
  border-collapse: collapse !important;
  table-layout: fixed !important;
  border: none !important;
  box-shadow: none !important;
}

/* ── DAY HEADERS ──────────────────────────────────────────── */
.co-main .calendar-calendar .month-view table.full thead th {
  background: var(--secondaryColor) !important;
  border-bottom: 1px solid transparent !important;
  border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-top: none !important;
  border-left: none !important;
  padding: 10px 10px !important;
  text-align: center !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  color: var(--whiteColor) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.co-main .calendar-calendar .month-view table.full thead th:last-child {
  border-right: none !important;
}

/* ── DAY CELLS (base) ─────────────────────────────────────── */
.co-main .calendar-calendar .month-view table.full td {
  background: #fff !important;
  border-right: 1px solid rgba(0, 0, 0, 0.1) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
  border-top: none !important;
  border-left: none !important;
  vertical-align: top !important;
  padding: 8px 8px !important;
  min-height: 0 !important;
  height: auto !important;
  box-shadow: none !important;
}

.co-main .calendar-calendar .month-view table.full td:last-child {
  border-right: none !important;
}

.co-main .calendar-calendar .month-view table.full tbody tr:last-child td {
  border-bottom: none !important;
}

/* ── DATE-BOX ROW: only day number — no bottom border so it merges with events row ── */
.co-main .calendar-calendar .month-view table.full td.date-box {
  border-bottom: none !important;
}

/* ── MULTI-DAY EVENT ROWS: no bottom border — merges with single-day row ── */
.co-main .calendar-calendar .month-view table.full td.multi-day {
  border-bottom: none !important;
}

/* ── SINGLE-DAY EVENTS ROW: carries the main height ─────────────────────── */
.co-main .calendar-calendar .month-view table.full td.single-day {
  min-height: 40px !important;
  padding-top: 0 !important;
}
.co-main .calendar-calendar .month-view table.full td.single-day .inner,
.co-main .calendar-calendar .month-view table.full td.single-day.no-entry .inner {
  min-height: 40px !important;
}

/* ── EMPTY / OFF-MONTH CELLS ──────────────────────────────── */
.co-main .calendar-calendar .month-view td.empty,
.co-main .calendar-calendar .month-view td.mini-off {
  background: #f9fafb !important;
}

/* ── TODAY ────────────────────────────────────────────────── */
.co-main .calendar-calendar .month-view td.today {
  background: #EEF5FF !important;
}

/* date-box row for today: no background on the cell/inner — only the circle gets colour */
.co-main .calendar-calendar .month-view td.date-box.today,
.co-main .calendar-calendar .month-view td.date-box.today .inner {
  background: none !important;
}

/* ── INNER CELL WRAPPER — flex column, datebox pinned on top ─ */
.co-main .calendar-calendar .month-view td .inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  box-sizing: border-box;
  gap: 4px;
}

/* ── DATEBOX (day number circle) ──────────────────────────── */
/* Uses custom .co-datebox class — no conflicts with calendar.css */
.co-main .calendar-calendar .co-datebox {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--titleColor);
  border-radius: 50%;
  flex-shrink: 0;
  box-sizing: border-box;
  line-height: 1;
}

.co-main .calendar-calendar .co-datebox a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #1f2937;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.9375rem;
  border-radius: 50%;
}

/* Today — filled blue circle */
.co-main .calendar-calendar .month-view td.today .co-datebox {
  background: var(--primaryColor);
  color: #fff;
}
.co-main .calendar-calendar .month-view td.today .co-datebox a {
  color: #fff;
}

/* Events stack below datebox */
/* ── FLATTEN ALL WRAPPERS between .inner and .co-cal-event ── */
/* .item → .view-item → .calendar → .contents → .views-field → span */
.co-main .calendar-calendar .month-view td .inner .item,
.co-main .calendar-calendar .month-view td .inner .view-item,
.co-main .calendar-calendar .month-view td .inner .view-item .calendar,
.co-main .calendar-calendar .month-view td .inner .view-item .contents,
.co-main .calendar-calendar .month-view td .inner .view-item .views-field,
.co-main .calendar-calendar .month-view td .inner .view-item .field-content {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.co-main .calendar-calendar .month-view td .inner .item {
  margin-bottom: 4px !important;
}

/* Hide decorative continuation markers */
.co-main .calendar-calendar .view-item .cutoff,
.co-main .calendar-calendar .view-item .continues,
.co-main .calendar-calendar .view-item .continuation {
  display: none !important;
}

/* ── EVENT PILL ──────────────────────────────────────────── */
.co-main .calendar-calendar .co-cal-event {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: var(--primaryColor) !important;
  border-radius: 6px !important;
  padding: 5px 8px !important;
  overflow: hidden !important;
  position: relative !important;
  cursor: pointer;
}

/* Title */
.co-main .calendar-calendar .co-cal-event__title,
.co-main .calendar-calendar .co-cal-event__title * {
  display: block !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

/* Date/time */
.co-main .calendar-calendar .co-cal-event__date,
.co-main .calendar-calendar .co-cal-event__date * {
  display: inline !important;
  font-size: 0.6875rem !important;
  color: rgba(255,255,255,0.85) !important;
  line-height: 1.3 !important;
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.co-main .calendar-calendar .co-cal-event__date {
  display: block !important;
  margin-top: 2px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Overlay link — covers full pill, makes it fully clickable */
/* Override calendar.css: td .inner div a { background:#eee } */
.co-main .calendar-calendar .co-cal-event__overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: transparent !important;
  border: none !important;
}
.co-main .calendar-calendar .co-cal-event__overlay a {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  background: transparent !important;
  color: transparent !important;
  font-size: 0 !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  border: none !important;
}
.co-main .calendar-calendar .co-cal-event__mobile-link {
  display: none !important;
}

/* Multi-day events — slightly lighter */
.co-main .calendar-calendar td.multi-day .co-cal-event {
  background: #3d8ef0 !important;
}

/* Hide stripe legend */
.co-main .calendar-calendar .calendar-stripe-legend {
  display: none !important;
}

/* ── DAY PANEL (event details below calendar on date click) ── */
#co-day-panel {
  display: none;
  margin-top: 16px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.07);
}

.co-day-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  background: linear-gradient(135deg, #1A75E6 0%, #1258b8 100%);
}

.co-day-panel__date {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #fff;
}

.co-day-panel__close {
  background: rgba(255,255,255,0.2);
  border: none;
  color: #fff;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.co-day-panel__close:hover {
  background: rgba(255,255,255,0.35);
}

.co-day-panel__events {
  padding: 12px 20px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.co-day-panel__event {
  background: #f8f9fb;
  border-left: 3px solid var(--primaryColor);
  border-radius: 0 8px 8px 0;
  padding: 10px 14px;
}

.co-day-panel__event-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #1a202c;
  margin-bottom: 4px;
}

.co-day-panel__event-meta,
.co-day-panel__event-meta * {
  font-size: 0.8125rem;
  color: #6b7280;
  line-height: 1.4;
}

.co-day-panel__event-link {
  display: inline-block;
  margin-top: 8px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--primaryColor);
  text-decoration: none;
  border: 1px solid var(--primaryColor);
  border-radius: 6px;
  padding: 4px 12px;
}

.co-day-panel__event-link:hover {
  background: var(--primaryColor);
  color: #fff;
}

/* ── CALENDAR NAV LINKS (week/day views) ──────────────────── */
.co-main .view-opigno-calendar .calendar-links {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.co-main .view-opigno-calendar .calendar-links a {
  font-size: 0.8rem;
  color: var(--primaryColor);
  text-decoration: none;
  padding: 4px 10px;
  border: 1px solid #bdd7f9;
  border-radius: 6px;
  background: #fff;
  transition: background 0.15s;
}

.co-main .view-opigno-calendar .calendar-links a:hover {
  background: #EEF5FF;
}


/* ── MOBILE SIDEBAR BACKDROP ─────────────────────────────── */
.co-sidebar-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 199;
}

.co-sidebar-backdrop.is-active {
  display: block;
}

/* ── TOP HEADER BAR ───────────────────────────────────────── */
.co-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 24px;
  height: 54px;
  background: #ffffff;
  border-bottom: none;
  position: sticky;
  top: 0;
  z-index: 100;
  flex-shrink: 0;
}

/* Mobile hamburger button */
.co-topbar__hamburger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: none;
  background: transparent;
  border-radius: 8px;
  color: #374151;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s;
}

.co-topbar__hamburger:hover {
  background: #f3f4f6;
}

/* Search */
.co-topbar__search {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 0 14px;
  flex: 1;
  max-width: 420px;
  height: 40px;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.co-topbar__search:focus-within {
  border-color: #a5b4fc;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
  background: #fff;
}

.co-topbar__search-icon {
  color: #9ca3af;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.co-topbar__search-input {
  border: none;
  background: transparent;
  outline: none;
  font-size: 0.875rem;
  color: #374151;
  width: 100%;
  
}

.co-topbar__search-input::placeholder {
  color: #9ca3af;
}

/* Search input — hide the browser native clear (×) button */
.co-topbar__search-input::-webkit-search-cancel-button {
  display: none;
}

/* ── Course search suggestions dropdown ────────────────────────── */
.co-topbar__search {
  position: relative;
}

.co-search-suggestions {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  list-style: none;
  margin: 0;
  padding: 6px 0;
  z-index: 300;
  max-height: 360px;
  overflow-y: auto;
}

.co-search-suggestions[hidden] {
  display: none;
}

.co-search-suggestions__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  cursor: pointer;
  transition: background 0.12s;
  gap: 8px;
}

.co-search-suggestions__item:hover,
.co-search-suggestions__item.is-active {
  background: #f3f4f6;
}

.co-search-suggestion__title {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--titleColor, #111827);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.co-search-suggestion__meta {
  font-size: 0.75rem;
  color: #9ca3af;
  flex-shrink: 0;
  white-space: nowrap;
}

.co-search-suggestions__empty {
  padding: 10px 16px;
  font-size: 0.875rem;
  color: #9ca3af;
  list-style: none;
}

/* Actions cluster */
.co-topbar__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  margin-left: auto;
}

/* Notification bell */
.co-topbar__bell {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  color: #6b7280;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}

.co-topbar__bell:hover {
  background: #f3f4f6;
  color: #111827;
}

.co-topbar__badge {
  position: absolute;
  top: 6px;
  right: 6px;
  min-width: 12px;
  height: 12px;
  padding: 0 3px;
  border-radius: 8px;
  background: #ef4444;
  color: #fff;
  font-size: 0.6rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  box-shadow: 0 0 0 2px #fff;
}

/* Bell dropdown */
.co-topbar__bell-menu {
  position: relative;
}

.co-topbar__bell {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: none;
  background: transparent;
  border-radius: 8px;
  color: #374151;
  cursor: pointer;
  transition: background 0.15s;
}

.co-topbar__bell:hover {
  background: #f3f4f6;
}

.co-topbar__bell-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 320px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  z-index: 300;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 0.15s, transform 0.15s;
}

.co-topbar__bell-menu.is-open .co-topbar__bell-dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

/* Notification list items from Opigno */
.co-bell-notifications {
  max-height: 320px;
  overflow-y: auto;
}

.co-bell-notifications .notifications-block {
  padding: 0;
}

.co-bell-notifications .notification-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.co-bell-notifications .notification-item {
  border-bottom: 1px solid #f3f4f6;
}

.co-bell-notifications .notification-item a,
.co-bell-notifications .notification-item .notification-item-text {
  display: block;
  padding: 10px 16px;
  font-size: 0.82rem;
  color: var(--textColor);
  text-decoration: none;
  line-height: 1.4;
  transition: background 0.12s;
}

.co-bell-notifications .notification-item a:hover {
  background: #f9fafb;
  color: var(--secondaryColor);
}

.co-bell-notifications .all-read {
  display: block;
  padding: 8px 16px;
  font-size: 0.78rem;
  color: var(--primaryColor);
  text-align: right;
  text-decoration: none;
  border-bottom: 1px solid #f3f4f6;
}

.co-bell-notifications .all-read:hover {
  text-decoration: underline;
}

.co-bell-notifications .view-notifications {
  padding: 10px 16px;
  text-align: center;
  border-top: 1px solid #f3f4f6;
}

.co-bell-notifications .view-notifications .btn {
  font-size: 0.8rem;
  color: var(--primaryColor);
  background: transparent;
  border: 1px solid var(--primaryColor);
  border-radius: 20px;
  padding: 10px 14px;
  text-decoration: none;
  display: inline-flex;
  transition: background 0.12s, color 0.12s;
  min-height: auto;
  box-shadow: none;
}

.co-bell-notifications .view-notifications .btn:hover {
  background: var(--primaryColor);
  color: #fff;
}

.co-bell-notifications__empty {
  padding: 20px 16px;
  text-align: center;
  font-size: 0.85rem;
  color: #9ca3af;
  margin: 0;
}

/* User avatar + dropdown */
.co-topbar__user-menu {
  position: relative;
}

.co-topbar__avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--primaryColor);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.5px;
  transition: opacity 0.15s, box-shadow 0.15s;
  
}

.co-topbar__avatar:hover {
  opacity: 0.9;
  box-shadow: 0 0 0 3px rgba(0, 173, 239, 0.2);
}

/* Dropdown */
.co-topbar__dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 200px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  z-index: 400;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity 0.15s, transform 0.15s;
}

.co-topbar__user-menu.is-open .co-topbar__dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.co-topbar__dropdown-header {
  padding: 12px 14px 10px;
  border-bottom: 1px solid #f3f4f6;
}

.co-topbar__dropdown-name {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--titleColor);
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.co-topbar__dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  font-size: 0.825rem;
  color: #374151;
  text-decoration: none;
  transition: background 0.1s;
}

.co-topbar__dropdown-item:hover {
  background: #f9fafb;
  text-decoration: none;
  color: #111827;
}

.co-topbar__dropdown-item--danger {
  color: #ef4444;
}

.co-topbar__dropdown-item--danger:hover {
  background: #fef2f2;
  color: #dc2626;
}

.co-topbar__dropdown-divider {
  height: 1px;
  background: #f3f4f6;
  margin: 4px 0;
}

/* ─────────────────────────────────────────────────────────────
   CATALOGUE PAGE  (redesigned)
───────────────────────────────────────────────────────────── */

/* ── CATALOGUE WRAP ───────────────────────────────────────── */
.co-catalogue-wrap {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 15px 20px 20px !important;
  background: #f8f9fb;
  /* min-height: 100%; */
  box-sizing: border-box;
}

/* ── HERO HEADER ──────────────────────────────────────────── */
.co-catalogue-header {
  /* background: linear-gradient(135deg, var(--primaryColor) 0%, var(--primaryHover) 100%);
  padding: 32px 36px 28px;
  border-radius: 14px;
  margin-bottom: 24px; */
  position: relative;
  overflow: hidden;
}

.co-catalogue-header::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 240px;
  height: 240px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 50%;
  pointer-events: none;
}

.co-catalogue-header::after {
  content: '';
  position: absolute;
  bottom: -80px;
  right: 120px;
  width: 180px;
  height: 180px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 50%;
  pointer-events: none;
}

.co-catalogue-header .co-page-title {
  margin: 0 0 4px;
  text-transform: capitalize;
  color: var(--titleColor);
  font-size: 1.5rem;
  font-weight: 700;
}

.co-catalogue-header__subtitle {
  font-size: 0.95rem;
  color: var(--textColor);
  margin: 0;
  font-weight: normal;
}

/* ── FILTER BAR ───────────────────────────────────────────── */
.co-catalogue-filter-bar {
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  padding: 0 40px;
  display: flex;
  align-items: center;
  min-height: 56px;
  position: sticky;
  top: 0;
  z-index: 10;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

/* ── RESULTS AREA ─────────────────────────────────────────── */
.co-catalogue-results {
  width: 100%;
  padding: 0;
}

.co-catalogue-messages {
  margin-bottom: 16px;
}

/* ── VIEW CONTAINER ───────────────────────────────────────── */
.co-catalogue-results .view-opigno-training-catalog {
  width: 100%;
}

.view-opigno-training-catalog .fields-content {
  background: #fff;
  border-radius: 10px;
  height: auto !important;
  overflow: hidden;
}

/* ── Custom module-level progress bar ─────────────────────────── */
.co-lp-progress {
  display: flex;
  align-items: center;
  gap: 8px;
}

.co-lp-progress__bar {
  flex: 1;
  height: 6px;
  background: #e5e7eb;
  border-radius: 99px;
  overflow: hidden;
}

.co-lp-progress__fill {
  height: 100%;
  background: var(--primaryColor, #6366f1);
  border-radius: 99px;
  transition: width 0.3s ease;
}

.co-lp-progress__label {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--primaryColor, #6366f1);
  flex-shrink: 0;
  min-width: 30px;
  text-align: right;
}

.view-opigno-training-catalog .progress-bar-wrapper {
  order: 2;
  margin: 0 20px;
  min-height: 0;
  font-size: 0;
  line-height: 0;
}

.view-opigno-training-catalog .progress-bar-wrapper .views-field-opigno-lp-progress {
  font-size: 0.875rem;
  line-height: 1.5;
  margin-bottom: 8px;
}

.view-opigno-training-catalog .progress-bar-wrapper .learning-path-progress .progress-content {
  display: block;
}

.view-opigno-training-catalog .learning-path-progress .progress-value {
  color: var(--desktop-text);
  font-size: 0.85rem;
  font-weight: normal;
  margin-bottom: 0.375rem;
  text-align: left;
  margin-top: 2px;
}


.view-opigno-training-catalog .view-style {
  min-height: 0px;
}



.co-content-sidebar {
  background: #fff;
}


.content-box .view-empty,
.fieldgroup .view-empty {
  width: 100%;
}

.view-empty .btn-rounded{
    width: 200px;
    margin: 20px auto;
}

/* ── FILTER FORM REDESIGN ─────────────────────────────────── */
.co-catalogue-results #catalog-filter-parent {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 28px;
}

/* Top row: search + Filter button */
.co-catalogue-results .form-items-group {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
}

.co-catalogue-results .form-items-group input[type="text"],
.co-catalogue-results .form-items-group input[type="search"] {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 0.875rem;
  color: #374151;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
  flex: 1;
  min-width: 200px;
  
}

.co-catalogue-results .form-items-group input:focus {
  border-color: var(--primaryColor);
  box-shadow: 0 0 0 3px rgba(26, 117, 230, 0.12);
}

/* Search submit button inside the top row */
.co-catalogue-results .form-items-group .form-submit,
.co-catalogue-results .show-filter {
  background: var(--primaryColor);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 8px 18px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  
  transition: background 0.15s;
  white-space: nowrap;
  /* override Aristotle circular style */
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  text-indent: 0 !important;
  border-radius: 8px !important;
  background-image: none !important;
}

.co-catalogue-results .form-items-group .form-submit:hover,
.co-catalogue-results .show-filter:hover {
  background: #1258b8;
}

/* Filter options panel (catalog-filter) */
.co-catalogue-results .catalog-filter {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
}

/* "See result" button inside filter panel — reset and re-style */
.co-catalogue-results #catalog-filter-parent .catalog-filter .form-actions,
.co-catalogue-results .catalog-filter .form-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
}

.co-catalogue-results #catalog-filter-parent .catalog-filter .form-submit,
.co-catalogue-results .catalog-filter .form-submit {
  margin: 0 !important;
  margin-left: 0 !important;
  display: inline-flex !important;
  align-items: center;
  background: var(--primaryColor) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 8px 18px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  font-family: var(--co-font-family, 'Public Sans', sans-serif) !important;
  transition: background 0.15s !important;
  white-space: nowrap !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  text-indent: 0 !important;
  background-image: none !important;
}

.co-catalogue-results #catalog-filter-parent .catalog-filter .form-submit:hover,
.co-catalogue-results .catalog-filter .form-submit:hover {
  background: #1258b8 !important;
}

/* Reset/clear filter button */
.co-catalogue-results .catalog-filter .btn-reset-filter {
  display: inline-flex !important;
  align-items: center;
  background: #fff !important;
  color: #6b7280 !important;
  border: 1px solid #d1d5db !important;
  border-radius: 8px !important;
  padding: 7px 14px !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  margin-left: 0 !important;
  text-indent: 0 !important;
  white-space: nowrap !important;
}

/* ── Catalogue filter — Department & Designation selects ──── */
.co-catalogue-results .catalog-filter select,
.co-catalogue-results .views-exposed-form select {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 7px 12px;
  font-size: 0.875rem;
  color: #374151;
  
  background: #fff;
  min-width: 150px;
  outline: none;
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.co-catalogue-results .catalog-filter select:focus,
.co-catalogue-results .views-exposed-form select:focus {
  border-color: var(--primaryColor);
  box-shadow: 0 0 0 3px rgba(26, 117, 230, 0.12);
}

/* Department/Designation pill tags on catalogue cards */
.co-lp-dept-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
}

.co-lp-dept-tag {
  background: #eff6ff;
  color: var(--primaryColor);
  border: 1px solid #bfdbfe;
  border-radius: 20px;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 2px 8px;
  white-space: nowrap;
}

/* ── CARD GRID ────────────────────────────────────────────── */

/* CSS Grid wrapper — 3 columns, cards size to own content */
/* .view-content is NOT the grid — it only contains views-infinite-scroll-content-wrapper */
.co-active-courses-grid .view-content {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}
.co-active-courses-grid .views-infinite-scroll-content-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  align-items: stretch !important;
  gap: 20px !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

@media(min-width: 1580px){
  .page-cloudoffis-dashboard-page .view-id-cloudoffis_recommended,
.co-active-courses-grid .views-infinite-scroll-content-wrapper{ grid-template-columns: repeat(4, 1fr) !important;}
}

.co-active-courses-grid .views-row .group--catalog-item{
  border: 1px solid rgba(0, 0, 0, 0.2) !important;
}
/* Each card fills its grid cell — same height per row */
.co-active-courses-grid .group-member,
.co-active-courses-grid .group--catalog-item,
.co-active-courses-grid .views-row
 {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  float: none !important;
  background: #fff !important;
  border-radius: 10px !important;
  border: 1px solid rgba(0, 0, 0, 0.2) !important;
  overflow: visible !important;
  position: relative !important;
  transition: box-shadow 0.22s ease, transform 0.22s ease, border-color 0.22s ease !important;
  display: flex !important;
  flex-direction: column !important;
  flex: none !important;
  box-sizing: border-box !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
  overflow: hidden !important;
}

.co-active-courses-grid .views-row{ 
  overflow: visible !important;
}
.co-active-courses-grid .group-member:hover{ 
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.08) !important;
}

/*.co-active-courses-grid .group-member:hover,
.co-active-courses-grid .views-row:hover {
  box-shadow: 0 8px 28px rgba(26, 117, 230, 0.14), 0 2px 8px rgba(0,0,0,0.06) !important;
  transform: translateY(-3px) !important;
  border-color: #bdd7f9 !important;
}*/

/* Fix Aristotle: top-wrapper must NOT grow (it would expand filling whitespace) */
.view-opigno-training-catalog .top-wrapper {
  flex: 0 0 auto !important;
  max-height: none !important;
}

/* Image area */
.co-active-courses-grid .views-field-field-learning-path-media-image {
  position: relative !important;
  height: 170px !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
  border-radius: 0;
}

.co-active-courses-grid .views-field-field-learning-path-media-image img {
  width: 100% !important;
  height: 170px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.3s ease;
}

.co-active-courses-grid .views-row:hover .views-field-field-learning-path-media-image img {
  transform: scale(1.04);
}

.co-active-courses-grid .views-field-field-learning-path-media-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 50%, rgba(17,24,39,0.35) 100%);
  pointer-events: none;
}

/* ── Course status tag ──────────────────────────────────────── */
.co-course-status {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  pointer-events: none;
}

.co-course-status--available {
  background: rgba(255,255,255,0.92);
  color: #374151;
}

.co-course-status--not_started {
  background: rgba(229,231,235,0.95);
  color: #4b5563;
}

.co-course-status--in_progress {
  background: rgba(251,191,36,0.92);
  color: #92400e;
}

.co-course-status--passed {
  background: rgba(16,185,129,0.92);
  color: #fff;
}

.co-course-status--failed {
  background: rgba(239,68,68,0.92);
  color: #fff;
}


/* fields-content: fill card height, flex column so body-wrapper can grow */
.view-opigno-training-catalog .fields-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
}

/* Body — grows to fill remaining card height, CTA stays at bottom */
.co-active-courses-grid .body-wrapper,
.view-opigno-training-catalog .body-wrapper {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0;
}

/* Text — grows to push CTA to bottom */
.co-active-courses-grid .text-wrapper,
.view-opigno-training-catalog .text-wrapper {
  flex: 1 1 auto !important;
  height: auto !important;
  order: 0;
}

.co-active-courses-grid .views-field-label {
  display: block;
  position: relative;
}

.co-active-courses-grid .views-field-label h2 a{
  color: var(--titleColor) !important;
}
.co-active-courses-grid .views-field-label h2 a:hover{
  color: var(--primaryColor) !important;
}
.co-active-courses-grid .views-field-label h2{
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--titleColor) !important;
  line-height: 1.4;
  margin: 0;
  overflow: hidden;
  padding: 5px 0;
  text-transform: none;
  letter-spacing: 0;
}

.co-active-courses-grid .views-field-field-learning-path-category,
.co-active-courses-grid .views-field-field-learning-path-spent-time,
.co-active-courses-grid .views-field-fields-category-and-duration-combined {
  font-size: 0.78rem;
  font-weight: 500;
  color: #6b7280;
  margin: 0;
}

.co-active-courses-grid .views-field-field-learning-path-description {
  font-size: 0.8125rem;
  color: #6b7280;
  line-height: 1.5;
  margin: 10px 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 5px 20px;
}
.page-view-opigno-training-catalog-training-catalogue .co-active-courses-grid .views-field-field-learning-path-description{margin: 10px 0px;}

/* CTA Button */
.co-active-courses-grid .progress-wrapper {
  order: 2;
  padding: 0 18px 18px;
  margin: 10px 0 0;
}

.co-active-courses-grid .progress-wrapper .dropdown,
.co-active-courses-grid .progress-wrapper .status {
  display: none;
}

.co-active-courses-grid .btn-bg,
.co-active-courses-grid .btn-rounded {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  box-sizing: border-box;
  background: var(--primaryColor);
  border: none;
  border-radius: 8px;
  color: #fff !important;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.4;
  padding: 9px 16px;
  cursor: pointer;
  text-decoration: none !important;
  transition: background 0.15s, box-shadow 0.15s;
}

.co-active-courses-grid .btn-bg:hover,
.co-active-courses-grid .btn-rounded:hover {
  background: var(--primaryHover);
  box-shadow: none;
}

.co-active-courses-grid .dropdown-wrapper {
  display: none;
}


.co-catalogue-results .co-catalogue-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

/* ── CREATE NEW TRAINING — small secondary button ─────────── */
.co-new-training-wrap a,
.co-new-training-wrap .btn {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  background: #fff !important;
  border: 1px solid var(--primaryColor) !important;
  color: var(--primaryColor) !important;
  border-radius: 8px !important;
  
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  padding: 7px 14px !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s;
  white-space: nowrap;
  cursor: pointer;
}

.co-new-training-wrap a:hover,
.co-new-training-wrap .btn:hover {
  background: var(--primaryColor) !important;
  color: #fff !important;
}

/* Hide Aristotle's sort and view style switcher */
.co-catalogue-results .view-style .fake-sort,
.co-catalogue-results .view-style ul.list-unstyled,
.co-catalogue-results .view-header .style-btn {
  display: none !important;
}

/* ── EMPTY STATE ──────────────────────────────────────────── */
.co-catalogue-results .view-empty {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 64px 32px;
  text-align: center;
  color: #6b7280;
}

.co-catalogue-results .view-empty h2 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #111827;
  margin: 0 0 8px;
}

.co-catalogue-results .view-empty p {
  font-size: 0.875rem;
  margin: 0;
}

/* ── PAGER / LOAD MORE ────────────────────────────────────── */
.co-catalogue-results .js-pager__items {
  text-align: center;
  margin-top: 32px;
}

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media (max-width: 1199px) {
  .co-active-courses-grid .views-infinite-scroll-content-wrapper {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .co-catalogue-wrap {
    padding: 16px !important;
  }

  .co-active-courses-grid .views-infinite-scroll-content-wrapper {
    grid-template-columns: 1fr !important;
  }
}

/* ── RESPONSIVE ────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .co-sidebar {
    width: var(--co-sidebar-collapsed);
    min-width: var(--co-sidebar-collapsed);
  }

  .co-sidebar .co-sidebar__logo-text,
  .co-sidebar .co-nav-label,
  .co-sidebar .co-sidebar__user-info,
  .co-sidebar .co-sidebar__settings {
    opacity: 0;
    width: 0;
    flex: none;
    pointer-events: none;
  }

  .co-sidebar .co-nav-link {
    justify-content: center;
    padding: 10px;
  }

  .co-sidebar .co-sidebar__user {
    justify-content: center;
  }

  .co-main {
    margin-left: var(--co-sidebar-collapsed);
  }
}

@media (max-width: 640px) {
  .co-sidebar {
    transform: translateX(-100%);
    width: var(--co-sidebar-width);
    min-width: var(--co-sidebar-width);
    z-index: 200;
    /* Override icon-only rules from 1024px breakpoint */
    opacity: 1 !important;
  }

  .co-sidebar .co-nav-label,
  .co-sidebar .co-sidebar__logo-text,
  .co-sidebar .co-sidebar__user-info,
  .co-sidebar .co-sidebar__settings {
    opacity: 1 !important;
    width: auto !important;
    flex: initial !important;
    pointer-events: auto !important;
  }

  .co-sidebar .co-nav-link {
    justify-content: flex-start !important;
    padding: 10px 16px !important;
  }

  .co-sidebar .co-sidebar__user {
    justify-content: flex-start !important;
  }

  .co-sidebar.is-mobile-open {
    transform: translateX(0);
  }

  .co-main {
    margin-left: 0;
  }

  /* Show hamburger, hide desktop sidebar toggle */
  .co-topbar__hamburger {
    display: flex;
  }

  #co-sidebar-toggle {
    display: none;
  }

  /* Reduce topbar padding on mobile */
  .co-topbar {
    padding: 0 12px;
    gap: 8px;
  }

  /* Bell dropdown: fixed full-width panel on mobile */
  .co-topbar__bell-dropdown {
    position: fixed;
    top: 64px;
    left: 0;
    right: 0;
    width: 100%;
    border-radius: 0 0 12px 12px;
    max-height: 70vh;
    overflow-y: auto;
  }

  /* User dropdown: fixed full-width panel on mobile */
  .co-topbar__dropdown {
    position: fixed;
    top: 64px;
    left: 0;
    right: 0;
    width: 100%;
    border-radius: 0 0 12px 12px;
  }
}

/* ── TRAINING DETAIL — steps column width ─────────────────── */
.lp-table .steps {
  width: auto !important;
}

/* ── TRAINING STEPS — module title font size ──────────────── */
.opigno-lp-step-module .module-title,
.opigno-lp-step-ilt .module-title,
.opigno-lp-step-meeting .module-title {
  font-size: 0.9rem !important;
}

/* ── TRAINING STEPS — activity item styling ───────────────── */

.opigno-lp-step-module .opigno-lp-step-module-activity,
.opigno-lp-step-ilt .opigno-lp-step-module-activity,
.opigno-lp-step-meeting .opigno-lp-step-module-activity {
  font-size: 0.800rem;
  margin-bottom: 1.00rem;
  padding-left: 1.5625rem;
  position: relative;
}

/* ── CATALOGUE FILTER REGION (help block wrapper) ─────────── */
.co-catalogue-filter-region {
  margin-bottom: 20px;
}

.co-catalogue-filter-region .block {
  margin: 0;
  padding: 0;
  background: transparent;
}

/* ── Remove border/shadow from content-box and fieldgroup ──── */
.content-box,
.fieldgroup {
  border: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

/* ── TRAINING MANAGEMENT PAGE (/admin/structure/trainings) ─── */
.page-admin-structure-trainings .co-content-main {
  background: #f5f6fa;
}

/* Hide Nodes link from Operations dropdown */
.page-admin-structure-trainings li:has(a[href$="/nodes"]) {
  display: none !important;
}

/* Local action buttons container — align right, no bullets */
.page-admin-structure-trainings #block-cloudoffis-primaryadminactions {
  text-align: right;
  margin-bottom: 15px;
}

.page-admin-structure-trainings #block-cloudoffis-primaryadminactions ul,
.page-admin-structure-trainings .local-actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  margin-bottom: 24px;
  padding: 0 !important;
  list-style: none !important;
}

.page-admin-structure-trainings #block-cloudoffis-primaryadminactions li,
.page-admin-structure-trainings .local-actions li {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

/* Hide Import Training button */
.page-admin-structure-trainings li:has(a[href*="opigno_import"]) {
  display: none !important;
}

.page-cloudoffis-dashboard-achievements .co-achievements-page .co-achievements-empty .co-btn-primary,
.page-view-opigno-training-catalog-training-catalogue .view-opigno-training-catalog .btn,
.page-admin-structure-trainings #block-cloudoffis-primaryadminactions .button-action,
.page-admin-structure-trainings #block-cloudoffis-primaryadminactions .btn,
.page-admin-structure-trainings #block-cloudoffis-primaryadminactions a,
.page-admin-structure-trainings .local-actions .button-action,
.page-admin-structure-trainings .local-actions .btn,
.page-admin-structure-trainings .local-actions a,.modal-actions .btn-rounded  {
 display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 9px 22px !important;
  border-radius: 8px !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  font-family: var(--themefont) !important;
  cursor: pointer !important;
  border: none !important;
  transition: opacity 0.15s !important;
  background: var(--primaryColor) !important;
  border-color: var(--primaryColor) !important;
  color: var(--whiteColor) !important;
  box-shadow: unset !important;
  text-transform: capitalize;
}


.page-admin-structure-trainings #block-cloudoffis-primaryadminactions .button-action::before,
.page-admin-structure-trainings #block-cloudoffis-primaryadminactions a::before,
.page-admin-structure-trainings .local-actions .button-action::before,
.page-admin-structure-trainings .local-actions a::before {
  display: none !important;
}

.page-cloudoffis-dashboard-achievements .co-achievements-page .co-achievements-empty .co-btn-primary:hover,
.page-view-opigno-training-catalog-training-catalogue .view-opigno-training-catalog .btn:hover,
.page-admin-structure-trainings #block-cloudoffis-primaryadminactions .button-action:hover,
.page-admin-structure-trainings #block-cloudoffis-primaryadminactions .btn:hover,
.page-admin-structure-trainings #block-cloudoffis-primaryadminactions a:hover,
.page-admin-structure-trainings .local-actions .button-action:hover,
.page-admin-structure-trainings .local-actions .btn:hover,
.page-admin-structure-trainings .local-actions a:hover {
  background: var(--primaryHover) !important;
  border-color: var(--primaryHover) !important;
  color: var(--whiteColor) !important;
}

/* Filter form card */
.page-admin-structure-trainings .views-exposed-form {
  background: #fff;
  border: none;
  border-radius: 10px;
  padding: 15px;
  margin-bottom: 24px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}

.page-admin-structure-trainings .views-exposed-form .form-items-group {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0;
}

.page-admin-structure-trainings .views-exposed-form input[type="text"],
.page-admin-structure-trainings .views-exposed-form input[type="search"] {
  transition: border-color 0.15s, box-shadow 0.15s;
  min-width: 220px;
  flex: 1;
}

.page-admin-structure-trainings .views-exposed-form select {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 0.875rem;
  color: #374151;
  
  outline: none;
  background: #fff;
  transition: border-color 0.15s, box-shadow 0.15s;
  min-width: 160px;
  cursor: pointer;
}

.page-admin-structure-trainings .views-exposed-form select:focus {
  border-color: var(--primaryColor);
  box-shadow: 0 0 0 3px rgba(26, 117, 230, 0.12);
}

.page-admin-structure-trainings .views-exposed-form select[multiple] {
  height: auto;
  min-height: 80px;
}

/* Labels above filter fields */
.page-admin-structure-trainings .views-exposed-form .js-form-item label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--titleColor);
  letter-spacing: normal;
  margin-bottom: 5px;
}

.page-admin-structure-trainings .views-exposed-form input[type="text"]:focus,
.page-admin-structure-trainings .views-exposed-form input[type="search"]:focus {
  border-color: var(--primaryColor);
  box-shadow: 0 0 0 3px rgba(26, 117, 230, 0.12);
}

/* Table card */
.page-admin-structure-trainings .views-responsive-table,
.page-admin-structure-trainings .content-box {
  background: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
  overflow: visible;
}
.page-admin-structure-trainings .view-id-groups_list .content-box,
.page-admin-structure-trainings .view-id-groups_list .views-responsive-table{
  padding: 0;
}

/* Round the table corners without overflow:hidden on the wrapper */
.page-admin-structure-trainings table thead tr:first-child th:first-child {
  border-top-left-radius: 12px;
}
.page-admin-structure-trainings table thead tr:first-child th:last-child {
  border-top-right-radius: 12px;
}
.page-admin-structure-trainings table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 12px;
}
.page-admin-structure-trainings table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 12px;
}

.page-admin-structure-trainings table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
  
}

.page-admin-structure-trainings table thead th {
  text-align: left;
  padding: 12px 14px;
  background: var(--light);
  color: var(--titleColor);
  font-weight: 500;
  font-size: 14px;
  border-bottom: 1px solid transparent;
  white-space: nowrap;
}

.page-admin-structure-trainings table thead th a {
  color: var(--titleColor);
  text-decoration: none;
}

.page-admin-structure-trainings table thead th a:hover {
  color: var(--primaryHover);
}

.page-admin-structure-trainings table tbody tr {
  transition: background 0.1s;
}

.page-admin-structure-trainings table tbody tr:last-child {
  border-bottom: none;
}

.page-admin-structure-trainings table tbody tr:hover {
  background: #f9fafb;
}

.page-admin-structure-trainings table tbody td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--lightColor);
  color: var(--textColor);
  vertical-align: middle;
  height: auto;
}
.page-admin-structure-trainings table tbody tr:last-child td{
  border-bottom: none;
}

.page-admin-structure-trainings table tbody td a {
  color: var(--titleColor);
  text-decoration: none;
  font-weight: 500;
}

.page-admin-structure-trainings table tbody td a:hover {
  color: var(--primaryHover);
}

.dropbutton-wrapper.dropbutton-single{ position: relative;}
.dropbutton-wrapper.dropbutton-single .dropbutton-widget .dropdown-toggle{ 
  padding: 5px;
  border: none;
  border-radius: 5px;
}
.dropbutton-wrapper.dropbutton-single .dropbutton-widget .dropdown-toggle .fi{
  font-size: 16px;
}
.dropbutton-wrapper.dropbutton-single .dropbutton-widget .dropdown-menu{
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}
.dropbutton-wrapper.dropbutton-single .dropbutton-widget .dropdown-menu li{
  margin: 0;
  padding: 0;
  background: none !important;
}
.dropbutton-wrapper.dropbutton-single .dropbutton-widget .dropdown-menu li a{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  font-size: 0.825rem;
  color: #374151;
  background: none !important;
  text-decoration: none;
  transition: background 0.1s;
  font-weight: 400;
}
.dropbutton-wrapper.dropbutton-single .dropbutton-widget .dropdown-menu li a:hover,
.dropbutton-wrapper.dropbutton-single .dropbutton-widget .dropdown-menu li a:focus{
  background: #f9fafb !important;
  text-decoration: none;
  color: #111827;
}

.page-admin-structure-trainings .dropbutton li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-admin-structure-trainings .dropbutton li a,
.page-admin-structure-trainings .dropbutton li input,
.page-admin-structure-trainings .dropbutton li button {
  display: inline-block;
  padding: 6px 14px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #374151 !important;
  text-decoration: none;
  background: transparent !important;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  
  text-indent: 0 !important;
  width: auto !important;
  height: auto !important;
}

.page-admin-structure-trainings .dropbutton li a:hover,
.page-admin-structure-trainings .dropbutton li button:hover {
  background: #eff6ff !important;
  color: var(--primaryColor) !important;
}

.page-admin-structure-trainings .dropbutton-toggle button {
  background: #f3f4f6 !important;
  border-left: 1px solid #e5e7eb !important;
  padding: 6px 10px !important;
  border-radius: 0 6px 6px 0 !important;
  cursor: pointer;
  text-indent: 0 !important;
  width: auto !important;
  height: auto !important;
}

.page-admin-structure-trainings .dropbutton-toggle button:hover {
  background: #e5e7eb !important;
}

/* ── GROUP MEMBERS PAGE ─────────────────────────────────────── */
.page-view-group-members-page-1 .co-content-main {
  background: #f5f6fa;
}

/* Add member button — right-aligned, no bullets */
.page-view-group-members-page-1 #block-cloudoffis-primaryadminactions {
  text-align: right;
  margin-bottom: 15px;
}

.page-view-group-members-page-1 #block-cloudoffis-primaryadminactions ul {
  display: flex !important;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0 !important;
  list-style: none !important;
  margin: 0;
}

.page-view-group-members-page-1 #block-cloudoffis-primaryadminactions li {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

.page-view-group-members-page-1 #block-cloudoffis-primaryadminactions a {
  display: inline-flex !important;
  align-items: center !important;
  background: linear-gradient(135deg, #1A75E6 0%, #1258b8 100%) !important;
  background-image: linear-gradient(135deg, #1A75E6 0%, #1258b8 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 9px 20px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  font-family: var(--co-font-family, 'Public Sans', sans-serif) !important;
  text-decoration: none !important;
  text-indent: 0 !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  line-height: 1.4 !important;
  cursor: pointer;
  transition: opacity 0.15s;
  box-shadow: 0 2px 8px rgba(26,117,230,0.18) !important;
}

.page-view-group-members-page-1 #block-cloudoffis-primaryadminactions a::before {
  display: none !important;
}

.page-view-group-members-page-1 #block-cloudoffis-primaryadminactions a:hover {
  opacity: 0.88;
  color: #fff !important;
}

/* Table card */
.page-view-group-members-page-1 .views-responsive-table,
.page-view-group-members-page-1 .content-box {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
  overflow: visible;
}

.page-view-group-members-page-1 table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
  
}

.page-view-group-members-page-1 table thead th {
  background: #f9fafb;
  color: #374151;
  font-weight: 600;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 12px 16px;
  border-bottom: 1px solid #e5e7eb;
  text-align: left;
  white-space: nowrap;
}

.page-view-group-members-page-1 table thead th a {
  color: #374151;
  text-decoration: none;
}

.page-view-group-members-page-1 table thead th a:hover {
  color: var(--primaryColor);
}

.page-view-group-members-page-1 table thead tr:first-child th:first-child {
  border-top-left-radius: 12px;
}
.page-view-group-members-page-1 table thead tr:first-child th:last-child {
  border-top-right-radius: 12px;
}
.page-view-group-members-page-1 table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 12px;
}
.page-view-group-members-page-1 table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 12px;
}

.page-view-group-members-page-1 table tbody tr {
  border-bottom: 1px solid #f3f4f6;
  transition: background 0.1s;
}

.page-view-group-members-page-1 table tbody tr:last-child {
  border-bottom: none;
}

.page-view-group-members-page-1 table tbody tr:hover {
  background: #f8faff;
}

.page-view-group-members-page-1 table tbody td {
  padding: 12px 16px;
  color: #374151;
  vertical-align: middle;
}

.page-view-group-members-page-1 table tbody td a {
  color: var(--primaryColor);
  text-decoration: none;
  font-weight: 500;
}

.page-view-group-members-page-1 table tbody td a:hover {
  text-decoration: underline;
}

/* Roles list inside table — no bullets, inline */
.page-view-group-members-page-1 table tbody td ul {
  list-style: none !important;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.page-view-group-members-page-1 table tbody td ul li {
  list-style: none !important;
  background: #eff6ff;
  color: var(--primaryColor);
  font-size: 0.75rem;
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 4px;
}

/* Operations — hide toggle, show links inline */
.page-view-group-members-page-1 .dropbutton-wrapper,
.page-view-group-members-page-1 .dropbutton-widget,
.page-view-group-members-page-1 .dropdown {
  display: block;
  position: static;
  background: transparent;
  border: none;
  box-shadow: none;
}

/* Hide the toggle button entirely */
.page-view-group-members-page-1 .dropdown-toggle {
  display: none !important;
}

/* Show the menu always, inline as a flex row */
.page-view-group-members-page-1 .dropdown-menu {
  display: flex !important;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 6px;
  position: static !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  background: transparent !important;
  transform: none !important;
  z-index: auto !important;
  margin: 0 !important;
  float: none !important;
}

.page-view-group-members-page-1 .dropdown-menu .dropdown-item {
  padding: 0 !important;
  background: transparent !important;
}

/* Style each action link as a small icon+text button */
.page-view-group-members-page-1 .dropdown-menu .dropdown-item a {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  padding: 5px 10px !important;
  font-size: 0.8rem !important;
  font-weight: 500;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s;
  white-space: nowrap;
  color: #374151 !important;
  background: #f3f4f6 !important;
  border: 1px solid #e5e7eb !important;
}

.page-view-group-members-page-1 .dropdown-menu .dropdown-item a:hover {
  background: #eff6ff !important;
  color: var(--primaryColor) !important;
  border-color: #bfdbfe !important;
}

/* Edit icon via ::before (pencil) */
.page-view-group-members-page-1 .dropdown-menu .dropdown-item a[href*="/edit"]::before {
  content: '';
  display: inline-block;
  width: 13px;
  height: 13px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' viewBox='0 0 24 24' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

/* Delete icon via ::before (trash) */
.page-view-group-members-page-1 .dropdown-menu .dropdown-item a[href*="/delete"]::before {
  content: '';
  display: inline-block;
  width: 13px;
  height: 13px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23ef4444' viewBox='0 0 24 24' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

/* Red tint for delete link */
.page-view-group-members-page-1 .dropdown-menu .dropdown-item a[href*="/delete"] {
  color: #ef4444 !important;
  background: #fef2f2 !important;
  border-color: #fecaca !important;
}

.page-view-group-members-page-1 .dropdown-menu .dropdown-item a[href*="/delete"]:hover {
  background: #fee2e2 !important;
  color: #dc2626 !important;
  border-color: #fca5a5 !important;
}

/* ── GROUP CONTENT EDIT FORM (Edit member) ───────────────────── */
.page-entity-group-content-edit-form .co-content-main {
  background: #f5f6fa;
}

/* Form card */
.page-entity-group-content-edit-form .group-content-form {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
  padding: 28px 32px;
  max-width: 600px;
}

/* Fieldset / section */
.page-entity-group-content-edit-form fieldset {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 20px;
  background: #fafafa;
}

.page-entity-group-content-edit-form fieldset legend {
  font-size: 0.85rem;
  font-weight: 600;
  color: #374151;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0 6px;
  background: #fafafa;
}

/* Radio and checkbox items */
.page-entity-group-content-edit-form .js-form-type-radio,
.page-entity-group-content-edit-form .js-form-type-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
}

.page-entity-group-content-edit-form .js-form-type-radio .field,
.page-entity-group-content-edit-form .js-form-type-checkbox .field {
  display: flex;
  align-items: center;
  gap: 8px;
}

.page-entity-group-content-edit-form input[type="radio"],
.page-entity-group-content-edit-form input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--primaryColor);
  cursor: pointer;
  flex-shrink: 0;
}

.page-entity-group-content-edit-form label.option {
  font-size: 0.875rem;
  color: #374151;
  font-weight: 400;
  cursor: pointer;
  margin: 0;
}

/* Form actions row */
.page-entity-group-content-edit-form .form-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 24px;
  flex-wrap: wrap;
}

/* Save / primary button */
.page-entity-group-content-edit-form .form-actions input[type="submit"],
.page-entity-group-content-edit-form .form-actions .button--primary {
  background: linear-gradient(135deg, #1A75E6 0%, #1258b8 100%) !important;
  background-image: linear-gradient(135deg, #1A75E6 0%, #1258b8 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 9px 22px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  font-family: var(--co-font-family, 'Public Sans', sans-serif) !important;
  cursor: pointer !important;
  text-indent: 0 !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  box-shadow: 0 2px 8px rgba(26,117,230,0.18) !important;
  transition: opacity 0.15s !important;
}

.page-entity-group-content-edit-form .form-actions input[type="submit"]:hover,
.page-entity-group-content-edit-form .form-actions .button--primary:hover {
  opacity: 0.88 !important;
}

.btn-border-red, .ui-dialog-buttonset .form-submit[id*=remove], form #edit-unpublish, form #edit-delete, form #edit-actions-delete, form #edit-cancel, form .form-submit[id*=remove], .ui-dialog-buttonset .button--primary, .modal-event-date .form-actions .button--danger, .remove-button
{
  background:red !important;
  color: #fff !important;
  border-radius: 5px;
}

/* Cancel button */
.page-entity-group-content-edit-form .form-actions a.button:not(.button--danger) {
  display: inline-flex !important;
  align-items: center;
  background: #fff !important;
  color: #374151 !important;
  border: 1px solid #d1d5db !important;
  border-radius: 8px !important;
  padding: 9px 22px !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  font-family: var(--co-font-family, 'Public Sans', sans-serif) !important;
  text-decoration: none !important;
  text-indent: 0 !important;
  cursor: pointer;
  transition: background 0.15s;
}

.page-entity-group-content-edit-form .form-actions a.button:not(.button--danger):hover {
  background: #f9fafb !important;
}

/* Delete / danger button */
.page-entity-group-content-edit-form .form-actions a.button--danger {
  display: inline-flex !important;
  align-items: center;
  background: #fef2f2 !important;
  color: #ef4444 !important;
  border: 1px solid #fecaca !important;
  border-radius: 8px !important;
  padding: 9px 22px !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  font-family: var(--co-font-family, 'Public Sans', sans-serif) !important;
  text-decoration: none !important;
  text-indent: 0 !important;
  cursor: pointer;
  margin-left: auto;
  transition: background 0.15s;
}

.page-entity-group-content-edit-form .form-actions a.button--danger:hover {
  background: #fee2e2 !important;
  color: #dc2626 !important;
}

/* ─────────────────────────────────────────────────────────────
   GROUP / MODULE ACTIVITY PAGE
   Scoped to: .page-opigno-module-group-answer-form
   Covers: LP steps sidebar, progress bar, SCORM player, Back/Next buttons
───────────────────────────────────────────────────────────── */

/* ── Layout: sidebar + main two-column ─── */
.page-opigno-module-group-answer-form .co-content-wrap.has-sidebar , .page-opigno-module-restart-restart-activity .co-content-wrap.has-sidebar {
  display: flex;
  align-items: flex-start;
  gap: 0;
  height: calc(100vh - 64px);
  overflow: hidden;
}

.page-opigno-module-group-answer-form .co-content-sidebar , .page-opigno-module-restart-restart-activity .co-content-sidebar {
  width: 280px;
  min-width: 280px;
  max-width: 280px;
  height: 100%;
  overflow-y: auto;
  background: #fff;
  border-right: 1px solid #e5e7eb;
  flex-shrink: 0;
  padding: 0;
  box-sizing: border-box;
}

.page-opigno-module-group-answer-form .co-content-main , .page-opigno-module-restart-restart-activity .co-content-main {
  flex: 1;
  height: 100%;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  padding: 0;
  box-sizing: border-box;
}

/* ── Global padding-top: 0 for content-box / fieldgroup on this page ─── */
.page-opigno-module-group-answer-form .content-box,
.page-opigno-module-group-answer-form .fieldgroup , .page-opigno-module-restart-restart-activity .fieldgroup {
  padding-top: 0 !important;
}

/* ── Strip Aristotle box-shadow / borders from content-box in sidebar ─── */
.page-opigno-module-group-answer-form .co-content-sidebar .content-box,
.page-opigno-module-group-answer-form .co-content-sidebar .fieldgroup , .page-opigno-module-restart-restart-activity .co-content-sidebar .fieldgroup {
  box-shadow: none !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* LP title (training name) */
.page-opigno-module-group-answer-form .co-content-sidebar .lp-title , .page-opigno-module-restart-restart-activity .co-content-sidebar .lp-title {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 14px 16px 12px !important;
  margin: 0 !important;
  border-bottom: 1px solid #e5e7eb !important;
  line-height: 1.3 !important;
}

/* Module row — remove Aristotle border-bottom, add subtle one */
.page-opigno-module-group-answer-form .co-content-sidebar .opigno-lp-step-module,
.page-opigno-module-group-answer-form .co-content-sidebar .opigno-lp-step-ilt,
.page-opigno-module-group-answer-form .co-content-sidebar .opigno-lp-step-meeting , .page-opigno-module-restart-restart-activity .co-content-sidebar .opigno-lp-step-meeting {
  padding: 10px 14px 10px 20px !important;
  background: #f8fafc !important;
  border-bottom: 1px solid #f1f5f9 !important;
  position: relative !important;
}

/* Module title text */
.page-opigno-module-group-answer-form .co-content-sidebar .module-title , .page-opigno-module-restart-restart-activity .co-content-sidebar .module-title {
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  color: #374151 !important;
  margin-bottom: 0 !important;
  padding-right: 20px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  line-height: 1.3 !important;
  cursor: pointer !important;
}

/* Replace Aristotle's large CSS triangle with a small clean SVG-like arrow */
.page-opigno-module-group-answer-form .co-content-sidebar .module-title::after , .page-opigno-module-restart-restart-activity .co-content-sidebar .module-title::after {
  content: "" !important;
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) rotate(180deg) !important;
  width: 8px !important;
  height: 8px !important;
  border-right: 2px solid #9ca3af !important;
  border-bottom: 2px solid #9ca3af !important;
  border-top: none !important;
  border-left: none !important;
  border-top-color: transparent !important;
  border-radius: 0 !important;
  -webkit-transform: translateY(-50%) rotate(225deg) !important;
  transform: translateY(-50%) rotate(225deg) !important;
  transition: transform 0.2s ease !important;
}

/* When module is open: arrow points up */
.page-opigno-module-group-answer-form .co-content-sidebar .module-title.open::after , .page-opigno-module-restart-restart-activity .co-content-sidebar .module-title.open::after {
  -webkit-transform: translateY(-50%) rotate(45deg) !important;
  transform: translateY(-50%) rotate(45deg) !important;
}

/* Passed-activities counter */
.page-opigno-module-group-answer-form .co-content-sidebar .passed-activities , .page-opigno-module-restart-restart-activity .co-content-sidebar .passed-activities {
  font-size: 0.72rem !important;
  color: #6b7280 !important;
  margin-top: 2px !important;
}

/* Activities list */
.page-opigno-module-group-answer-form .co-content-sidebar .activities-list , .page-opigno-module-restart-restart-activity .co-content-sidebar .activities-list {
  padding-top: 4px !important;
}

/* Activity item */
.page-opigno-module-group-answer-form .co-content-sidebar .opigno-lp-step-module-activity , .page-opigno-module-restart-restart-activity .co-content-sidebar .opigno-lp-step-module-activity {
  font-size: 0.8rem !important;
  padding: 7px 14px 7px 14px !important;
  margin-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-bottom: 1px solid #f3f4f6 !important;
  background: #fff !important;
  transition: background 0.15s !important;
  cursor: pointer !important;
}

.page-opigno-module-group-answer-form .co-content-sidebar .opigno-lp-step-module-activity:hover , .page-opigno-module-restart-restart-activity .co-content-sidebar .opigno-lp-step-module-activity:hover {
  background: #f0f4ff !important;
}

/* Current activity */
.page-opigno-module-group-answer-form .co-content-sidebar .opigno-lp-step-module-activity.current , .page-opigno-module-restart-restart-activity .co-content-sidebar .opigno-lp-step-module-activity.current {
  background: #eff6ff !important;
  border-left: 3px solid var(--primaryColor) !important;
}

.page-opigno-module-group-answer-form .co-content-sidebar .opigno-lp-step-module-activity.current a , .page-opigno-module-restart-restart-activity .co-content-sidebar .opigno-lp-step-module-activity.current a {
  color: var(--primaryColor) !important;
  font-weight: 600 !important;
}

/* Passed activity */
.page-opigno-module-group-answer-form .co-content-sidebar .opigno-lp-step-module-activity.passed , .page-opigno-module-restart-restart-activity .co-content-sidebar .opigno-lp-step-module-activity.passed {
  background: #f0fdf4 !important;
}

.page-opigno-module-group-answer-form .co-content-sidebar .opigno-lp-step-module-activity.passed a , .page-opigno-module-restart-restart-activity .co-content-sidebar .opigno-lp-step-module-activity.passed a {
  color: #166534 !important;
}

/* Activity links */
.page-opigno-module-group-answer-form .co-content-sidebar .opigno-lp-step-module-activity a , .page-opigno-module-restart-restart-activity .co-content-sidebar .opigno-lp-step-module-activity a {
  font-size: 0.8rem !important;
  color: #374151 !important;
  text-decoration: none !important;
  flex: 1 !important;
  line-height: 1.3 !important;
}

/* Caret icon on current activity (fi-rr-caret-right) */
.page-opigno-module-group-answer-form .co-content-sidebar .opigno-lp-step-module-activity .fi-rr-caret-right , .page-opigno-module-restart-restart-activity .co-content-sidebar .opigno-lp-step-module-activity .fi-rr-caret-right {
  font-size: 0.6rem !important;
  color: var(--primaryColor) !important;
  flex-shrink: 0 !important;
}

/* State dot (module passed indicator) */
.page-opigno-module-group-answer-form .co-content-sidebar .state , .page-opigno-module-restart-restart-activity .co-content-sidebar .state {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #d1d5db !important;
  flex-shrink: 0 !important;
  position: absolute !important;
  left: 8px !important;
  top: 14px !important;
}

.page-opigno-module-group-answer-form .co-content-sidebar .state.passed , .page-opigno-module-restart-restart-activity .co-content-sidebar .state.passed {
  background: #10b981 !important;
}

/* Lock icon */
.page-opigno-module-group-answer-form .co-content-sidebar .fi-rr-lock , .page-opigno-module-restart-restart-activity .co-content-sidebar .fi-rr-lock {
  font-size: 0.75rem !important;
  color: #9ca3af !important;
  position: absolute !important;
  left: 6px !important;
  top: 12px !important;
}

/* ── Top region: back button ─── */
.page-opigno-module-group-answer-form .co-top-region , .page-opigno-module-restart-restart-activity .co-top-region {
  padding: 12px 24px;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
}

.page-opigno-module-group-answer-form .co-top-region .back-btn,
.page-opigno-module-group-answer-form .co-top-region a.back-to-learning-path , .page-opigno-module-restart-restart-activity .co-top-region a.back-to-learning-path {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #374151;
  text-decoration: none;
  padding: 6px 14px;
  border: none;
  border-radius: 8px;
  background: #fff;
  transition: background 0.15s;
}

.page-opigno-module-group-answer-form .co-top-region .back-btn:hover,
.page-opigno-module-group-answer-form .co-top-region a.back-to-learning-path:hover , .page-opigno-module-restart-restart-activity .co-top-region a.back-to-learning-path:hover {
  background: #f9fafb;
  border-color: #9ca3af;
}

/* ── LP progress bar — hidden ─── */
.page-opigno-module-group-answer-form .lp_progress_wrapper , .page-opigno-module-restart-restart-activity .lp_progress_wrapper {
  display: none !important;
}

/* ── Activity wrapper + module title ─── */
.page-opigno-module-group-answer-form .opigno_activity__wrapper , .page-opigno-module-restart-restart-activity .opigno_activity__wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: visible;
  min-height: 0;
}

.opigno_activity__wrapper .module-title-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 24px;
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  flex-shrink: 0;
}

.page-opigno-module-group-answer-form .module-title-wrapper h2,
.page-opigno-module-group-answer-form .module-title-wrapper h1 , .page-opigno-module-restart-restart-activity .module-title-wrapper h1 {
  font-size: 1rem;
  font-weight: 600;
  color: #1e293b;
  margin: 0;
  
}

.opigno_activity__wrapper .module-title-wrapper a {
  font-size: 0.8rem;
  color: #6b7280;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.page-opigno-module-group-answer-form .module-title-wrapper a:hover , .page-opigno-module-restart-restart-activity .module-title-wrapper a:hover {
  color: var(--primaryColor);
}

/* ── SCORM / activity iframe ─── */
.page-opigno-module-group-answer-form .opigno_activity, 
.page-opigno-module-restart-restart-activity .opigno_activity {
  flex: auto;
  height: 500px;
  overflow: auto;
  background: #f8fafc;
  min-height: 0;
  justify-content: center;      
}

.page-opigno-module-group-answer-form .opigno_activity .h5p-content .questionset,
.page-opigno-module-restart-restart-activity .opigno_activity .h5p-content .questionset
{
   margin: auto;
    max-width: 800px;
    width: 100%;
      
}

.h5p-interactive-video .h5p-video
{
  height: 485px;
}

.h5p-content.h5p-no-frame
{
  height: 100%;
}

.section-module .layout-container .main-content {background-color: #F8FAFD;}
.page-opigno-module-group-answer-form .scorm-ui-player , .page-opigno-module-restart-restart-activity .scorm-ui-player {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.page-opigno-module-group-answer-form .scorm-ui-player-iframe-wrapper , .page-opigno-module-restart-restart-activity .scorm-ui-player-iframe-wrapper {
  flex: 1;
  overflow: hidden;
}

.page-opigno-module-group-answer-form .scorm-ui-player-iframe-wrapper iframe , .page-opigno-module-restart-restart-activity .scorm-ui-player-iframe-wrapper iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

/* ── Back / Next form buttons ─── */
.page-opigno-module-group-answer-form .form-actions,
.page-opigno-module-restart-restart-activity .form-actions,
.page-opigno-module-module-result .form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 12px 24px;
  background: #fff;
  border-top: 1px solid #e5e7eb;
  flex-shrink: 0;
  flex-wrap: wrap;
}

.progress-bar-container {
    flex-grow: 1;
    height: 6px;
    background-color: var(--border-light);
    border-radius: 4px;
    overflow: hidden;
}
.page-opigno-module-group-answer-form .form-actions input[type="submit"],
.page-opigno-module-restart-restart-activity .form-actions input[type="submit"],
.page-opigno-module-group-answer-form .form-actions .button,
.page-opigno-module-restart-restart-activity .form-actions .button,
.page-opigno-module-module-result .form-actions .btn-rounded {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 9px 22px !important;
  border-radius: 8px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  font-family: var(--co-font-family, 'Public Sans', sans-serif) !important;
  cursor: pointer !important;
  border: none !important;
  transition: opacity 0.15s !important;
  text-decoration: none;
  background: var(--primaryColor) !important;
  border-color: var(--primaryColor) !important;
  color: var(--whiteColor) !important;
  box-shadow: unset !important;
}

/* ── Responsive: collapse sidebar on small screens ─── */
@media (max-width: 900px) {
  .page-opigno-module-group-answer-form .co-content-wrap.has-sidebar , .page-opigno-module-restart-restart-activity .co-content-wrap.has-sidebar {
    flex-direction: column;
    height: auto;
    overflow: visible;
  }

  .page-opigno-module-group-answer-form .co-content-sidebar , .page-opigno-module-restart-restart-activity .co-content-sidebar {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 220px;
    border-right: none;
    border-bottom: 1px solid #e5e7eb;
  }

  .page-opigno-module-group-answer-form .co-content-main , .page-opigno-module-restart-restart-activity .co-content-main {
    height: auto;
    min-height: 500px;
  }

  .page-opigno-module-group-answer-form .opigno_activity__wrapper , .page-opigno-module-restart-restart-activity .opigno_activity__wrapper {
    min-height: 400px;
  }

  .page-opigno-module-group-answer-form .scorm-ui-player-iframe-wrapper , .page-opigno-module-restart-restart-activity .scorm-ui-player-iframe-wrapper {
    min-height: 400px;
  }

  .page-opigno-module-group-answer-form .scorm-ui-player-iframe-wrapper iframe , .page-opigno-module-restart-restart-activity .scorm-ui-player-iframe-wrapper iframe {
    min-height: 400px;
    height: 400px;
  }
}

/* ─────────────────────────────────────────────────────────────
   GROUP OVERVIEW PAGE  (http://localhost/group/N)
   Scoped to: .page-entity-group-canonical
───────────────────────────────────────────────────────────── */

/* ── Top region: back btn + h1 inline ─── */
.page-entity-group-canonical .co-top-region {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 28px 8px;
  flex-wrap: wrap;
}

.page-entity-group-canonical .co-top-region .back-btn a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #374151;
  text-decoration: none;
  padding: 6px 14px;
  border: none;
  border-radius: 8px;
  background: transparent;
  white-space: nowrap;
  transition: color 0.15s;
}

.page-entity-group-canonical .co-top-region .back-btn a:hover {
  color: var(--primaryColor);
}

.page-entity-group-canonical .co-top-region .block-page-title-block h1 {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--titleColor);
  margin: 0;
  text-transform: capitalize;
  
}

/* ── Main content wrap ─── */
.page-entity-group-canonical .co-content-wrap {
  padding: 8px 28px 32px;
}

.page-entity-group-canonical .co-content-main {
  width: 100%;
}

/* ── Strip Aristotle content-box on this page ─── */
.page-entity-group-canonical .content-box,
.page-entity-group-canonical .fieldgroup {
  box-shadow: 0 1px 4px rgba(0,0,0,0.07) !important;
  border-radius: 10px !important;
  background: #fff !important;
  border: none !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* ── Bootstrap row reset ─── */
.page-entity-group-canonical .group .row {
  margin: 0;
  gap: 20px;
  flex-wrap: nowrap;
  align-items: flex-start;
}

.page-entity-group-canonical .group .col-left {
  padding: 0;
  flex: 0 0 260px;
  max-width: 260px;
  width: 260px;
}

.page-entity-group-canonical .group .col-right {
  padding: 0;
  flex: 1;
  min-width: 0;
}

/* ── Left card: content-left ─── */
.page-entity-group-canonical .content-left {
  overflow: hidden !important;
}

.page-entity-group-canonical .content-left .flex-column {
  display: flex;
  flex-direction: column;
}

/* LP image */
.page-entity-group-canonical .lp-image {
  width: 100%;
  background: linear-gradient(135deg, #1e3a5f 0%, #1A75E6 100%);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}


/* Action buttons */
.page-entity-group-canonical .action-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 20px 16px;
  border-bottom: 1px solid #f1f5f9;
}

/* Suppress Aristotle btn::after / btn-rounded::after chevron */
.page-entity-group-canonical .action-wrapper a::before,
.page-entity-group-canonical .action-wrapper a::after {
  display: none !important;
  content: none !important;
}

.page-entity-group-canonical .action-wrapper .btn-bg,
.page-entity-group-canonical .action-wrapper .continue-training-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  box-sizing: border-box;
  background: var(--primaryColor);
  border: none;
  border-radius: 8px;
  color: #fff !important;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.4;
  padding: 9px 16px;
  cursor: pointer;
  text-transform: capitalize;
  text-decoration: none !important;
  transition: background 0.15s, box-shadow 0.15s;
}

/* LP info section */
.page-entity-group-canonical .lp-content {
  padding: 0;
}

.page-entity-group-canonical .lp-content__top {
  padding: 12px 16px 8px;
  border-bottom: 1px solid #f1f5f9;
}

.page-entity-group-canonical .lp-content__top .lp-title {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--titleColor) !important;
  margin: 0 !important;
}

.page-entity-group-canonical .lp-info {
  padding: 8px 0;
}

.page-entity-group-canonical .row-info {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 6px 16px;
  gap: 8px;
}

.page-entity-group-canonical .row-info h2.label {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--textColor) !important;
  margin: 0 !important;
  white-space: nowrap;
  text-transform: none !important;
}

.page-entity-group-canonical .row-info .value {
  font-size: 14px;
  font-weight: 700;
  color: var(--textColor);
  margin: 0;
  text-align: right;
}

/* ── Right column ─── */

/* Progress wrapper — hide the Aristotle progress box on desktop */
.page-entity-group-canonical .lp-global-progress-wrapper {
  display: none !important;
}

/* Training steps table — no extra border, content-box shadow handles it */
.page-entity-group-canonical .lp-table {
  overflow: hidden !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.07) !important;
  border: none !important;
}

.page-entity-group-canonical .lp-table-wrapper {
  overflow-x: auto;
}

.page-entity-group-canonical .statistics-table {
  width: 100%;
  border-collapse: collapse;
  
  font-size: 0.875rem;
}

/* Table head */
.page-entity-group-canonical .statistics-table thead tr {
  background: #f8fafc;
  border-bottom: 2px solid #e5e7eb;
}

.page-entity-group-canonical .statistics-table thead th {
  padding: 10px 14px;
  font-size: 0.72rem;
  font-weight: 700;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
  border: none !important;
}

.page-entity-group-canonical .statistics-table thead th.mandatory {
  width: 30px;
}

/* Table body rows */
.page-entity-group-canonical .statistics-table tbody tr {
  border-bottom: 1px solid #f1f5f9;
  transition: background 0.12s;
}

.page-entity-group-canonical .statistics-table tbody tr:hover {
  background: #f8fafc;
}

.page-entity-group-canonical .statistics-table tbody td {
  padding: 12px 14px;
  vertical-align: middle;
  border: none !important;
  color: #374151;
}

/* Mandatory star icon */
.page-entity-group-canonical .statistics-table td.mandatory .fi {
  color: #f59e0b;
  font-size: 0.8rem;
}

/* Type badge */
.page-entity-group-canonical .statistics-table td.type span {
  display: inline-block;
  padding: 2px 10px;
  background: #eff6ff;
  color: var(--primaryColor);
  border-radius: 20px;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Steps: module link */
.page-entity-group-canonical .statistics-table td.steps h4 {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--textColor);
}

.page-entity-group-canonical .statistics-table td.steps h4 a {
  color: var(--textColor);
  text-decoration: none;
}

.page-entity-group-canonical .statistics-table td.steps h4 a:hover {
  color: var(--primaryColor);
}

/* Status icons */
.page-entity-group-canonical .statistics-table td.status .icon_state {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 0.72rem;
  font-weight: 600;
}

.page-entity-group-canonical .statistics-table td.status .icon_state_pending {
  background: #fef3c7;
  color: #92400e;
}

.page-entity-group-canonical .statistics-table td.status .icon_state_passed {
  background: #d1fae5;
  color: #065f46;
}

.page-entity-group-canonical .statistics-table td.status .icon_state_failed {
  background: #fee2e2;
  color: #991b1b;
}

/* Score progress mini bar */
.page-entity-group-canonical .statistics-table td.progress .learning-path-progress {
  min-width: 100px;
}

.page-entity-group-canonical .statistics-table td.progress .progress-bar {
  height: 6px;
  background: #e5e7eb;
  border-radius: 3px;
  overflow: hidden;
  margin-top: 4px;
}

.page-entity-group-canonical .statistics-table td.progress .progress-progress {
  height: 100%;
  background: linear-gradient(90deg, #1A75E6, #3b82f6);
  border-radius: 3px;
  transition: width 0.3s;
}

.page-entity-group-canonical .statistics-table td.progress .progress-value {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--primaryColor);
}

/* Action: start link */
.page-entity-group-canonical .statistics-table td.action a.start {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--primaryColor);
  color: #fff;
  font-size: 0;
  transition: background 0.15s;
}

.page-entity-group-canonical .statistics-table td.action a.start::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 9px;
  border-color: transparent transparent transparent #fff;
  margin-left: 2px;
}

.page-entity-group-canonical .statistics-table td.action a.start:hover {
  background: var(--primaryHover);
}

/* ── Responsive ─── */
@media (max-width: 992px) {
  .page-entity-group-canonical .group .row {
    flex-wrap: wrap;
  }

  .page-entity-group-canonical .group .col-left,
  .page-entity-group-canonical .group .col-right {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }

  .page-entity-group-canonical .co-content-wrap {
    padding: 8px 16px 24px;
  }

  .page-entity-group-canonical .co-top-region {
    padding: 12px 16px 6px;
  }
}

/* ── ANNOUNCEMENTS SLIDER ────────────────────────────────────── */

/* Outer slider container */
.co-ann-slider {
  width: 100%;
}

/* Clipping window */
.co-ann-slider__track-wrap {
  overflow: hidden;
  width: 100%;
}

/* Sliding row — animates via transform set by JS */
.co-ann-slider__track {
  display: flex;
  transition: transform 0.35s ease;
  will-change: transform;
}

/* Each slide: exactly 1/3 of the track-wrap via flex basis */
.co-ann-slider__slide {
  flex: 0 0 33.333%;
  max-width: 33.333%;
  box-sizing: border-box;
  padding: 0 6px;
}

/* Individual announcement card inside slide */
.co-ann-slider__slide .views-row {
  height: 100%;
  padding: 14px 16px;
  border-right: 1px solid #f0f1f5;
  transition: background 0.12s;
  box-sizing: border-box;
}

.co-ann-slider__slide:last-child .views-row {
  border-right: none;
}

.co-ann-slider__slide .views-row:hover {
  background: #f9fafb;
}

/* Title + date on one line */
.co-ann-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}

.co-ann-top .views-field-title a {
  font-size: 16px;
  font-weight: 500;
  color: var(--textColor);
  text-decoration: none;
  line-height: 1.4;
}

.co-ann-top .views-field-title a:hover {
  color: var(--primaryColor);
}

.co-ann-top .views-field-created {
  flex-shrink: 0;
  font-size: 0.72rem;
  color: #9ca3af;
  white-space: nowrap;
  padding-top: 2px;
}

.co-ann-top .views-field-created time {
  font-size: inherit;
  color: inherit;
}

/* Body text */
.co-ann-slider__slide .views-field-body {
  font-size: 0.8rem;
  color: #6b7280;
  line-height: 1.5;
}

.co-ann-slider__slide .views-field-body p {
  margin: 0;
}

/* ── Slider controls (prev/next) ── */
.co-ann-slider__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 0 4px;
}

.co-ann-slider__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: var(--titleColor, #1a1a2e);
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  flex-shrink: 0;
}

.co-ann-slider__btn:hover:not(:disabled) {
  background: var(--primaryColor, #4f46e5);
  border-color: var(--primaryColor, #4f46e5);
  color: #fff;
}

.co-ann-slider__btn:disabled {
  opacity: 0.35;
  cursor: default;
}

/* ── Mobile ≤640px: 1 slide at a time ── */
@media (max-width: 640px) {
  .co-ann-slider__slide {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .co-ann-slider__slide .views-row {
    border-right: none;
    padding: 12px;
  }

  .co-ann-top {
    flex-direction: column;
    gap: 3px;
  }

  .co-ann-top .views-field-created {
    white-space: normal;
  }
}

/* ── DASHBOARD BLOCK SPACING ─────────────────────────────────── */
.dashboard-drupal-block {
  margin-bottom: 20px;
}

.last-training .fields-content, .view-cloudoffis-recommended .fields-content{ display: flex; flex-direction: column; height: 100%;}


/************ Edit Profile **************/
.page-entity-user-edit-form .user-form{ width: 100%; max-width: 900px !important; margin: 0 auto;}
.page-entity-user-edit-form .user-form .user-form-wrapper{ background: #fff !important; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04); border-radius: 10px !important; padding: 30px;}
/* .page-entity-user-edit-form .user-form .user-form-wrapper{ display: grid; flex-wrap: wrap; gap: 0 30px; grid-template-columns: repeat(3, 1fr);} */
.page-entity-user-edit-form .user-form .user-form-wrapper .form-item{ flex-direction: column !important;}
.page-entity-user-edit-form .user-form .user-form-wrapper .form-item > .label{ flex: unset !important;}
form .form-item label{ color: var(--titleColor);}
.form-text, .form-email{ background: white !important; border: 1px solid rgba(0, 0, 0, 0.1) !important; border-radius: 5px !important; color: var(--titleColor) !important; outline: none !important; padding: 8px !important; font-size: 14px !important; box-shadow: none !important;}
.section-admin .form-item .description, .admin-learning-path .form-item .description, .section-moxtra .form-item .description, .password-confirm-message, .password-strength__title{ margin-top: 10px;}
.section-admin .js-form-type-radio label.option::before, .section-admin .js-form-type-checkbox label.option::before, .login-container .js-form-type-radio label.option::before, .login-container .js-form-type-checkbox label.option::before, .opigno-activity-form .js-form-type-radio label.option::before, .opigno-activity-form .js-form-type-checkbox label.option::before, .opigno-module-form .js-form-type-radio label.option::before, .opigno-module-form .js-form-type-checkbox label.option::before, .opigno-calendar-event-form .js-form-type-radio label.option::before, .opigno-calendar-event-form .js-form-type-checkbox label.option::before{ height: 16px !important;top: 0 !important; width: 16px !important; border-radius: 4px !important; border: 1px solid rgba(0, 0, 0, 0.1) !important; box-shadow: none !important; background: var(--whiteColor) !important;}
.section-admin .js-form-type-checkbox label.option::before, .login-container .js-form-type-checkbox label.option::before, .opigno-activity-form .js-form-type-checkbox label.option::before, .opigno-module-form .js-form-type-checkbox label.option::before, .opigno-calendar-event-form .js-form-type-checkbox label.option::before{ font-size: 11px !important;}
.section-admin .js-form-type-radio input:checked ~ label.option::before, .section-admin .js-form-type-checkbox input:checked ~ label.option::before, .login-container .js-form-type-radio input:checked ~ label.option::before, .login-container .js-form-type-checkbox input:checked ~ label.option::before, .opigno-activity-form .js-form-type-radio input:checked ~ label.option::before, .opigno-activity-form .js-form-type-checkbox input:checked ~ label.option::before, .opigno-module-form .js-form-type-radio input:checked ~ label.option::before, .opigno-module-form .js-form-type-checkbox input:checked ~ label.option::before, .opigno-calendar-event-form .js-form-type-radio input:checked ~ label.option::before, .opigno-calendar-event-form .js-form-type-checkbox input:checked ~ label.option::before{ border-color: var(--primaryColor) !important;}
.section-admin .js-form-type-checkbox input:checked ~ label.option::before, .login-container .js-form-type-checkbox input:checked ~ label.option::before, .opigno-activity-form .js-form-type-checkbox input:checked ~ label.option::before, .opigno-module-form .js-form-type-checkbox input:checked ~ label.option::before, .opigno-calendar-event-form .js-form-type-checkbox input:checked ~ label.option::before{ background: var(--primaryColor) !important;}
.section-admin .js-form-type-radio label.option::before, .login-container .js-form-type-radio label.option::before, .opigno-activity-form .js-form-type-radio label.option::before, .opigno-module-form .js-form-type-radio label.option::before, .opigno-calendar-event-form .js-form-type-radio label.option::before{ border-radius: 50% !important;}
.section-admin .js-form-type-radio input:checked ~ label.option::after, .login-container .js-form-type-radio input:checked ~ label.option::after, .opigno-activity-form .js-form-type-radio input:checked ~ label.option::after, .opigno-module-form .js-form-type-radio input:checked ~ label.option::after, .opigno-calendar-event-form .js-form-type-radio input:checked ~ label.option::after{ background: var(--primaryColor) !important;}
.section-admin .js-form-type-radio input:checked ~ label.option::after, .login-container .js-form-type-radio input:checked ~ label.option::after, .opigno-activity-form .js-form-type-radio input:checked ~ label.option::after, .opigno-module-form .js-form-type-radio input:checked ~ label.option::after, .opigno-calendar-event-form .js-form-type-radio input:checked ~ label.option::after{ top: 3px !important;}
.section-admin .form-select.bootstrap-select > .dropdown-toggle, .admin-learning-path .form-select.bootstrap-select > .dropdown-toggle, .section-moxtra .form-select.bootstrap-select > .dropdown-toggle{ background: white !important; border: 1px solid rgba(0, 0, 0, 0.1) !important; border-radius: 5px !important; color: var(--titleColor) !important; outline: none !important; padding: 12px 18px !important; font-size: 16px !important; box-shadow: none !important;}
.section-admin .form-select.bootstrap-select .dropdown-menu, .admin-learning-path .form-select.bootstrap-select .dropdown-menu, .section-moxtra .form-select.bootstrap-select .dropdown-menu{ background: none !important; border: none !important;}
.section-admin .form-select.bootstrap-select > .dropdown-menu, .admin-learning-path .form-select.bootstrap-select > .dropdown-menu, .section-moxtra .form-select.bootstrap-select > .dropdown-menu{ background: white !important; border: 1px solid rgba(0, 0, 0, 0.1) !important;}
.form-select.bootstrap-select > .dropdown-menu li .dropdown-item{ color: var(--titleColor) !important;}
.form-select.bootstrap-select > .dropdown-menu li .dropdown-item:hover{ background: #f9fafb !important; color: #111827 !important;}
.form-select.bootstrap-select > .dropdown-menu li .dropdown-item.active{ background: var(--primaryHover) !important; color: var(--whiteColor) !important;}
.section-admin .password-strength__meter, .admin-learning-path .password-strength__meter, .section-moxtra .password-strength__meter{ height: 6px !important; margin-bottom: 5px;}

.section-admin .form-actions .button, .admin-learning-path .form-actions .button, .section-moxtra .form-actions .button, form .button.form-submit,.admin-learning-path .btn-rounded{ box-sizing: border-box; background: var(--primaryColor) !important; border: none !important; border-radius: 8px !important; color: var(--whiteColor) !important; font-size: 0.8125rem !important; font-weight: 600 !important; line-height: 1.4 !important; padding: 9px 16px !important; cursor: pointer !important; text-decoration: none !important; transition: all 0.15s !important;    text-transform: capitalize;}


form .button.form-submit[id*="remove"]{ background: var(--danger) !important;}
.section-admin .form-actions .button:hover, .admin-learning-path .form-actions .button:hover, .section-moxtra .form-actions .button:hover, form .button.form-submit:hover{ color: var(--whiteColor) !important; background: var(--primaryHover) !important;}
form .button.form-submit[id*="remove"]:hover{ background: #c01e2e !important;}


.status-message { margin: 0 0 10px !important; padding: 20px 20px 20px 56px !important; border-radius: 10px !important;}
.status-message.status{ background: none !important; border: 1px solid var(--primaryColor) !important;}
.status-message .fi{ font-size: 20px !important; left: 20px !important; top: 22px !important;}
.status-message .fi.check-circle { height: 20px !important; width: 20px !important;}
.section-admin .form-managed-file{ flex-direction: column;}
.section-admin .form-managed-file .upload-field{ margin-right: 0 !important; margin-bottom: 20px !important;}
.section-admin .form-managed-file img{ max-width: 200px !important; border-radius: 5px !important; margin: 0 0 10px !important;}

.user-statistics-page .content-box{ overflow: inherit !important;}
.user-statistics-page .content-box:not(.p-0){ background: #fff !important; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04); border-radius: 10px !important; padding: 30px !important;}
.user-statistics-page .user-info .edit-link { right: -10px; left: auto !important; top: -10px !important;}
.user-statistics-page .user-info .edit-link a{ color: var(--primaryColor) !important; font-size: 20px !important;}
.user-statistics-page .user-info{ padding: 0 !important;}
.user-statistics-page .profile-info__pic { height: 120px !important; margin-bottom: 0 !important; width: 120px !important;}
.user-statistics-page .user-info__section-top{ padding-left: 0 !important;}
.user-info-email a{ color: var(--primaryColor) !important;}
.user-info-email a:hover{ color: var(--primaryHover) !important;}
.user-info__section-bottom{ margin-top: 10px !important; display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 20px !important;}
.user-info__section-bottom .link-box{ margin: 0 !important;}
.link-box{ flex: unset !important; max-width: inherit !important; border-radius: 10px !important; font-size: 16px !important; font-weight: 500 !important; padding: 20px !important; transition: all 0.3s ease-out !important; border: 1px solid rgba(0,0,0,0.1) !important; background: none !important; gap: 14px !important; justify-content: flex-start !important;}
.link-box:hover{ box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1) !important;}
.link-box__type{ max-width: 40px !important; min-width: 40px !important; margin-right: 0 !important;}
.link-box__content{ display: block !important;}
.link-box .link-box__content .link-box__number{ font-size: 12px !important; font-weight: 700 !important; margin-right: 0 !important; width: 24px; height: 24px; background: var(--secondaryColor); border-radius: 50%; display: flex; justify-content: center; align-items: center; color: white; position: absolute; top: -10px; right: -10px;}
.link-box .link-box__content .link-box__subtext{ position: unset;}

.user-statistics-page .trainings-list .trainings-list-wrapper{ border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 10px;}
.statistics-table thead th{ text-align: left !important; padding: 12px 14px !important; background: var(--light) !important; color: var(--titleColor) !important; font-weight: 500 !important; font-size: 14px !important; border-bottom: 1px solid transparent !important; white-space: nowrap !important;}
.statistics-table td{ padding: 12px 14px !important; border-bottom: none !important; border-top: 1px solid rgba(0, 0, 0, 0.1) !important; color: var(--textColor) !important; vertical-align: middle !important; font-weight: 400 !important;}
.statistics-table td .icon_state_pending .fi{ font-size: 12px !important;}
.statistics-table td .icon_state_passed .fi{ color: var(--whiteColor) !important; background: var(--primaryColor) !important;}
.statistics-table td .btn{ box-sizing: border-box; background: var(--primaryColor) !important; border: none !important; border-radius: 8px !important; color: var(--whiteColor) !important; font-size: 0.8125rem !important; font-weight: 400 !important; line-height: 1.4 !important; padding: 9px 16px !important; cursor: pointer !important; text-decoration: none !important; transition: all 0.15s !important;}
.statistics-table td .btn:hover{ background: var(--primaryHover) !important; color: var(--whiteColor) !important;}

.page-view-opigno-calendar-page-month .co-page-header, .page-view-opigno-calendar-page-week .co-page-header, .page-view-opigno-calendar-page-day .co-page-header, .page-entity-group-canonical .co-top-region{ padding: 15px 20px 0 !important;}
.page-entity-group-canonical .co-top-region{ display: block !important;}
.co-content-wrap, .page-entity-group-canonical .co-content-wrap{ padding: 15px 20px 20px !important;}
.co-top-region .back-btn{ margin-bottom: 0 !important;}
.co-top-region .block-page-title-block{ margin-top: 12px !important;}
.admin-learning-path .co-top-region .block-page-title-block h1 { font-size: 1.5rem !important; font-weight: 600 !important; color: var(--titleColor) !important; margin: 0 !important; line-height: 1.3 !important; }
.co-top-region .back-btn a{ border: 1px solid rgba(0,0,0,0.1) !important; font-size: 0.875rem !important; padding: 8px 20px 8px 15px !important; border-radius: 5px !important; min-width: auto !important; color: var(--titleColor) !important; display: inline-flex !important; background: #fff !important;}
.co-top-region .back-btn a .d-lg-none{ display: block !important;}
.co-top-region .back-btn a .d-lg-block{ display: none !important;}
.co-top-region .back-btn a:hover { background: var(--primaryColor) !important; border-color: var(--primaryColor) !important; color: white !important;}
.page-entity-group-canonical .action-wrapper{ padding-top: 0 !important;}
.page-entity-group-canonical .action-wrapper .btn{ margin-bottom: 0 !important;}
.page-entity-group-canonical .action-wrapper .btn.continue-link{ min-width: 36px;
  box-sizing: border-box;
  background: var(--secondaryColor) !important;
  border: none !important;
  border-radius: 8px !important;
  color: var(--whiteColor) !important;
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  padding: 9px 16px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all 0.15s !important;
  opacity: 1 !important; 
  display: none !important;}
.page-entity-group-canonical .action-wrapper .btn.continue-link:hover{ background: var(--secondaryHover) !important;}
.page-entity-group-canonical .action-wrapper .btn.continue-training-link,
.h5peditor .ui-dialog .h5p-joubelui-button, .h5peditor .h5p-joubelui-button, .h5p-joubelui-button{ min-width: 24px; box-sizing: border-box; background: var(--primaryColor) !important; border: none !important; border-radius: 6px !important; color: var(--whiteColor) !important; font-size: 0.8125rem !important; font-weight: 600 !important; line-height: 1.4 !important; padding: 4px 8px !important; cursor: pointer !important; text-decoration: none !important; transition: all 0.15s !important; opacity: 1 !important; text-transform: capitalize;}
.h5p-question .h5p-question-next::before {
	left: 0;
  top: 1px;
}
.h5p-question .h5p-question-prev::before {
	left: 0;
  top: 1px;
}
.page-entity-group-canonical .action-wrapper .btn.continue-training-link:hover,
.h5peditor .ui-dialog .h5p-joubelui-button:hover, .h5peditor .h5p-joubelui-button:hover, .h5p-joubelui-button:hover{ background: var(--primaryHover) !important; color: var(--whiteColor) !important;}

.page-entity-group-canonical .statistics-table thead th{ border: none !important; border-bottom: 1px solid transparent !important; text-transform: unset !important;
  letter-spacing: normal !important;}
.page-entity-group-canonical .statistics-table thead th.type, .page-entity-group-canonical .statistics-table tbody td.type { width: 7.5rem !important;}
.page-entity-group-canonical .lp-table-wrapper .statistics-table tbody td{ border-bottom: none !important; border-top: 1px solid rgba(0, 0, 0, 0.1) !important;}
.statistics-table tbody td.status .icon_state .fi{ display: none !important;}
.page-entity-group-canonical .lp-table-wrapper .statistics-table thead tr, .page-entity-group-canonical .lp-table-wrapper .statistics-table tbody tr{ border: none !important;}
.statistics-table td[colspan] .inner-table{ padding-left: 0 !important; border: none !important;}
.statistics-table td[colspan] table.statistics-table{ background: none !important; border-left-width: 4px !important;}
.statistics-table td[colspan] table.statistics-table tbody td{ border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important; border-top: none !important;}
.lp-table .icon_state .fi, .skills-list .icon_state .fi, .training-content .icon_state .fi { height: 20px !important; margin-right: 0 !important; width: 20px !important;}
.page-entity-group-canonical .statistics-table td.steps h4{ font-size: 14px !important; text-transform: unset !important; font-weight: normal !important;}
.page-entity-group-canonical .statistics-table td.type span{ font-size: 12px !important; text-transform: unset !important; font-weight: normal !important;}
.page-entity-group-canonical .statistics-table td.progress .progress-progress{ background: linear-gradient(135deg, var(--secondaryColor) 0%, var(--primaryColor) 100%) !important;}
.co-layout .co-main .page-main .co-top-region{ padding: 20px 20px 0 !important; background: none !important; border: none !important; display: block;}
.co-layout .co-main .page-main .co-top-region .back-btn{ padding: 0 !important; background: none !important; border: none !important;}
.page-entity-group-canonical .statistics-table td.action a.start{ min-width: 32px;}

.co-layout .co-content-wrap .co-content-sidebar{ height: auto !important; max-height: 100% !important; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important; background: #fff !important; border-radius: 5px !important; border: none !important; align-self: flex-start !important; position: sticky; top: 100px; width: 280px !important; min-width: 280px !important; max-width: 280px !important; overflow-y: auto !important;}
.page-opigno-module-module-result .co-layout .co-content-wrap .co-content-main,
.page-opigno-module-group-answer-form .co-layout .co-content-wrap .co-content-main,
.page-opigno-module-restart-restart-activity .co-layout .co-content-wrap .co-content-main{ height: auto !important; overflow: unset !important; padding: 0 0 0 20px !important;}
.co-layout .co-content-wrap.has-sidebar{ height: auto !important; overflow: unset !important; gap: 0;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-activity .lp-title{ font-size: 16px !important; font-weight: 500 !important; text-transform: unset !important; letter-spacing: normal !important; padding: 10px !important; border-color: rgba(0, 0, 0, 0.1) !important; line-height: 1.3 !important; color: var(--titleColor) !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-list .opigno-lp-step-module,
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-list .opigno-lp-step-ilt,
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-list .opigno-lp-step-meeting{ padding: 10px !important; background: none !important; border-color: rgba(0, 0, 0, 0.1) !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-activity{ margin-bottom: 0 !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-list{ margin-bottom: 0 !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-list .module-title{ font-size: 14px !important; font-weight: 500 !important; text-transform: unset !important; letter-spacing: normal !important; color: var(--titleColor) !important; margin: 0 !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-list .module-title.open{ color: var(--primaryColor) !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-list .state{ display: none !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-list .module-title::after{ right: 0 !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-list .activities-list { padding-top: 8px !important; padding-left: 10px;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-module .module-title::after,
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-ilt .module-title::after,
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-meeting .module-title::after{ content: "" !important; position: absolute !important; top: 50% !important; right: 0 !important; width: 8px !important; height: 8px !important; border-right: 2px solid #9ca3af !important; border-bottom: 2px solid #9ca3af !important; border-top: none !important; border-left: none !important; border-top-color: transparent !important; border-radius: 0 !important; transform: translateY(-50%) rotate(45deg) !important; transition: transform 0.2s ease !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-module .module-title.open::after,
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-ilt .module-title.open::after,
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-meeting .module-title.open::after{ transform: translateY(-50%) rotate(-135deg) !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-list .opigno-lp-step-module-activity{ padding: 5px 0 !important; border-bottom:1px solid rgba(0, 0, 0, 0.1) !important; color: var(--textColor) !important; margin: 0 !important; text-decoration: none !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-list .opigno-lp-step-module-activity:last-child{ border-bottom: none !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-list .opigno-lp-step-module-activity .activity-link{ color: var(--titleColor) !important; font-weight: 500 !important; font-size: 12px !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-list .opigno-lp-step-module-activity:hover{ background: none !important; color: var(--primaryColor) !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-list .opigno-lp-step-module-activity:hover .activity-link{ color: var(--primaryColor) !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-list .opigno-lp-step-module-activity.passed{ background: none !important; padding-left: 10px !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-list .opigno-lp-step-module-activity.passed a{ color: var(--green) !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-module .opigno-lp-step-module-activity.passed::before,
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-ilt .opigno-lp-step-module-activity.passed::before,
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-meeting .opigno-lp-step-module-activity.passed::before{ width: 3px !important; border-radius: 0 !important; background: var(--green) !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-module .opigno-lp-step-module-activity.passed + .passed::after,
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-ilt .opigno-lp-step-module-activity.passed + .passed::after,
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-meeting .opigno-lp-step-module-activity.passed + .passed::after{ width: 3px !important; border-radius: 0 !important; display: none !important; background: var(--green) !important;}
.co-layout .co-content-wrap .co-content-sidebar .activities-list .opigno-lp-step-module-activity.current::before{ display: none !important;}
.co-layout .co-content-wrap .co-content-sidebar .activities-list .opigno-lp-step-module-activity.current{ padding-left: 10px !important; background: none !important; border-left-color: var(--secondaryColor) !important; border-left-width: 3px !important; border-left-style: solid !important;}
.co-layout .co-content-wrap .co-content-sidebar .activities-list .opigno-lp-step-module-activity .fi-rr-caret-right{ left: auto !important; top: 11px !important;
right: 0 !important; transform: rotate(90deg) !important; display: none !important;}
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-module .passed-activities,
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-ilt .passed-activities,
.co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-meeting .passed-activities{ font-size: 0.72rem !important; color: #6b7280 !important; margin-top: 2px !important;}
.card-content .card-title a{color: #000;}
.page-opigno-module-group-answer-form .opigno_activity__wrapper, .page-opigno-module-restart-restart-activity .opigno_activity__wrapper{ padding: 0 !important; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important; background: #fff !important; border-radius: 5px 5px 0 0 !important; border: none !important;margin-bottom: 0px;}
.page-opigno-module-group-answer-form .opigno_activity, .page-opigno-module-restart-restart-activity .opigno_activity{ background: none !important; border: none !important; padding: 0px !important; overflow: unset !important;}
.module-title-wrapper .fullscreen-link { border-radius: 5px !important; height: 30px !important; width: 30px !important; min-width: 30px !important;}
.opigno_activity__wrapper .module-title-wrapper{ background: none !important; border-color: rgba(0, 0, 0, 0.1) !important;margin-bottom: 0px;}
.co-layout .co-content-wrap .form-actions{ border-color: rgba(0, 0, 0, 0.1) !important; border-radius: 0 0 5px 5px !important;}
.opigno_activity__wrapper .module-title-wrapper h2, .opigno_activity__wrapper .module-title-wrapper h1{ font-size: 16px !important;
font-weight: 500 !important;
text-transform: unset !important;
letter-spacing: normal !important;
line-height: 1.3 !important;
color: var(--titleColor) !important;}
.h5p-content{ 
  /*border-radius: 5px !important;*/
  border-right: none;
    border-left: none;
}


.h5p-no-frame > .h5p-question > *:first-child, .h5p-transparent > div > .h5p-question > *:first-child
{
  margin: 1em !important;
}
.h5p-no-frame > .h5p-question > *, .h5p-transparent > div > .h5p-question > *{
  margin: 1em !important;
}

  .h5p-question-introduction{ color: var(--titleColor) !important; font-size: 14px !important;margin: 1em !important;}

  .h5p-multichoice .h5p-alternative-container{ background: none;
    border: 1px solid rgba(0,0,0,0.1);
    box-shadow: none;
    padding: 10px 10px 10px 40px;
  }
  .h5p-question-content{
    margin: 1em !important;
  }

  .h5p-question-buttons.h5p-question-visible {
    margin-left: 1em !important;
    margin-right: 0.5em !important;
}

  
  .h5p-multichoice .h5p-answer .h5p-alternative-container::before{ 
    content: "" !important;
    height: 16px !important;
    top: 10px !important;
    width: 16px !important;
    box-shadow: none !important;
    background: var(--whiteColor) !important;
    border-radius: 50% !important;
    border: 1px solid rgba(0, 0, 0, 0.1);
    position: absolute;
    left: 14px;
  }
 
  
  .h5p-multichoice .h5p-answer[role="radio"][aria-checked="true"] .h5p-alternative-container::before{ border: 5px solid var(--primaryColor) !important; background: var(--whiteColor) !important;}
  .h5p-multichoice .h5p-answer:not([aria-disabled="true"]):focus .h5p-alternative-container, .h5p-multichoice .h5p-answer:not([aria-disabled="true"]):hover .h5p-alternative-container{ background: var(--lightColor) !important; outline-style: unset !important;
  outline-width: 0 !important;}
  .h5p-multichoice .h5p-answer[aria-checked="true"] .h5p-alternative-container{ border-color: var(--primaryColor) !important; border-width: 1px !important;}

  .h5p-multichoice .h5p-answer.h5p-correct .h5p-alternative-container, .h5p-multichoice .h5p-answer.h5p-correct:hover .h5p-alternative-container{ 
    color: var(--green);
    box-shadow: none;
    border-color: var(--green);
    background: #f2fff5;
  }
  .h5p-multichoice .h5p-correct .h5p-alternative-container::before{
    border-color: var(--green);
  }
  .h5p-multichoice .h5p-answer-icon{
    width: 13px;
    height: 13px;
    line-height: normal;
    top: 13px;
    left: 18px;
    letter-spacing: normal;
    font-size: 0;
  }
  .h5p-multichoice .h5p-correct .h5p-answer-icon::before {
	color: var(--green);
	font-size: 10px;
	line-height: normal;
	letter-spacing: normal;
}
.h5p-multichoice .h5p-answer.h5p-wrong .h5p-alternative-container, .h5p-multichoice .h5p-answer.h5p-wrong:hover .h5p-alternative-container{
  color: var(--danger);
    box-shadow: none;
    border-color: var(--danger);
    background: #fff9f9;
}
.h5p-multichoice .h5p-wrong .h5p-alternative-container::before{
    border-color: var(--danger);
  }
.h5p-multichoice .h5p-wrong .h5p-answer-icon::before{
  color: var(--danger);
	font-size: 11px;
	line-height: normal;
	letter-spacing: normal;
  padding: 0;
  margin: -1px 0 0 1px;

}
  .progress-dot {
    width: 12px;
    height: 12px;
    margin: 0 5px;
    border: 2px solid #fff;
    box-shadow: 0 0 0 2px rgba(0,0,0,0.15);
    background: white;
    transform: unset !important;
  }
  .progress-dot::before, .progress-dot::after{ display: none;}
  .progress-dot.current{ background: var(--primaryColor); box-shadow: 0 0 0 2px var(--primaryColor);}
  .progress-dot.answered { background: var(--secondaryColor); box-shadow: 0 0 0 2px var(--secondaryColor);}

    
  .page-opigno-module-module-result .form-actions .btn-rounded.btn,
  .section-module form .form-submit[value="Next"], 
  .section-module form .form-submit[value="Back"],
  .section-module form .form-submit[value="Previous"]
  { 
    background: transparent !important;
    border: 1px solid var(--primaryColor) !important;
    color: var(--primaryColor) !important;
    box-shadow: unset !important;
    min-width: fit-content !important;
    min-height: 39px !important;
  }

  .page-opigno-module-module-result .form-actions .btn-rounded.btn:hover,
  .section-module form .form-submit[value="Next"]:hover, 
  .section-module form .form-submit[value="Back"]:hover,
  .section-module form .form-submit[value="Previous"]:hover
  { 
    background: var(--primaryHover) !important; border-color: var(--primaryHover) !important; color: var(--whiteColor) !important;}

  .co-content-main .content-box.lp_progress_wrapper{ display: none !important;}
  .lp_progress_wrapper{ background: var(--whiteColor) !important; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important; border-radius: 5px !important;}
  .lp_progress_wrapper .lp_progress{ flex-direction: column !important; align-items: stretch !important; gap: 10px;}
  .lp_progress_wrapper .lp_progress_label{ color: var(--titleColor); font-weight: 500; font-size: 16px;}
  .lp_progress_wrapper .lp_progress_bar{ margin: 0 !important; height: 5px !important;}
  .lp_progress_wrapper .lp_progress_bar_completed{ background: linear-gradient(135deg, var(--secondaryColor) 0%, var(--primaryColor) 100%) !important;}
  .opigno_activity__wrapper{ background: var(--whiteColor) !important; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important; border-radius: 5px !important; padding: 0 !important;}
  .opigno_activity{ border: none !important; border-radius: 0 !important; padding: 0 !important;}

  .h5p-question-buttons .h5p-joubelui-button .h5p-tooltip{ display: none !important;}

  .page-opigno-module-module-result .co-layout .co-content-wrap .co-content-main > div > .content-box{ 
    background: #fff;
    border-radius: 10px;
    padding: 20px 24px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
    transition: box-shadow 0.2s;
    margin-bottom: 10px;
    font-size: 14px;
    color: var(--textColor);
  }
  .page-opigno-module-module-result .co-layout .co-content-wrap .co-content-main > div > .content-box h3{
    font-size: 16px;
    font-weight: 500 !important;
    color: var(--titleColor) !important;
    text-transform: unset !important;
  }
  .h5p-reporting-container{
    padding: 0;
    background: none;
    box-shadow: none;
    border: solid 1px rgba(0,0,0,0.1);
    border-radius: 10px;
    margin: 20px 0 0 0;
  }
  .h5p-reporting-container .h5p-choices-header{
    padding: 14px 20px;
  }
  .h5p-reporting-container .h5p-choices-header .h5p-reporting-description{
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    color: var(--titleColor);
  }
  .h5p-choices-table-heading{
    background: var(--light);
    color: var(--titleColor);
    font-weight: 500;
    font-size: 14px;
  }
  .h5p-choices-table td{
    padding: 10px 14px;
    line-height: normal;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    height: auto;
  }
  .h5p-choices-user.h5p-choices-answered.h5p-choices-user-correct{
    padding: 0;
    border-radius: 4px;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .h5p-choices-user.h5p-choices-answered.h5p-choices-user-correct::before{
    font-size: 10px;
  }
  .h5p-choices-crp.h5p-choices-crp-correct{
    padding: 0;
    border-radius: 4px;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .h5p-choices-crp.h5p-choices-crp-correct::before{
    font-size: 10px;
  }
  .page-opigno-module-module-result .co-layout .co-content-wrap .form-actions{
    background: none !important;
    border-radius: 0 !important;
    color: inherit !important;
    min-height: auto !important;
    min-width: auto !important;
  }
  .page-opigno-module-module-result .co-layout .co-content-wrap .form-actions .btn{
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 9px 22px !important;
    border-radius: 8px !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    font-family: var(--co-font-family, 'Public Sans', sans-serif) !important;
    cursor: pointer !important;
    border: none !important;
    background: var(--primaryColor) !important;
    border-color: var(--primaryColor) !important;
    color: var(--whiteColor) !important;
    box-shadow: unset !important;
  }
  .page-opigno-module-module-result .co-layout .co-content-wrap .form-actions .btn:hover{
    background: var(--primaryHover) !important;
    border-color: var(--primaryHover) !important;
    color: var(--whiteColor) !important;
  }

  .statistics-table td[colspan] table{ border-color: var(--primaryColor) !important;}

  .h5p-question-feedback{ color: var(--primaryColor) !important;}
  .h5p-joubelui-score-bar-progress-wrapper{ background: #e5e7eb !important; height: 6px !important; margin-right: 16px; margin-top: 2px;}
  .h5p-joubelui-score-bar-progress{ background: linear-gradient(135deg, var(--secondaryColor) 0%, var(--primaryColor) 100%) !important;}
  .h5p-joubelui-score-numeric{ font-size: 14px !important; font-weight: 600 !important;}
  .h5p-joubelui-score-bar{ padding: 10px !important;}
  .h5p-joubelui-score-bar-star{ height: 18px !important; width: 18px !important;}

  .admin-learning-path .co-content-wrap .co-content-main .step-list-aside-wrapper.content-box{
    background: transparent !important;
    border: none !important;
    border-radius: 5px !important;
    padding: 0 20px 0 0;
    box-shadow: none !important;
    transition: box-shadow 0.2s;
  }
  .admin-learning-path .co-content-wrap .co-content-main .step-list-aside-wrapper.content-box .content-box__title{
    font-size: 16px !important;
    font-weight: 500 !important;
    text-transform: unset !important;
    letter-spacing: normal !important;
    padding: 10px !important;
    text-align: left;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
    line-height: 1.3 !important;
    color: var(--titleColor) !important;
  }

  .admin-learning-path .co-content-wrap .co-content-main .step-list-aside-wrapper.content-box .step-list-aside{
    padding: 0;
  }

  .admin-learning-path .group-form .field--name-field-learning-path-media-image .entity-browser-iframe-container,
  .admin-learning-path .group-form .field--name-label .field, .admin-learning-path .group-form .field--name-field-learning-path-description .field, .admin-learning-path .group-form .field--name-field-learning-path-description .js-filter-wrapper, .admin-learning-path .group-form .form-item > .field, .admin-learning-path .field--name-field-requires-validation, .admin-learning-path .field--name-field-anonymous-visibility{ max-width: 100% !important; margin-left: 0 !important;}

  .admin-learning-path .group-form .entity-browser-iframe-container ~ p, .admin-learning-path .group-form .entity-browser-iframe-container ~ p{ margin: 0 !important;}

  .admin-learning-path .form-checkboxes{ columns: 3;}

  .admin-learning-path .group-form .form-item > .fieldset-wrapper{ max-width: 100% !important;}

  .admin-learning-path .field--name-field-learning-path-enable-forum .js-form-type-checkbox label.option, .admin-learning-path .field--name-field-certificate-expire .js-form-type-checkbox label.option{ font-weight: 400 !important;}
  .admin-learning-path .field--name-field-learning-path-enable-forum .js-form-type-checkbox label.option, .admin-learning-path .field--name-field-certificate-expire .js-form-type-checkbox label.option{ padding-left: 1.625rem !important;}
  .admin-learning-path .field--name-field-certificate-expire .js-form-type-checkbox .description{ padding: 0 !important;}

  .admin-learning-path .field--widget-entity-browser-entity-reference details > summary, .admin-learning-path .field--widget-entity-browser-entity-reference details > summary{ float: none !important;}


  .admin-learning-path .form-item{ display: block !important;}

  .admin-learning-path .content-box .group-learning-path-add-form{ padding: 0 !important;}

  /* .admin-learning-path .co-content-wrap .co-content-main .step-list-aside-wrapper.content-box .step-list-aside a,
  .admin-learning-path .co-content-wrap .co-content-main .step-list-aside-wrapper.content-box .step-list-aside span{
    border-radius: 0 !important;
    padding: 10px 15px !important;
    background: transparent !important;
    font-size: 14px;
    font-weight: 500;
    color: var(--titleColor);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
  } */

  .admin-learning-path .co-content-wrap .co-content-main .step-list-aside-wrapper.content-box .step-list-aside a:hover,
  .admin-learning-path .co-content-wrap .co-content-main .step-list-aside-wrapper.content-box .step-list-aside span:hover{
    background: var(--lightColor) !important;
  }

  .admin-learning-path .co-content-wrap .co-content-main .step-list-aside-wrapper.content-box .step-list-aside li span, .admin-learning-path .co-content-wrap .co-content-main .step-list-aside-wrapper.content-box .step-list-aside li a{ border-radius: 5px !important; background: transparent !important; padding: 0 !important;}

  .admin-learning-path .co-content-wrap .co-content-main .step-list-aside-wrapper.content-box .step-list-aside li.active span, .admin-learning-path .co-content-wrap .co-content-main .step-list-aside-wrapper.content-box .step-list-aside li.active a{ color: var(--primaryColor);}

  .admin-learning-path .co-content-wrap .co-content-main .step-list-aside-wrapper.content-box .step-list-aside li{ margin-bottom: 10px !important;}

  .lp_step_explanation{ background: #fff !important; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important; border-radius: 10px !important;}
  .lp_step_explanation p{ color: var(--textColor) !important;}
  .lp_step_explanation a{ color: var(--primaryColor) !important;}
  .lp_step_explanation a:hover{ color: var(--primaryHover) !important;}

  .h5p-choices-user.h5p-choices-answered{ padding: 5px 4px 3px !important; height: 18px; width: 18px; display: inline-flex; justify-content: center; align-items: center;}
  .h5p-choices-user.h5p-choices-answered::before{ font-size: 10px !important;}

  .admin-learning-path .content-box{ background: #fff !important; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important; border-radius: 10px !important;}


  .admin-learning-path .entity-browser-media-entity-browser-groups-form.entity-browser-form .dropzone{ background: transparent !important; border: 2px dashed !important;}


  .list-unstyled.step-list-aside{ counter-reset: step;}
  .list-unstyled.step-list-aside li{ counter-increment: step; position: relative; padding: 10px 0 10px 50px; margin-bottom: 10px; font-weight: 600;}
  .list-unstyled.step-list-aside li span::before{ content: counter(step); position: absolute; left: 0; top: 50%; transform: translateY(-50%);width: 36px; height: 36px; line-height: 36px; border-radius: 50%; text-align: center; font-weight: 600; color: var(--titleColor);background-color: var(--whiteColor); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);}
   .list-unstyled.step-list-aside li a::before{ content: counter(step); position: absolute; left: 0; top: 50%; transform: translateY(-50%);width: 36px; height: 36px; line-height: 36px; border-radius: 50%; text-align: center; font-weight: 600; color: var(--titleColor);background-color: var(--whiteColor); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);}
  .list-unstyled.step-list-aside li.active span::before{ background-color: var(--primaryColor); color: var(--whiteColor);}
  .list-unstyled.step-list-aside li.active a::before{ background-color: var(--primaryColor); color: var(--whiteColor);}



@media (max-width: 1579px) {
  .user-info-contacts { margin-right: 30px;}

}
@media (max-width: 1199px) {
  .user-info__section-bottom{ grid-template-columns: repeat(2,1fr) !important;}
  .user-info-name{ font-size: 20px !important;}
  .page-entity-group-canonical .group .row{ flex-wrap: unset !important; flex-direction: column !important; gap: 0 !important;}
  .page-entity-group-canonical .group .row > .col-left{ -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%;}
  .page-entity-group-canonical .group .row > .col-right{ -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%;}

  .page-entity-group-canonical .col-right .lp-table .progress{ width: 10rem !important;}
  .page-entity-group-canonical .lp-table .action{ width: 5rem !important;}
}
@media (max-width: 1024px) {
  .user-info__section-bottom{ margin-top: 20px !important;}
  .user-info__section-top, .user-info-text-wrapper{ flex-wrap: wrap !important; flex-direction: row !important; gap: 20px !important;}
  .statistics-table td .btn{ min-width: auto !important;}
  .statistics-table td.name{ width: auto !important;}
  .user-info-photo-wrapper{ margin-bottom: 0 !important;}
  .user-statistics-page .content-box h2{ font-size: 18px !important;}
 
}
@media (max-width: 991px) {
  .co-sidebar__head { padding: 10px 0 10px 13px !important; min-height: 58px !important;}
  .co-topbar{ height: 58px !important;}
  .co-main .view-opigno-calendar .content-box__info h3{ font-size: 14px !important;}
  .co-main .view-opigno-calendar .content-box__info .calendar-pager{ min-width: 200px !important;}
  .co-main .view-opigno-calendar .content-box__info .calendar-pager .co-cal-pager__arrow{ width: 26px !important; height: 26px !important; padding: 4px !important;}
  .co-main .view-opigno-calendar .content-box__info .btn-add a{ font-size: 12px !important;}
  .co-main .view-opigno-calendar .content-box__info .btn-add a:hover{ width: 70px !important;}
  .co-main .view-opigno-calendar .content-box__info .btn-add a::before { font-size: 12px !important; margin-left: 0 !important;}
  .co-main .view-opigno-calendar .calendar-calendar .month-view table.full td{ padding: 5px !important;}
  .co-main .view-opigno-calendar .calendar-calendar .co-datebox{ width: 26px; height: 26px; font-size: 12px;}
  .co-main .view-opigno-calendar .calendar-calendar .co-cal-event{ padding: 2px 5px !important;}
  .co-main .view-opigno-calendar .calendar-calendar .co-cal-event__date{ margin-top: 0 !important;}

  .page-view-opigno-calendar-page-month .co-page-header .co-page-title, .page-view-opigno-calendar-page-week .co-page-header .co-page-title, .page-view-opigno-calendar-page-day .co-page-header .co-page-title{ font-size: 20px !important;}
  .modal-header h2{ font-size: 20px !important;}

  .user-statistics-page .user-info__section-top{ align-items: flex-start !important;}
  .user-statistics-page .profile-info__pic{ height: 80px !important; width: 80px !important;}
  .content-box > .link-box .link-box__title, .fieldgroup > .link-box .link-box__title{ font-size: 16px !important;}
  .link-box{ font-size: 14px !important; padding: 10px 15px !important;}
  .link-box__type { max-width: 34px !important; min-width: 34px !important;}
  .user-info-date-joined .label, .user-info-last-access .label, .user-info-member-for .label{ margin-right: 10px !important;}

  .page-entity-group-canonical .co-top-region .block-page-title-block h1{ padding: 0; text-align: left; }
  .page-entity-group-canonical .group .row > .col-left{ -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%;}
  .group-opigno-course .lp-image > div{ width: 100%; height: 100%; display: flex;}
  .group-opigno-course .lp-image img{ margin: 0 !important; max-height: inherit !important; border-radius: 0 !important; width: 100%; height: 100%;}

  .page-entity-group-canonical .col-right .lp-table .progress{ width: 8rem !important;}
  .page-entity-group-canonical .lp-table .action{ width: 4rem !important;}
  .page-entity-group-canonical .statistics-table thead th.type, .page-entity-group-canonical .statistics-table tbody td.type{ width: 6rem !important;}
  .page-entity-group-canonical .statistics-table thead th.status, .page-entity-group-canonical .statistics-table tbody td.status{ width: 6rem !important;}
  .page-entity-group-canonical .co-top-region .block-page-title-block h1{ font-size: 20px !important;}
  .co-achievements-table td .co-mini-bar .co-mini-bar__track{ min-width: 100px;}

  .co-layout .co-content-wrap .co-content-sidebar{ top: 0; width: 100% !important; min-width: 100% !important; max-width: 100% !important; flex: inherit !important; position: unset !important;}
  .co-layout .co-content-wrap.has-sidebar{ flex-wrap: wrap; gap: 20px !important;}
  .page-opigno-module-module-result .co-layout .co-content-wrap .co-content-main, .page-opigno-module-group-answer-form .co-layout .co-content-wrap .co-content-main, .page-opigno-module-restart-restart-activity .co-layout .co-content-wrap .co-content-main{ padding-left: 0 !important; width: 100%;}
  .co-layout .co-content-wrap .co-content-sidebar .opigno-lp-step-activity .lp-title{ border: none !important;}
  .page-opigno-module-group-answer-form .opigno_activity__wrapper, .page-opigno-module-restart-restart-activity .opigno_activity__wrapper{ min-height: auto !important;}

  .page-opigno-module-module-result .co-layout .co-content-wrap .co-content-main > div > .content-box{ padding: 15px 20px; font-size: 13px;}
  .page-opigno-module-module-result .co-layout .co-content-wrap .co-content-main > div > .content-box h3{ font-size: 14px !important;}
  .h5p-reporting-container .h5p-choices-header .h5p-reporting-description{ font-size: 14px;}
}
@media (max-width: 767px) {
  .page-entity-group-canonical .lp-table-wrapper .statistics-table{ table-layout: unset !important;}
  .page-entity-group-canonical .lp-table-wrapper .statistics-table thead th:not(.mandatory, :last-child),
  .page-entity-group-canonical .lp-table-wrapper .statistics-table tbody td:not(.mandatory, :last-child){ width: auto !important; min-width: 150px;}
  .page-entity-group-canonical .lp-table-wrapper .statistics-table thead th.type,
  .page-entity-group-canonical .lp-table-wrapper .statistics-table thead th.action,
  .page-entity-group-canonical .lp-table-wrapper .statistics-table tbody td.type,
  .page-entity-group-canonical .lp-table-wrapper .statistics-table tbody td.action{ min-width: 100px;}

  .page-entity-group-canonical .col-right .lp-table .progress{ width: auto !important;}
  .page-opigno-module-group-answer-form .form-actions input[type="submit"], .page-opigno-module-group-answer-form .form-actions .button, .page-opigno-module-restart-restart-activity .form-actions .button{ min-width: auto !important;}
  .page-opigno-module-group-answer-form .co-content-main, .page-opigno-module-restart-restart-activity .co-content-main{ min-height: auto !important;}
}
@media (max-width: 640px) {
  .page-cloudoffis-dashboard-achievements .co-stat-card{ padding: 15px !important;}
  .co-achievements-section .co-section-header{ padding: 15px !important;}
  .co-cert-grid{ padding: 0 15px 15px !important;}
  .co-topbar__dropdown { left: auto !important; right: 10px !important; width: 180px !important; border-radius: 10px !important;}
  .co-sidebar .co-sidebar__user .co-sidebar__user-info{ flex: 1 !important;}
  .co-topbar__actions .co-topbar__bell-dropdown { width: 96% !important; border-radius: 10px !important; margin: 0 auto !important;}

  .co-main .view-opigno-calendar .content-box__info{ flex-wrap: wrap !important; gap: 15px 30px !important;}
  .co-main .view-opigno-calendar .content-box__info .calendar-pager{ top: 4px !important; transform: translate(-50%,0%) !important; min-width: 100% !important; padding: 0 15px !important;}
  .co-main .view-opigno-calendar .content-box__info .btn-add a{ width: 70px !important; min-width: 70px !important; max-width: 70px !important;}
  .co-main .view-opigno-calendar .content-box__info h3{ width: 100% !important;  transform: unset !important; position: unset !important; order: -1 !important;}
  .opigno-activity-form .form-item, .opigno-module-form .form-item, .opigno-calendar-event-form .form-item{ flex-direction: column !important; gap: 10px !important;}
  .app .navi-pills .navi-item{ padding: 10px 20px !important;}
  .opigno-calendar-event-form .js-text-format-wrapper .js-filter-wrapper { margin-left: 0 !important;}
  .modal-event-date .modal-content .field--name-field-calendar-event-members .field{ flex: unset !important;}
  .modal-event-date form .button{ min-width: auto !important;}
  .modal-event-date form .form-submit ~ .button { margin-left: 10px !important;}
  .modal-event-date .modal-header{ padding: 10px 20px !important;}
  .modal-event-date .modal-header .close { left: auto !important; right: 7px !important;}
  .section-admin .form-actions .form-submit, .admin-learning-path .form-actions .form-submit, .section-moxtra .form-actions .form-submit{ margin-right: 10px !important;}
  .section-admin .form-item .description, .admin-learning-path .form-item .description, .section-moxtra .form-item .description, .password-confirm-message, .password-strength__title { margin-top: 10px !important; margin-left: 0 !important;}
  .page-entity-user-edit-form .user-form .user-form-wrapper{ padding: 10px !important;}

  .user-info__section-bottom { grid-template-columns: 1fr !important;}
  .user-info-text-wrapper{ gap: 0 !important; flex-direction: column !important;}
  .user-statistics-page .content-box:not(.p-0){ padding: 20px 15px !important;}
  .user-statistics-page .user-info .edit-link { right: 0; top: 0 !important;}
  .user-info-name{ padding-right: 30px; font-size: 17px !important; font-weight: 600 !important;}
  .link-box { padding: 10px 45px 10px 15px !important;}
  .link-box .link-box__content .link-box__number { font-size: 11px !important; width: 20px; height: 20px; top: 50%; right: 10px; transform: translateY(-50%);}
  .page-entity-group-canonical .group .row > .col-left{ -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%;}
}

.page-opigno-group-manager-manager-index .mat-buttons-wrapper{display: none;}

.admin-learning-path .aside-col .mb-4{display: none;}

.lateral-panel .activity-types .type-name:hover {
    background: var(--primaryColor);
}
.activities-bank-add{max-width: 900px !important;}

.admin-learning-path .activities-wrapper .module-item .title-wrapper .ml-auto{display: none;}
.admin-learning-path .activities-wrapper .module-item .title-wrapper .ml-4{margin-left:auto !important}

.modal-event-date .modal-body{ padding: 20px !important;}
/* .opigno-activity-form .form-item, .opigno-module-form .form-item, .opigno-calendar-event-form .form-item{ display: block !important;} */
.modal-event-date .modal-content .form-wrapper label{ color: var(--titleColor);}
.opigno-calendar-event-form .form-item > legend{ margin-bottom: 8px !important;}
.modal-event-date .modal-content .field--name-field-calendar-event-members .field{ max-width: 100% !important;}
.app{ max-width: 100% !important;}
.form-select.bootstrap-select > .dropdown-toggle{ font-size: 14px !important; font-weight: 400 !important; color: var(--titleColor) !important; margin-left: 0 !important; padding: 8px 15px !important; border: 1px solid rgba(0, 0, 0, 0.1) !important; border-radius: 5px !important; background: transparent !important;}
.form-select.bootstrap-select > .dropdown-toggle::after{ font-size: 16px !important; margin-left: 5px !important;}
.form-select.bootstrap-select > .dropdown-menu{ border:1px solid rgba(0, 0, 0, 0.1) !important; border-radius: 5px !important;}
.form-select.bootstrap-select .dropdown-menu .dropdown-item { font-size: 14px !important; font-weight: 400 !important; padding: 10px 15px !important; color: var(--titleColor) !important; background: none !important;}
.form-select.bootstrap-select .dropdown-menu .dropdown-item:hover{ color: var(--primaryColor) !important; background: none !important;}
.js-form-wrapper{ margin-bottom: 10px;}
.js-form-wrapper a{ color: var(--primaryColor) !important;}
.js-form-wrapper a:hover{ color: var(--primaryHover) !important;}
.modal-event-date .modal-content .form-wrapper label{ margin-bottom: 0 !important;}
.opigno-calendar-event-form .form-item > .label{ display: flex; align-items: center;}
.app .navi-pills{ margin-bottom: 20px !important; justify-content: flex-start !important; gap: 10px !important; border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;}
.app .navi-pills .navi-item{ padding: 12px 30px !important; border-radius: 5px 5px 0 0 !important; background: none !important; -ms-flex: none !important; flex: none !important; max-width: inherit !important; color: var(--titleColor) !important;}
.app .navi-pills .navi-item .navi-link{ color: inherit !important;}
.app .navi-pills .navi-item:hover{ color: var(--primaryColor) !important; background: none !important;}
.app .navi-pills .navi-item.active{ background: var(--primaryColor) !important; color: var(--whiteColor) !important;}
.modal-event-date .modal-content #members{ margin-top: 20px !important;}
.modal-event-date .modal-content .field--name-field-calendar-event-members .form-item{ transform: inherit !important;}
.app .input-group input{ background: white !important; border: 1px solid rgba(0, 0, 0, 0.1) !important; border-radius: 5px !important; color: var(--titleColor) !important; outline: none !important; padding: 12px 18px !important; width: 100% !important;}
.app .entity-selected .label{ border-radius: 50px !important; padding: 8px !important;}
.app .card-container .card-body{ border-radius: 0 !important; border: none !important; padding: 0 !important;}
.modal-event-date .modal-content .app .user-list,
.modal-event-date .modal-content .app .group-list{ padding-right: 15px !important;}
.modal-event-date .modal-content .app .user-view,
.modal-event-date .modal-content .app .group-view{ padding: 10px 15px !important; margin-bottom: 10px !important; border-radius: 5px !important; border: 1px solid rgba(0,0,0,0.1); background: none !important;}
.modal-event-date .modal-content .app .user-view.selected,
.modal-event-date .modal-content .app .group-view.selected{ border-color: var(--primaryColor) !important; background: none !important;}
.modal-event-date .modal-content .app .user-view.selected .name,
.modal-event-date .modal-content .app .group-view.selected .name{ color: var(--primaryColor) !important;}
.modal-event-date .modal-content .app .user-view .fi,
.modal-event-date .modal-content .app .group-view .fi{ font-size: 16px !important; height: 24px !important; width: 24px !important;}
.user-view.selected .name{ color: var(--whiteColor) !important;}
.user-view .name{ color: var(--titleColor) !important;}
.modal-event-date form .button.form-submit{  box-sizing: border-box; background: var(--primaryColor) !important; border: none !important; border-radius: 8px !important; color: var(--whiteColor) !important; font-size: 0.8125rem !important; font-weight: 400 !important; line-height: 1.4 !important; padding: 9px 16px !important; cursor: pointer !important; text-decoration: none !important; transition: all 0.15s !important;}
.modal-event-date form .button.form-submit:hover{ background: var(--primaryHover) !important; color: var(--whiteColor) !important;}
.modal-event-date .form-actions .button.button--danger{ background: var(--danger) !important; border: none !important; color: var(--whiteColor) !important; font-size: 0.8125rem !important; transition: all 0.15s !important; font-weight: 400 !important; line-height: 1.4 !important; padding: 9px 16px !important; border-radius: 8px !important;}
.modal-event-date .form-actions .button.button--danger:hover{ background: #c01e2e !important; color: var(--whiteColor) !important;}

.app .group-letter{ padding-left: 0 !important;}
.app .group-view.selected, .app .user-view.selected{ background: var(--primaryColor) !important;}
.app .group-view, .app .user-view{ border-radius: 5px !important; background: var(--lightColor) !important;}
form .form-submit{ color: var(--whiteColor) !important; border-color: var(--primaryColor) !important; background: var(--primaryColor) !important; font-weight: 500 !important;}
form .form-submit:hover{ color: var(--primaryColor) !important; background: transparent !important;}
.section-module form .form-submit ~ .button{ margin-left: 0px !important;}

form .form-submit ~ .button{ margin-left: 20px !important;}
.app .entity-selected .label{ font-size: 14px !important; color: var(--textColor);}
.app .entity-selected .close{ color: var(--secondaryColor) !important;}

@media (max-width: 767.98px) {
    .page-view-opigno-calendar-page-month .view-opigno-calendar .content-box__info h3 {
         padding-top: 0;
    }
    .view-opigno-calendar .content-box__info .btn-add{position:unset;}
}

#statistics-training-progress, #statistics-trainings-progress{background: #fff;}
.page-opigno-statistics-dashboard .trainings-list{background: #fff;}
.page-opigno-statistics-training  .users-results ,.page-opigno-statistics-training .training-content{background: #fff;}

/* ── Group members page: always show member rows (Hide/Show toggle removed) ── */
#group_members_list .class_members_row { display: revert !important; }

/* ── Group members page: hide Class tab and Create new users button ── */
.admin-learning-path #edit-btn-create { display: none !important; }

.module-item .tree-view .mat-buttons-wrapper{display: none;}
.create-btn:hover {
    background: var(--primaryColor);
}
.manager-view .step-container .step-pager{display: none;}
.opigno-connections-communities-block .connections-number{    margin-top: 1.25rem;}
.opigno-connections-communities-block a{display: none;}
.page-opigno-social-manage-connections .view-user-invitations{    background: #fff;}
.page-opigno-social-manage-connections .view-user-invitations{    background: #fff;}
.person-item__actions-invitations a{display: none !important;}
.page-opigno-social-manage-connections form .button.form-submit{background:#f5f5f5 url(../../../contrib/aristotle/dist/images/design/search-gray.svg) center/18px no-repeat !important;}
.view-filters form .form-submit{background:#f5f5f5 url(../../../contrib/aristotle/dist/images/design/search-gray.svg) center/18px no-repeat !important;}
.modal-body .views-exposed-form .form-actions{justify-content:right;}
.admin-learning-path #edit-unpublish,.admin-learning-path #edit-delete{display: none;}
.page-view-groups-list-trainings-list .view-filters form .form-submit{
  background: var(--primaryColor) !important;
}

.modal-open form #edit-cancel{border-radius: 8px !important;background:var(--primaryColor) !important;color:#fff !important;    border: none;}

fieldset legend,.section-admin .form-item, .admin-learning-path .form-item, .section-moxtra .form-item{
  margin-bottom: 15px !important;
}

.admin-learning-path iframe
{
  min-height: auto;
}

.inIframe .opigno-activity-form .form-actions, .inIframe .opigno-module-form .form-actions {
  justify-content: right;
}


:root {
  --primaryColor: #00ADEF;
  --primaryHover: #0093ce;
  --secondaryColor: #1a237e;
  --tertiaryColor: #e78d18;
  --lightColor: #f5f7fa;
  --titleColor: #191C1E;
  --textColor: #424c54;
  --whiteColor:#ffffff;
  --blackColor:#000000;
  --themefont: 'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  /* --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; */
}
body {
  font-family: var(--themefont);
  -webkit-font-smoothing: antialiased;
}

.tooltip {
  font-family: var(--themefont) !important;
}
.popover {
  font-family: var(--themefont) !important;
}

.learning-path-progress .progress-progress {
  background: linear-gradient(135deg, var(--secondaryColor) 0%, var(--primaryColor) 100%) !important;
}
.learning-path-progress .progress-value {
  color: var(--textColor) !important;
}

.contact-message-feedback-form .js-form-item-mail #edit-mail {
  font-family: var(--themefont) !important;
}

.form-text {
  font-family: var(--themefont) !important;
}
.form-search {
  font-family: var(--themefont) !important;
}

.form-select.bootstrap-select {
  margin-right: 0 !important;
}

.modal-dialog-sidebar .learning-path-create-class-form .btn_create,
.modal-dialog-sidebar .learning-path-create-user-form .btn_create {
  font-family: var(--themefont) !important;
}

.profile-info__body {
    margin-bottom: 0 !important;
}
.profile-info__name:hover {
  text-decoration: none !important;
}

.profile-info .filter {
  margin-left: 0 !important;
}

.profile-info .filter .form-select.bootstrap-select > .dropdown-toggle {
  font-size: 14px !important;
  font-weight: 400 !important;
  padding: 5px 10px !important;
}

.profile-info .filter .form-select.bootstrap-select > .dropdown-toggle:after {
  font-size: 16px !important;
  margin-left: 5px !important;
}

body {
  font-family: var(--themefont) !important;
  -webkit-font-smoothing: antialiased !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--themefont) !important;
}

button {
  font-family: var(--themefont) !important;
}
.show-filter {
  font-family: var(--themefont) !important;
}
.mat-buttons-wrapper .mat-button-toggle{
  font-family: var(--themefont) !important;
}

.mat-button-actions .mat-button {
  font-family: var(--themefont) !important;
}
.mat-button-actions .mat-raised-button{
  font-family: var(--themefont) !important;
}
#add-first-entity {
  font-family: var(--themefont) !important;
}

.page-cloudoffis-dashboard-reports .co-stat-icon {
  width: 50px !important;
  height: 50px !important;
}

.page-cloudoffis-dashboard-reports .co-stat-icon svg {
  width: 22px;
  height: 22px;
}

.co-stat-card:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

.page-cloudoffis-dashboard-page .last-training__item:hover{
  box-shadow: none;
}
.page-cloudoffis-dashboard-page .last-training__item > *:hover{
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.08) !important;
}

.page-view-opigno-training-catalog-training-catalogue .view-opigno-training-catalog .pager__item .btn{
  background: transparent !important;
  padding: 0 !important;
  color: var(--blackColor) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border-radius: 0 !important;
  min-width: auto !important;
  min-height: auto !important;
}
.page-view-opigno-training-catalog-training-catalogue .view-opigno-training-catalog .pager__item .btn:hover{
  color: var(--primaryHover) !important;
}

.modal-open .dialog-off-canvas-main-canvas{ filter: none !important; -webkit-filter: none !important;}
.view-post-sharing-badges .form-items-group .form-submit:hover{ background: #f5f5f5 url(../../../contrib/aristotle/dist/images/design/search-navy.svg) center/18px no-repeat !important;}

.co-layout.sidebar-collapsed .co-sidebar__toggle{ color: var(--primaryColor) !important; padding: 0;}
.co-layout.sidebar-collapsed .co-sidebar__toggle:hover{ background: transparent;}
.co-layout.sidebar-collapsed .co-sidebar__toggle svg{ margin-right: 4px !important;}
.co-layout.sidebar-collapsed .co-sidebar__head{ justify-content: center;}

.co-active-courses-grid .views-row{
  border: none !important;
  box-shadow: none !important;
}
.page-cloudoffis-dashboard-page .last-training__item:hover{ box-shadow: none !important;}
.section-community .co-community-layout{ padding: 15px 20px 20px !important;}
.page-admin-structure-trainings .form-select.bootstrap-select > .dropdown-toggle{ padding: 9px 10px !important; font-size: 14px !important; min-height: auto !important;}
.page-admin-structure-trainings form .button.form-submit{ min-height: auto !important; min-width: 80px;}

.btn:focus, .btn.focus{ box-shadow: none !important;}
.group-opigno-course .lp-image img{ border-radius: 0 !important;}
.h5p-multichoice .h5p-solution-icon-radio, .h5p-multichoice .h5p-solution-icon-checkbox{ top: 12px !important;}
.co-inprogress-grid{ padding: 20px !important;}

a:hover{ text-decoration: none !important;color: #00ADEE;}

.section-community .comment-item__container .dropdown {
  top: 0 !important;
  right: 0 !important;
}
.modal-backdrop.show{ 
  opacity: 1 !important;
  background: rgba(0, 0, 0, 0.5);
}

.view-post-sharing-badges .form-items-group .form-submit{ height: 36px !important; height: 36px !important;}
.page-cloudoffis-dashboard-achievements .co-achievements-page .co-achievements-empty p{ font-size: 14px !important; color: var(--textColor) !important; font-weight: 700 !important;} 

.co-top-region .back-btn a{ background: transparent !important; padding: 0 !important; border-radius: 0 !important; border: none !important; font-size: 16px;}
.co-top-region .back-btn a:hover{ background: transparent !important; color: var(--primaryColor) !important;}
.co-top-region .back-btn a i{ transition: all .4s ease-in-out;}
.co-top-region .back-btn a:hover i{ transform: translateX(4px);}
.views-field-field-learning-path-spent-time{display: none;}
.fi-rr-lock,.views-field-field-learning-path-spent-time{display: none;}

.page-entity-group-canonical .content-box.lp-table .statistics-table > tbody > tr:first-of-type td:first-child{ border-left: 3px solid var(--primaryColor) !important;}
.page-entity-group-canonical .content-box.lp-table .statistics-table table > tbody > tr:first-of-type td:first-child{ border-left: none !important;}
.page-entity-group-canonical .content-box.lp-table .statistics-table > tbody > tr:first-of-type{ background: rgba(0, 173, 239, 0.12) !important}
.page-entity-group-canonical .content-box.lp-table .statistics-table table > tbody > tr:first-of-type{ background: none !important;}
.page-entity-group-canonical .content-box.lp-table .statistics-table > tbody > tr td.type span{ background: var(--whiteColor) !important;}
.page-entity-group-canonical .content-box.lp-table .statistics-table table > tbody > tr td.type span{ background: transparent !important; color: var(--textColor) !important;}
.page-entity-group-canonical .content-box.lp-table .statistics-table > tbody > tr:first-of-type td.steps h4{ color: var(--primaryColor) !important; font-weight: 600 !important;}
.page-entity-group-canonical .content-box.lp-table .statistics-table > tbody > tr:first-of-type td.steps h4 a{color: var(--titleColor) !important;}
.page-entity-group-canonical .content-box.lp-table .statistics-table table > tbody > tr:first-of-type td.steps h4 a{ color: var(--textColor) !important;}
.page-entity-group-canonical .content-box.lp-table .statistics-table > tbody > tr td.progress .progress-bar{ background: var(--whiteColor) !important;}
.page-entity-group-canonical .content-box.lp-table .statistics-table table > tbody > tr td.progress .progress-bar{ background: #e5e7eb !important;}

.page-entity-group-canonical .content-box.lp-table .statistics-table table > tbody > tr:first-of-type td.steps h4{ color: var(--textColor) !important; font-weight: 400 !important; position: relative;}
.page-entity-group-canonical .content-box.lp-table .statistics-table table > tbody > tr td.steps h4{ position: relative; padding-left: 20px;}
.page-entity-group-canonical .content-box.lp-table .statistics-table table > tbody > tr td.steps h4::before{ content: ""; background: url(../images/arrow-right.svg) center center no-repeat; background-size: 100% 100%; height: 10px; width: 10px; position: absolute; left: 0; top: 3px;}
.fi-rr-rocket,.fi-rr-user-add,.fi-rr-angle-small-right{display: none;}

/* ─────────────────────────────────────────────────────────────
   MANDATORY ICON — asterisk with tooltip
───────────────────────────────────────────────────────────── */
.co-mandatory-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: default;
  vertical-align: middle;
}

.co-mandatory-icon .fi-rr-asterisk {
  color: #e53e3e;
  font-size: 10px;
  line-height: 1;
}

/* Tooltip bubble — appears to the right of the icon */
.co-mandatory-icon::after {
  content: attr(data-co-tooltip);
  position: absolute;
  top: 50%;
  left: calc(100% + 8px);
  transform: translateY(-50%);
  background: #1a202c;
  color: #fff;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
  padding: 4px 8px;
  border-radius: 4px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s ease;
  z-index: 9999;
}

/* Tooltip arrow — points left */
.co-mandatory-icon::before {
  content: '';
  position: absolute;
  top: 50%;
  left: calc(100% + 4px);
  transform: translateY(-50%);
  border: 4px solid transparent;
  border-right-color: #1a202c;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s ease;
  z-index: 9999;
}

.co-mandatory-icon:hover::after,
.co-mandatory-icon:hover::before {
  opacity: 1;
}

/* Table cell — center the icon, allow tooltip to overflow */
.statistics-table td.mandatory,
.statistics-table tr,
.statistics-table tbody {
  overflow: visible !important;
}

.statistics-table td.mandatory {
  text-align: center;
  width: 28px;
  padding-right: 4px !important;
}

/* First row (Course header row) — slightly larger asterisk */
.statistics-table tbody tr:first-of-type .co-mandatory-icon .fi-rr-asterisk {
  font-size: 12px;
}

/* ─────────────────────────────────────────────────────────────
   FULLSCREEN MODE
   Triggered when JS adds .fullscreen to <body> via .fullscreen-link click
───────────────────────────────────────────────────────────── */

/* Default: hide compress icon, show expand icon */
.module-title-wrapper .fullscreen-link .fi-rr-compress {
  display: none;
}

/* ── Activity wrapper: fixed overlay covering full viewport ── */
body.fullscreen .opigno_activity__wrapper {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 9998 !important;
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

/* ── Title bar: fixed height at top ── */
body.fullscreen .opigno_activity__wrapper .module-title-wrapper {
  flex-shrink: 0 !important;
  background: #fff !important;
  border-bottom: 1px solid #e5e7eb !important;
  z-index: 1 !important;
}

/* ── Activity content: fills space between title and buttons ── */
body.fullscreen .opigno_activity {
  flex: 1 !important;
  min-height: 0 !important;
  overflow: auto !important;
  display: flex !important;
  flex-direction: column !important;
}

/* ── SCORM player fills the activity area ── */
body.fullscreen .scorm-ui-player {
  flex: 1 !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

body.fullscreen .scorm-ui-player-iframe-wrapper {
  flex: 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.fullscreen .scorm-ui-player-iframe-wrapper iframe {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  display: block !important;
}

/* ── PDF activity: flex chain so iframe fills remaining space ── */
body.fullscreen .opigno_activity .opigno_answer,
body.fullscreen .opigno_activity .field,
body.fullscreen .opigno_activity .field__item,
body.fullscreen .opigno_activity .field__items {
  flex: 1 !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

body.fullscreen .opigno_activity iframe.pdf,
body.fullscreen .opigno_activity iframe[src*=".pdf"],
body.fullscreen .opigno_activity iframe {
  flex: 1 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: calc(100vh - 110px) !important;
  border: none !important;
  display: block !important;
}

/* ── Form actions: always pinned at bottom ── */
body.fullscreen .opigno_activity__wrapper .form-actions {
  flex-shrink: 0 !important;
  background: #fff !important;
  border-top: 1px solid #e5e7eb !important;
  padding: 10px 24px !important;
}

/* ── Icon toggle ── */
body.fullscreen .module-title-wrapper .fi-rr-compress {
  display: inline !important;
}
body.fullscreen .module-title-wrapper .fi-rr-expand {
  display: none !important;
}

/* ── Keep module title visible (overrides Aristotle's hide rule) ── */
body.fullscreen .module-title-wrapper .module-title,
body.fullscreen .opigno_activity__wrapper .module-title,
body.section-module.fullscreen .module-title-wrapper .module-title,
body.section-module.fullscreen .opigno_activity__wrapper .module-title {
  display: block !important;
}

/* ─────────────────────────────────────────────────────────────
   PDF VIEWER — fill activity area, no blank space below
───────────────────────────────────────────────────────────── */

/* Make the activity area a flex column so PDF fills it */
.page-opigno-module-group-answer-form .opigno_activity , .page-opigno-module-restart-restart-activity .opigno_activity {
  display: flex !important;
  flex-direction: column !important;
}

/* All wrappers between .opigno_activity and the iframe grow to fill */
.page-opigno-module-group-answer-form .opigno_activity .opigno_answer,
.page-opigno-module-group-answer-form .opigno_activity .field,
.page-opigno-module-group-answer-form .opigno_activity .field__item,
.page-opigno-module-group-answer-form .opigno_activity .field__items , .page-opigno-module-restart-restart-activity .opigno_activity .field__items {
  flex: 1 !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.opigno_activity .videoWrapper{
  padding-bottom: 0px;
    height: 500px;
}

/* PDF iframe fills its container — no fixed height, no blank gap */
.page-opigno-module-group-answer-form .opigno_activity iframe.pdf , .page-opigno-module-restart-restart-activity .opigno_activity iframe.pdf {
  flex: 1 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 500px;
  border: none !important;
  display: block !important;
}

.view-opigno-training-catalog .view-header .co-catalogue-toolbar .co-new-training-wrap{
    position: absolute;
    top: -75px;
}

#block-cloudoffis-primaryadminactions .button-action{    
    position: absolute;
    right: 0;
    top: -60px;
}

.page-cloudoffis-dashboard-announcements-manage .page-main .co-content-wrap .co-content-main .co-ann-manage .co-ann-manage__topbar .co-ann-btn--primary{
  position: absolute;
  top: 70px;
}
/* Hide post pin/unpin action link */
.post-action-pin {
  display: none !important;
}

/* ── Enroll Confirmation Modal ───────────────────────────────────────────── */
.co-enroll-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.co-enroll-overlay[hidden] { display: none; }
body.co-enroll-open { overflow: hidden; }

.co-enroll-modal {
  background: #fff;
  border-radius: 12px;
  padding: 36px 32px 28px;
  max-width: 440px;
  width: 90%;
  position: relative;
  box-shadow: 0 8px 32px rgba(0,0,0,0.18);
  text-align: center;
}
.co-enroll-modal__close {
  position: absolute;
  top: 14px;
  right: 16px;
  background: none;
  border: none;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  color: #6b7280;
}
.co-enroll-modal__close:hover { color: #111; }
.co-enroll-modal__title {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 8px;
  color: #111;
}
.co-enroll-modal__desc {
  font-size: 14px;
  color: #6b7280;
  margin: 0 0 4px;
}
.co-enroll-modal__course-name {
  font-size: 15px;
  font-weight: 600;
  color: #1a56db;
  margin: 0 0 28px;
}
.co-enroll-modal__actions {
  display: flex;
  gap: 12px;
  justify-content: center;
}
.co-enroll-modal__cancel {
  padding: 10px 24px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  cursor: pointer;
}
.co-enroll-modal__cancel:hover { background: #f9fafb; }
.views-responsive-table{
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 0px 5px #00000017;
    padding: 24px;
}


.page-opigno-module-group-answer-form .form-actions input[type="submit"].is-disabled, 
.page-opigno-module-restart-restart-activity .form-actions .button.is-disabled
{
  background-color: #ccc !important;
  border-color: #ccc !important;
    color: #fff !important;
}


.co-module-answer-content .content-box h3{font-size: 14px;text-transform: capitalize;}
.co-module-answer-content .content-box{margin: 0; padding: 15px;}



.player.right-content-area-supported{max-width: 100% !important;}