/* =============================================
   Terminal Theme — BGASoft
   Light, terminal-flavored skin.
   Loaded after style.css; scoped to body.terminal.
   Brand palette: #41BEB1 teal, #A9D3CB mint, #468DB6 blue.
   ============================================= */

/* -- Base ---------------------------------------------------------------- */

body.terminal {
  font-family: ui-monospace, "JetBrains Mono", SFMono-Regular, "SF Mono", Menlo,
    Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  background-color: #fafaf7;
  color: #1a1a1a;
  font-size: 0.95rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

body.terminal *,
body.terminal *::before,
body.terminal *::after {
  font-family: inherit;
  box-shadow: none;
}

body.terminal ::selection {
  background: #41BEB1;
  color: #ffffff;
}

body.terminal :focus-visible {
  outline: 2px solid #41BEB1;
  outline-offset: 2px;
}

/* -- Typography ---------------------------------------------------------- */

body.terminal h1,
body.terminal h2,
body.terminal h3,
body.terminal h4,
body.terminal h5,
body.terminal h6 {
  font-family: inherit;
  color: #1a1a1a;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  margin: 0 0 0.5rem;
}

body.terminal h1 { font-size: 1.4rem; }
body.terminal h2 { font-size: 1.15rem; }
body.terminal h3 { font-size: 1rem; }
body.terminal h4,
body.terminal h5,
body.terminal h6 { font-size: 0.95rem; }

body.terminal p,
body.terminal li {
  color: #1a1a1a;
}

body.terminal p {
  margin: 0 0 0.75rem;
}

body.terminal a {
  color: #468DB6;
  text-decoration: none;
  transition: color 150ms ease;
}

body.terminal a:hover {
  color: #41BEB1;
}

body.terminal strong {
  color: #1a1a1a;
  font-weight: 700;
}

/* Terminal prompt prefixes */
body.terminal .hero__title::before,
body.terminal .breadcrumbs h1::before,
body.terminal .breadcrumbs h2::before {
  content: "$ ";
  color: #41BEB1;
  font-weight: 400;
}

body.terminal .section-title::before {
  content: "> ";
  color: #41BEB1;
  font-weight: 400;
}

/* -- Header -------------------------------------------------------------- */

body.terminal #header {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: none;
  box-shadow: none;
}

body.terminal #header.is-scrolled {
  background: rgba(250, 250, 247, 0.92);
  border-bottom: none;
  box-shadow: none;
}

body.terminal #logo a {
  color: #1a1a1a !important;
  font-size: 1.05rem !important;
}

body.terminal #logo a::before {
  content: "~/ ";
  color: #41BEB1;
  font-weight: 400;
}

body.terminal .navbar a,
body.terminal .navbar a:focus {
  color: #1a1a1a;
  font-size: 0.85rem;
  font-weight: 500;
  padding: 8px 10px;
}

body.terminal .navbar a:hover,
body.terminal .navbar .active,
body.terminal .navbar li:hover > a {
  color: #41BEB1;
  background: transparent;
}

body.terminal .navbar .dropdown-menu {
  background: #fafaf7;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  padding: 6px 0;
}

body.terminal .navbar .dropdown-menu a {
  color: #4a4a4a;
  font-size: 0.85rem;
  padding: 6px 14px;
}

body.terminal .navbar .dropdown-menu a:hover {
  color: #41BEB1;
  background: transparent;
}

body.terminal .mobile-nav-toggle {
  color: #1a1a1a;
}

body.terminal .navbar-mobile {
  background: #fafaf7;
  border-bottom: none;
}

/* -- Hero ---------------------------------------------------------------- */

body.terminal #hero,
body.terminal #hero.hero--image {
  background: transparent !important;
  background-image: none !important;
  color: #1a1a1a !important;
  min-height: 0;
  display: block;
  padding: 32px 0 20px;
  overflow: visible;
}

body.terminal #hero::before,
body.terminal #hero::after,
body.terminal #hero.hero--image::before,
body.terminal #hero.hero--image::after {
  display: none;
}

body.terminal #hero.hero--image .hero__title,
body.terminal #hero.hero--image .hero__sub,
body.terminal #hero.hero--image .hero__lead,
body.terminal #hero.hero--image h1,
body.terminal #hero.hero--image h2 {
  color: #1a1a1a;
}

