/*
 * Minimalist - Joomla 6 compatibility layer
 * Keeps the original JoomSpirit design while supporting current Joomla markup.
 */

*, *::before, *::after { box-sizing: border-box; }

/* Joomla accessibility helpers */
.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Joomla 4/5/6 form class not present in Bootstrap 3 */
.form-select {
  display: block;
  width: 100%;
  min-height: 34px;
  padding: 6px 32px 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.form-select:focus,
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  box-shadow: 0 0 8px rgba(102, 175, 233, .6);
}
.form-check { margin: 8px 0; }
.form-check-input { margin-right: 6px; }

/* Current Joomla utility classes used in core layouts */
.float-start { float: left !important; }
.float-end { float: right !important; }
.text-start { text-align: left !important; }
.text-end { text-align: right !important; }
.text-center { text-align: center !important; }
.d-none { display: none !important; }
.d-block { display: block !important; }
.d-inline { display: inline !important; }
.d-inline-block { display: inline-block !important; }
.d-flex { display: flex !important; }
.flex-wrap { flex-wrap: wrap !important; }
.justify-content-between { justify-content: space-between !important; }
.align-items-center { align-items: center !important; }
.w-100 { width: 100% !important; }

/* Joomla 6 content */
.com-content-article,
.blog,
.blog-featured,
.category-list,
.contact,
.com-users-login,
.com-users-profile {
  max-width: 100%;
}
.com-content-article__body::after,
.item-content::after { content: ''; display: table; clear: both; }

.page-header { margin-top: 0; }
.article-info { margin: 8px 0 15px; color: #888; font-size: 90%; }
.article-info dd { display: inline; margin: 0 12px 0 0; }
.article-info-term { display: none; }

/* Joomla badges use Bootstrap 5 background utilities */
.badge { display: inline-block; padding: .25em .55em; font-size: 75%; font-weight: 700; line-height: 1; border-radius: .25rem; }
.bg-warning { background-color: #f0ad4e !important; }
.bg-info { background-color: #5bc0de !important; }
.bg-success { background-color: #5cb85c !important; }
.bg-danger { background-color: #d9534f !important; }
.text-light, .text-white { color: #fff !important; }

/* Joomla messages */
joomla-alert { display: block; margin: 0 0 15px; padding: 12px 15px; border: 1px solid #ddd; background: #fff; }
joomla-alert[type="success"] { border-color: #d6e9c6; background: #dff0d8; }
joomla-alert[type="warning"] { border-color: #faebcc; background: #fcf8e3; }
joomla-alert[type="danger"], joomla-alert[type="error"] { border-color: #ebccd1; background: #f2dede; }

/* Modern button close icon fallback */
.btn-close {
  border: 0;
  background: transparent;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.btn-close::before { content: '\00d7'; }

/* Breadcrumb module in current Joomla */
.mod-breadcrumbs.breadcrumb { margin-bottom: 0; }
.mod-breadcrumbs__divider { padding: 0 5px; color: #aaa; }

/* Pagination produced by current Joomla */
.pagination { display: flex; flex-wrap: wrap; padding-left: 0; list-style: none; }
.pagination > li { display: inline-block; }
.pagination > li > a,
.pagination > li > span,
.page-link { position: relative; display: block; padding: 6px 12px; margin-left: -1px; border: 1px solid #ddd; background: #fff; text-decoration: none; }
.pagination .active > .page-link,
.pagination .active > span { color: #fff; background: #777; border-color: #777; }

/* Menu markup emitted by current mod_menu */
.drop-down ul.mod-menu { margin: 0; }
.drop-down li.metismenu-item { position: relative; }

/* Current Joomla images */
.com-content-article img,
.item-content img { max-width: 100%; height: auto; }

/* Prevent old Bootstrap 3 from hiding HTML5 details incorrectly */
details { display: block; }
summary { display: list-item; cursor: pointer; }

/* Keep sticky navigation usable on modern browsers. */
.drop-down.isStuck { width: 100%; }

@media (max-width: 767px) {
  .float-start, .float-end { max-width: 100%; }
}


/* --------------------------------------------------------------------------
   AGS Magic / Joomla 6 migration compatibility
   -------------------------------------------------------------------------- */

/*
 * Joomla 4+ can render submenu togglers for menu items with children. The
 * historical Minimalist navigation exposed those children on hover and had no
 * separate toggler button. Hide only the modern metismenu toggler controls so
 * the original compact vertical menu height and appearance are preserved.
 */
.drop-down button.mm-toggler,
.drop-down .mm-toggler,
.drop-down button[class*="mm-"],
.drop-down li > button {
  display: none !important;
}

/* Let the original Minimalist hover rules control nested menus. */
.drop-down .metismenu.mod-menu,
.drop-down .metismenu.mod-menu > .metismenu-item {
  display: block;
}
.drop-down .metismenu.mod-menu .mm-collapse {
  position: absolute;
  height: auto !important;
  overflow: visible !important;
}
.drop-down .metismenu.mod-menu .mm-collapse:not(.mm-show) {
  display: none;
}
.drop-down .metismenu.mod-menu li:hover > .mm-collapse,
.drop-down .metismenu.mod-menu li:focus-within > .mm-collapse {
  display: block;
  opacity: 1;
  z-index: 10;
}

/*
 * During Joomla 3 -> 4 -> 5 -> 6 migrations some old Custom-module style
 * parameters can lose their module class suffixes. On AGS Magic the three
 * video modules in user1/user2/user3 historically used:
 *   grey shadow badge-new radius border
 * Restore that visual treatment based on the preserved JCE popup class in the
 * module content without requiring database edits.
 */
.users_top .moduletable:has(a.jcepopup) {
  position: relative;
  margin: 0 0 12px 0 !important;
  padding-bottom: 10px;
  background: transparent url(../images/shadow-module.png) 50% 100% no-repeat;
  background-size: 100% 10px;
}
.users_top .moduletable:has(a.jcepopup) > div {
  position: relative;
  padding: 12px 18px;
  background: #eee;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.users_top .moduletable:has(a.jcepopup) .icon-module {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 39px;
  height: 39px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent url(../images/badge_new.png) 0 0 no-repeat !important;
}

/* Keep the three historic video cards aligned as in the original site. */
.users_top .user1,
.users_top .user2,
.users_top .user3 {
  vertical-align: top;
}
