@import url('../mentas-visual-compat/attico/css/font-awesome.min.css');
@import url('../mentas-visual-compat/helix3/css/pagebuilder.css');
@import url('../mentas-visual-compat/attico/css/legacy.css');
@import url('../mentas-visual-compat/attico/css/attico-template.css');

/* CODEX visual restore 2026-07-21: make restored home banner readable after Joomla/Cassiopeia rebuild. */
.container-banner .banner-overlay .overlay {
  background-color: rgba(2, 24, 48, 0.38);
}

.container-banner .banner-overlay,
.container-banner .banner-overlay .overlay,
.container-banner .banner-overlay .overlay h1,
.container-banner .banner-overlay .overlay h2,
.container-banner .banner-overlay .overlay h3,
.container-banner .banner-overlay .overlay p,
.container-banner .banner-overlay .overlay .lead {
  color: #ffffff !important;
}

.container-banner .banner-overlay .overlay h1,
.container-banner .banner-overlay .overlay h2,
.container-banner .banner-overlay .overlay h3,
.container-banner .banner-overlay .overlay p {
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}

/* CODEX visual restore 2026-07-21: old Mentas/Attico/SPPB compatibility. */

/* Guardrails for restored SPPB category cards: prevent icon SVG/fonts from exploding under Cassiopeia/Joomla 5. */
.sp-page-builder .sppb-addon-feature,
#sp-page-builder .sppb-addon-feature,
.sp-page-builder .sppb-addon,
#sp-page-builder .sppb-addon {
  box-sizing: border-box;
}

.sp-page-builder .sppb-addon-feature .sppb-icon,
#sp-page-builder .sppb-addon-feature .sppb-icon,
.sp-page-builder .sppb-addon-feature .sppb-icon-container,
#sp-page-builder .sppb-addon-feature .sppb-icon-container {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 120px;
  max-height: 120px;
  margin: 0 auto 24px;
  line-height: 1;
}

.sp-page-builder .sppb-addon-feature .sppb-icon i,
#sp-page-builder .sppb-addon-feature .sppb-icon i,
.sp-page-builder .sppb-addon-feature .sppb-icon span,
#sp-page-builder .sppb-addon-feature .sppb-icon span,
.sp-page-builder .sppb-addon-feature svg,
#sp-page-builder .sppb-addon-feature svg {
  width: 96px !important;
  height: 96px !important;
  max-width: 96px !important;
  max-height: 96px !important;
  font-size: 96px !important;
  line-height: 1 !important;
}

.sp-page-builder .sppb-addon-feature a,
#sp-page-builder .sppb-addon-feature a {
  color: inherit;
  text-decoration: none;
}

.sp-page-builder .sppb-addon-feature a:hover,
#sp-page-builder .sppb-addon-feature a:hover {
  text-decoration: underline;
}

/* CODEX visual restore 2026-07-21 visual4: exact Mentas old Attico/SPPB card fixes. */
.main-serv {
  width: 100% !important;
  border: 1px solid #e8e8e8 !important;
  padding: 45px 30px !important;
  position: relative !important;
  border-radius: 3px !important;
}
.main-serv a,
.main-serv a:link,
.main-serv a:visited,
.main-serv a:hover {
  color: inherit !important;
  text-decoration: none !important;
}
.main-serv .icon {
  width: 50px !important;
  max-width: 50px !important;
  margin-bottom: 35px !important;
  line-height: 1 !important;
}
.main-serv .icon img,
.main-serv img[src*="/images/elements/01.svg"],
.main-serv img[src*="/images/elements/02.svg"],
.main-serv img[src*="/images/elements/03.svg"],
.main-serv img[src*="/images/elements/04.svg"] {
  display: block !important;
  width: 50px !important;
  max-width: 50px !important;
  height: auto !important;
}
.main-serv .title {
  font-size: 28px !important;
  line-height: 1.15 !important;
  margin-bottom: 15px !important;
  color: #000 !important;
}
.main-serv .txt {
  font-size: 16px !important;
  line-height: 24px !important;
  min-height: 48px !important;
  margin-bottom: 15px !important;
  color: #333 !important;
}
.sppb-addon-feature img,
.sppb-addon-feature .sppb-img-responsive,
.sppb-addon-feature .sppb-addon-content img[src*="/images/elements/"] {
  width: 64px !important;
  max-width: 64px !important;
  height: auto !important;
}
.sppb-addon-feature a,
.sppb-addon-feature a:link,
.sppb-addon-feature a:visited,
.sppb-addon-feature a:hover {
  text-decoration: none !important;
}
.sppb-addon-feature .sppb-addon-title,
.sppb-addon-feature h3 {
  font-size: 30px !important;
  line-height: 30px !important;
}

/* CODEX visual restore 2026-07-21 visual5: remove old Attico hero overflow line after Cassiopeia rebuild. */
#sp-page-builder .main-banner,
.sp-page-builder .main-banner,
.main-banner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: left !important;
  color: #fff !important;
  max-width: 760px !important;
}
#sp-page-builder .main-banner .txt,
.sp-page-builder .main-banner .txt,
.main-banner .txt {
  order: 1 !important;
  display: block !important;
  color: #fff !important;
  font-size: 18px !important;
  line-height: 24px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin: 0 0 12px 0 !important;
  text-decoration: none !important;
  opacity: 0.95 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55) !important;
}
#sp-page-builder .main-banner .txt::after,
.sp-page-builder .main-banner .txt::after,
.main-banner .txt::after {
  content: none !important;
  display: none !important;
}
#sp-page-builder .main-banner h1,
.sp-page-builder .main-banner h1,
.main-banner h1 {
  order: 2 !important;
  display: block !important;
  color: #fff !important;
  font-size: clamp(42px, 5vw, 70px) !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.62) !important;
}

/* CODEX visual restore 2026-07-27: hide Joomla 5 Cassiopeia shell so migrated pages match old Attico layout. */
body.site {
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
}
.header.container-header,
.container-header,
.navbar-brand,
.footer,
.container-footer,
.breadcrumb,
.mod-breadcrumbs {
  display: none !important;
}
.site-grid,
.site-grid > .grid-child,
.container-component,
main {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#sp-page-builder,
#sp-page-builder .page-content,
.sp-page-builder,
.sp-page-builder .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#sp-page-builder .sppb-section,
.sp-page-builder .sppb-section {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
#sp-page-builder .sppb-row-container,
.sp-page-builder .sppb-row-container,
#sp-page-builder .sppb-container-inner,
.sp-page-builder .sppb-container-inner {
  width: min(1140px, calc(100% - 30px)) !important;
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
#sp-page-builder .sppb-row,
.sp-page-builder .sppb-row {
  margin-left: -15px !important;
  margin-right: -15px !important;
}
#sp-page-builder [class*="sppb-col-"],
.sp-page-builder [class*="sppb-col-"] {
  padding-left: 15px !important;
  padding-right: 15px !important;
}