body.terminal #hero.hero--image .hero__sub,
body.terminal #hero.hero--image .hero__lead {
  color: #4a4a4a;
}

body.terminal .hero__inner {
  display: block;
  align-items: stretch;
  grid-template-columns: none;
  gap: 0;
}

body.terminal .hero__inner > div {
  max-width: none;
  width: 100%;
}

body.terminal .hero__title {
  font-size: clamp(1.2rem, 1.9vw, 1.6rem);
  line-height: 1.25;
  margin: 0 0 0.5rem;
  max-width: none;
}

body.terminal .hero__sub,
body.terminal .hero__lead {
  color: #4a4a4a;
  font-size: 0.95rem;
  margin: 0 0 0.5rem;
  max-width: none;
}

body.terminal .hero__cta {
  margin-top: 0.75rem;
}

body.terminal .hero__visual {
  display: none;
}

/* -- Sections ------------------------------------------------------------ */

body.terminal .section {
  padding: clamp(20px, 3vw, 36px) 0;
}

body.terminal .section--alt {
  background: #f3f3ee;
}

body.terminal .section--mute {
  background: #f3f3ee;
}

body.terminal .section--dark {
  background: #1d2c4a;
  background-image: none;
  color: #e8edf3;
}

body.terminal .section--dark h1,
body.terminal .section--dark h2,
body.terminal .section--dark h3,
body.terminal .section--dark h4 {
  color: #ffffff;
}

body.terminal .section--dark p,
body.terminal .section--dark .section-subtitle {
  color: rgba(255, 255, 255, 0.78);
}

body.terminal .section--dark .section-title::before {
  color: #41BEB1;
}

body.terminal .section--dark .eyebrow {
  background: rgba(255, 255, 255, 0.06);
  color: #A9D3CB;
}

body.terminal .section-header {
  text-align: left;
  margin: 0 0 1rem;
  max-width: none;
}

body.terminal .section-title {
  color: #1a1a1a;
  font-size: clamp(1.1rem, 1.8vw, 1.3rem);
  margin: 0 0 0.5rem;
  letter-spacing: 0;
}

body.terminal .section-subtitle {
  color: #4a4a4a;
  font-size: 0.9rem;
  margin: 0;
}

body.terminal .eyebrow {
  display: inline-block;
  background: transparent;
  color: #468DB6;
  border: none;
  border-radius: 0;
  padding: 0;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  margin-bottom: 0.4rem;
}

body.terminal .eyebrow::before {
  content: "[ ";
  color: #41BEB1;
  display: inline;
  width: auto;
  height: auto;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
}

body.terminal .eyebrow::after {
  content: " ]";
  color: #41BEB1;
}

/* -- Cards --------------------------------------------------------------- */

body.terminal .card-modern,
body.terminal .card-product,
body.terminal .showcase-tile,
body.terminal .blog .blog-tile {
  background: transparent;
  border: none;
  border-left: 2px solid transparent;
  border-radius: 0;
  box-shadow: none;
  padding: 0.75rem 1rem;
  transition: transform 150ms ease, border-color 150ms ease;
}

body.terminal .card-modern::before,
body.terminal .card-product::before {
  display: none;
}

body.terminal .card-modern:hover,
body.terminal .card-product:hover,
body.terminal .showcase-tile:hover,
body.terminal .blog .blog-tile:hover {
  transform: translateX(4px);
  border-left-color: #41BEB1;
  background: transparent;
}

body.terminal .card-modern h3,
body.terminal .card-modern h4,
body.terminal .card-product h3,
body.terminal .card__title,
body.terminal .card__title a,
body.terminal .showcase-tile__title,
body.terminal .blog .blog-tile .title h3 a {
  color: #1a1a1a;
  font-size: 1rem;
  margin-bottom: 0.35rem;
}

body.terminal .card-modern p,
body.terminal .card-product p,
body.terminal .blog .blog-tile .summary {
  color: #4a4a4a;
  font-size: 0.9rem;
  margin-bottom: 0.4rem;
}

body.terminal .card__icon,
body.terminal .service-body__icon {
  background: transparent;
  border: none;
  border-radius: 0;
}

body.terminal .card__icon img {
  filter: none;
}

body.terminal .card__link {
  color: #41BEB1;
  font-size: 0.85rem;
}

body.terminal .card__link::after {
  color: #41BEB1;
}

/* -- Tech grid (about-us) ------------------------------------------------ */

body.terminal .tech-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1.25rem 1.5rem;
}

body.terminal .tech-group {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

body.terminal .tech-group__title {
  color: #1a1a1a;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0;
  margin: 0 0 0.5rem;
}

body.terminal .tech-group__title::before {
  content: "> ";
  color: #41BEB1;
  font-weight: 400;
}

body.terminal .tech-list {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
}

body.terminal .tech-list li {
  background: transparent;
  color: #4a4a4a;
  font-size: 0.88rem;
  font-weight: 400;
  padding: 1px 0;
  border-radius: 0;
}

body.terminal .tech-list li::before {
  content: "- ";
  color: #A9D3CB;
}

body.terminal .section--dark .tech-group {
  background: transparent;
  border: none;
}

body.terminal .section--dark .tech-group__title {
  color: #ffffff;
}

body.terminal .section--dark .tech-list li {
  background: transparent;
  color: rgba(255, 255, 255, 0.85);
}

/* -- Stats --------------------------------------------------------------- */

body.terminal .stat-grid {
  gap: 1rem;
}

body.terminal .stat {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0.5rem 0;
}

body.terminal .stat__value {
  color: #41BEB1;
  font-weight: 700;
  font-size: 1.4rem;
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 0.25rem;
}

body.terminal .stat__label {
  color: #4a4a4a;
  font-size: 0.85rem;
}

body.terminal .section--dark .stat {
  background: transparent;
  border: none;
}

body.terminal .section--dark .stat__value {
  color: #41BEB1;
}

body.terminal .section--dark .stat__label {
  color: rgba(255, 255, 255, 0.7);
}

/* -- Showcase tiles ------------------------------------------------------ */

body.terminal .showcase-tile__media img {
  border-radius: 0;
  border: none;
}

body.terminal .showcase-tile__body {
  padding: 0.5rem 0 0;
}

/* -- Buttons ------------------------------------------------------------- */

body.terminal .btn {
  border-radius: 0;
  font-family: inherit;
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: none;
  letter-spacing: 0;
  padding: 10px 18px;
  box-shadow: none;
  transition: all 150ms ease;
}

body.terminal .btn:hover {
  transform: none;
  box-shadow: none;
}

body.terminal .btn-lg {
  padding: 12px 22px;
  font-size: 0.9rem;
}

body.terminal .btn-primary,
body.terminal .btn-accent {
  background: #41BEB1;
  color: #ffffff;
  border: 1px solid #41BEB1;
}

body.terminal .btn-primary:hover,
body.terminal .btn-accent:hover {
  background: #36a99c;
  border-color: #36a99c;
  color: #ffffff;
}

body.terminal .btn-outline {
  background: transparent;
  color: #1a1a1a;
  border: 1px solid #1a1a1a;
}

body.terminal .btn-outline:hover {
  background: transparent;
  color: #41BEB1;
  border-color: #41BEB1;
}

body.terminal .section--dark .btn-outline {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.5);
}

body.terminal .section--dark .btn-outline:hover {
  background: transparent;
  color: #41BEB1;
  border-color: #41BEB1;
}

body.terminal .btn-ghost {
  color: #468DB6;
  background: transparent;
  border: none;
}

body.terminal .btn-ghost:hover {
  color: #41BEB1;
}

/* -- Breadcrumbs --------------------------------------------------------- */

body.terminal .breadcrumbs {
  background: transparent;
  border-bottom: none;
  padding: 24px 0 8px;
}

body.terminal .breadcrumbs h1,
body.terminal .breadcrumbs h2 {
  color: #1a1a1a;
  font-size: 1.15rem;
  margin: 0;
}

body.terminal .breadcrumbs ol {
  font-size: 0.8rem;
  color: #6c6c6c;
  margin: 0;
}

body.terminal .breadcrumbs ol li + li::before {
  color: #6c6c6c;
}

body.terminal .breadcrumbs ol a {
  color: #468DB6;
}

/* -- Prose / Article ----------------------------------------------------- */

body.terminal .prose {
  color: #1a1a1a;
}

body.terminal .prose h1,
body.terminal .prose h2,
body.terminal .prose h3,
body.terminal .prose h4,
body.terminal .prose h5,
body.terminal .prose h6 {
  color: #1a1a1a;
  margin-top: 1.5rem;
}

body.terminal .prose a:not(.btn) {
  color: #468DB6;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.terminal .prose a:not(.btn):hover {
  color: #41BEB1;
}

body.terminal .prose blockquote {
  border-left: 2px solid #41BEB1;
  background: transparent;
  color: #4a4a4a;
  border-radius: 0;
  padding: 0.25rem 0 0.25rem 1rem;
  margin: 1rem 0;
}

body.terminal .prose code {
  background: #f3f3ee;
  padding: 1px 5px;
  border-radius: 0;
  font-size: 0.88em;
  color: #1a1a1a;
}

body.terminal .prose pre {
  background: #f3f3ee;
  border: none;
  border-left: 2px solid #41BEB1;
  border-radius: 0;
  padding: 0.75rem 1rem;
}

body.terminal .prose pre code {
  background: transparent;
  padding: 0;
}

/* -- Service body -------------------------------------------------------- */

body.terminal .service-body__header {
  border-bottom: none;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}

body.terminal .split__media img {
  border-radius: 0;
  border: none;
}

body.terminal .split__content h1,
body.terminal .split__content h2 {
  color: #1a1a1a;
}

/* -- Lists --------------------------------------------------------------- */

body.terminal .list-page {
  list-style: none;
  padding: 0;
}

body.terminal .list-page li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  padding: 1.25rem 0;
}

body.terminal .list-page li:last-child {
  border-bottom: none;
}

body.terminal .list-page h2 {
  font-size: 1.05rem;
  margin-bottom: 0.35rem;
}

body.terminal .list-page h2 a {
  color: #1a1a1a;
}

body.terminal .list-page h2 a:hover {
  color: #41BEB1;
}

body.terminal .list-page .date {
  color: #6c6c6c;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

body.terminal .list-page .category {
  background: transparent;
  color: #468DB6;
  border: none;
  border-radius: 0;
  padding: 0;
  font-size: 0.78rem;
}

body.terminal .list-page .category::before {
  content: "#";
  color: #41BEB1;
  margin-right: 2px;
}

body.terminal .list-page .read-more {
  color: #41BEB1;
  font-size: 0.85rem;
}

/* -- Sidebar / Portfolio info -------------------------------------------- */

body.terminal .portfolio-info,
body.terminal .blog-categories {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0 0 1.5rem;
}

body.terminal .portfolio-info h3,
body.terminal .blog-categories h3 {
  color: #1a1a1a;
  font-size: 0.9rem;
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 0.6rem;
  border-bottom: none;
  padding-bottom: 0;
}

body.terminal .portfolio-info h3::before,
body.terminal .blog-categories h3::before {
  content: "# ";
  color: #A9D3CB;
  font-weight: 400;
}

body.terminal .portfolio-info ul,
body.terminal .blog-categories ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

body.terminal .portfolio-info ul li,
body.terminal .blog-categories ul li {
  padding: 3px 0;
  font-size: 0.88rem;
}

body.terminal .portfolio-info ul li a,
body.terminal .blog-categories ul li a {
  color: #468DB6;
}

body.terminal .portfolio-info ul li a:hover,
body.terminal .blog-categories ul li a:hover {
  color: #41BEB1;
}

body.terminal .categories ul li a strong {
  color: #1a1a1a;
  font-weight: 500;
}

body.terminal .categories ul li a span {
  color: #6c6c6c;
}

/* -- Search -------------------------------------------------------------- */

body.terminal .search input {
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0;
  color: #1a1a1a;
  padding: 6px 0;
  box-shadow: none;
}

body.terminal .search input::placeholder {
  color: #6c6c6c;
}

body.terminal .search input:focus {
  border-bottom-color: #41BEB1;
  box-shadow: none;
  outline: none;
}

body.terminal .search-wrap .search .search-btn {
  color: #41BEB1;
  background: transparent;
  border: none;
}

body.terminal #results li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  padding: 0.75rem 0;
}

body.terminal #results a {
  color: #1a1a1a;
}

body.terminal #results a:hover {
  color: #41BEB1;
}

body.terminal #results p {
  color: #4a4a4a;
}

/* -- Pagination ---------------------------------------------------------- */

body.terminal .page-link {
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 0;
  color: #4a4a4a;
}

body.terminal .page-link:hover {
  background: #A9D3CB;
  color: #1a1a1a;
  border-color: #A9D3CB;
}

body.terminal .page-item.active .page-link {
  background: #41BEB1;
  border-color: #41BEB1;
  color: #ffffff;
}

body.terminal .page-item.disabled .page-link {
  color: #b0b0b0;
  background: transparent;
  border-color: rgba(0, 0, 0, 0.08);
}

/* -- Tables -------------------------------------------------------------- */

body.terminal table {
  border-color: rgba(0, 0, 0, 0.1);
  width: 100%;
}

body.terminal th {
  background: transparent;
  color: #1a1a1a;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  font-weight: 700;
  text-align: left;
  padding: 0.5rem 0.75rem;
}

body.terminal td {
  border-color: rgba(0, 0, 0, 0.08);
  color: #1a1a1a;
  padding: 0.5rem 0.75rem;
}

body.terminal tr:nth-child(even) td {
  background: rgba(169, 211, 203, 0.18);
}

/* -- Contact ------------------------------------------------------------- */

body.terminal #contact {
  padding: 32px 0 24px;
}

body.terminal #contact .contact-card {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}

body.terminal #contact iframe {
  border: none;
  border-radius: 0;
}

body.terminal section.blog {
  padding: clamp(20px, 3vw, 36px) 0;
}

/* -- Footer -------------------------------------------------------------- */

body.terminal #footer {
  background: transparent;
  border-top: none;
  color: #4a4a4a;
  padding-top: 2rem;
  padding-bottom: 1rem;
}

body.terminal #footer h2,
body.terminal #footer h4 {
  color: #1a1a1a;
  font-size: 0.85rem;
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 0.6rem;
}

body.terminal #footer h4::before {
  content: "# ";
  color: #41BEB1;
  font-weight: 400;
}

body.terminal #footer p {
  color: #4a4a4a;
  font-size: 0.88rem;
}

body.terminal #footer ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

body.terminal #footer ul li {
  padding: 2px 0;
}

body.terminal #footer ul a {
  color: #468DB6;
  font-size: 0.88rem;
}

body.terminal #footer ul a:hover {
  color: #41BEB1;
}

body.terminal #footer .footer-contact a {
  color: #468DB6;
}

body.terminal #footer .footer-contact a:hover {
  color: #41BEB1;
}

body.terminal #footer .social a {
  background: transparent;
  border: none;
  border-radius: 0;
  color: #468DB6;
  padding: 4px 8px 4px 0;
  font-size: 1.2rem;
}

body.terminal #footer .social a:hover {
  background: transparent;
  color: #41BEB1;
  border: none;
}

body.terminal #footer .footer-bottom {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  color: #6c6c6c;
  font-size: 0.82rem;
  padding-top: 1rem;
  margin-top: 1.5rem;
}

/* -- Modal / Lightbox ---------------------------------------------------- */

body.terminal .modal-content {
  background: #1a1a1a;
  border: none;
  border-radius: 0;
  color: #ffffff;
}

/* -- Utilities ----------------------------------------------------------- */

body.terminal .u-text-muted {
  color: #6c6c6c;
}

body.terminal .u-divider {
  background: rgba(0, 0, 0, 0.08);
}

body.terminal .u-bg-alt {
  background: #f3f3ee !important;
}

body.terminal .u-bg-mute {
  background: #f3f3ee !important;
}

body.terminal .u-shadow-lg {
  box-shadow: none !important;
}

/* -- Scrollbar ----------------------------------------------------------- */

body.terminal ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

body.terminal ::-webkit-scrollbar-track {
  background: #fafaf7;
}

body.terminal ::-webkit-scrollbar-thumb {
  background: #A9D3CB;
  border-radius: 0;
}

body.terminal ::-webkit-scrollbar-thumb:hover {
  background: #41BEB1;
}

/* -- Reduced motion ------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
  body.terminal *,
  body.terminal *::before,
  body.terminal *::after {
    animation: none !important;
    transition: none !important;
  }
}
