/* ==========================================================================
   EBNI modern UI layer
   Loaded last from header.php. Only visual overrides: no content or logic.
   To roll back, remove the <link> to this file in header.php.
   Rules are prefixed with "body" so they win over the inline <style>
   blocks that pages print after the theme CSS.
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Tajawal:wght@400;500;700&display=swap");

:root {
  --ebni-red: #9e1b32;
  --ebni-red-dark: #7c1427;
  --ebni-blue: #53b6d4;
  --ebni-blue-dark: #2f8fae;
  --ebni-orange: #e6a029;
  --ebni-orange-dark: #c9851a;
  --ebni-ink: #1f2933;
  --ebni-muted: #5b6672;
  --ebni-line: #e6e9ee;
  --ebni-soft: #f6f7f9;
  --ebni-navy: #18212c;
  --ebni-radius: 14px;
  --ebni-shadow: 0 6px 24px rgba(22, 22, 22, 0.08);
  --ebni-shadow-hover: 0 14px 34px rgba(22, 22, 22, 0.14);
  --ebni-font: "Barlow", "Tajawal", "Segoe UI", Roboto, Arial, sans-serif;
}

/* ---------- Typography ---------- */
html body {
  font-family: var(--ebni-font) !important;
  color: var(--ebni-ink);
  -webkit-font-smoothing: antialiased;
}
body h1, body h2, body h3, body h4, body h5, body h6,
body p, body a, body li, body label, body td, body th,
body button, body input, body select, body textarea,
body span:not(.glyphicon):not([class*="fa"]):not(.caret),
body .navbar-default .navbar-nav > li > a,
body h4.panel-title {
  font-family: var(--ebni-font) !important;
}
body p { line-height: 1.65; }
body a { transition: color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease; }
body a:hover, body a:focus { text-decoration: none; }

/* Section titles: "Our <span>Services</span>", "Statistics", ... */
body h2.text {
  font-size: 34px;
  font-weight: 700;
  color: var(--ebni-ink);
  letter-spacing: -0.3px;
  margin: 0 0 12px;
  position: relative;
}
body h2.text span { color: var(--ebni-red); }
body h2.text::before { display: none; }
body h2.text::after {
  content: "";
  display: block;
  width: 56px;
  height: 4px;
  margin: 14px auto 0;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--ebni-red), var(--ebni-orange));
}

/* ---------- Buttons ---------- */
body .btn {
  border-radius: 10px;
  font-weight: 600;
  padding: 8px 18px;
  transition: all .2s ease;
}
body .btn-primary, body .btn-danger {
  background: var(--ebni-red);
  border-color: var(--ebni-red);
}
body .btn-primary:hover, body .btn-danger:hover {
  background: var(--ebni-red-dark);
  border-color: var(--ebni-red-dark);
}

/* ---------- Navigation bar ---------- */
body .navbar-default.navbar-fixed-top {
  top: 0;
  margin: 0;
  padding: 6px 0 !important;
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: saturate(160%) blur(8px);
  box-shadow: 0 2px 16px rgba(22, 22, 22, 0.07);
  border: 0;
}
/* Logo: trimmed image (no transparent margins), vertically centred in the bar. */
body .navbar-default .navbar-brand {
  display: flex;
  align-items: center;
  height: 72px;
  margin: 0 !important;
  padding: 0 15px !important;
}
body .navbar-default .navbar-brand img {
  width: auto;
  height: 44px;
  margin: 0;
  padding: 0;
  border-radius: 0;
}
@media (min-width: 768px) {
  /* Brand and menu on one centred row */
  body .navbar-default > .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  body .navbar-default > .container::before,
  body .navbar-default > .container::after { display: none; }
  body .navbar-default .navbar-header { float: none; flex: 0 0 auto; }
  body .navbar-default .navbar-collapse { flex: 1 1 auto; }
}
/* Medium screens: tighter menu so it stays on one line */
@media (min-width: 768px) and (max-width: 1199px) {
  body .navbar-default .navbar-brand img { height: 36px; }
  body .navbar-default .navbar-nav.navbar-right > li > a { padding: 8px 7px; font-size: 13.5px; }
  body .navbar-default .navbar-nav.navbar-right > li > a.buttAplly { padding: 7px 12px; margin: 0 3px; }
}
/* Tablets: logo on its own row, the whole menu centred on a second row */
@media (min-width: 768px) and (max-width: 991px) {
  body .navbar-default > .container { flex-wrap: wrap; justify-content: center; }
  body .navbar-default .navbar-brand { height: 56px; }
  body .navbar-default .navbar-collapse { flex-basis: 100%; }
  body .navbar-default .navbar-nav.navbar-right {
    float: none !important;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 0 8px;
    margin: 0;
  }
  body .navbar-default .navbar-nav.navbar-right > li { flex: 0 0 auto; }
  body .navbar-default .navbar-nav.navbar-right > li > a { padding: 6px 7px; font-size: 13px; white-space: nowrap; }
}
@media (max-width: 767px) {
  body .navbar-default .navbar-brand { height: 60px; }
  body .navbar-default .navbar-brand img { height: 36px; }
  body .navbar-default .navbar-toggle { margin-top: 13px; }
}
body .navbar-default .navbar-nav.navbar-right { padding: 14px 0; }
body .navbar-default .navbar-nav > li > a {
  border-right: 0 !important;
  color: var(--ebni-ink) !important;
  font-size: 15px;
  font-weight: 500;
  padding: 8px 12px;
  border-radius: 8px;
}
body .navbar-default .navbar-nav > li > a:hover,
body .navbar-default .navbar-nav > .open > a,
body .navbar-default .navbar-nav > .open > a:hover,
body .navbar-default .navbar-nav > .open > a:focus {
  color: var(--ebni-red) !important;
  background: #f7ecee !important;
}
body .navbar-default .navbar-nav > li > a::before { display: none; }
body .navbar-default .navbar-nav > li > a.buttAplly,
body .buttAplly {
  background: var(--ebni-orange) !important;
  color: #fff !important;
  border-radius: 999px;
  padding: 8px 18px;
  margin: 0 6px;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(230, 160, 41, 0.35);
}
body .navbar-default .navbar-nav > li > a.buttAplly:hover,
body .buttAplly:hover {
  background: var(--ebni-orange-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
}
body .dropdown-menu {
  border: 0;
  border-radius: 12px;
  padding: 8px;
  box-shadow: var(--ebni-shadow-hover);
  margin-top: 8px;
}
body .dropdown-menu > li > a {
  font-size: 14px;
  border-radius: 8px;
  padding: 9px 12px;
  border-bottom: 0;
  color: var(--ebni-ink);
}
body .dropdown-menu > li > a:hover,
body .dropdown-menu > li > a:focus {
  font-weight: 500;
  background: #f7ecee;
  color: var(--ebni-red);
  border-bottom: 0;
}

/* ---------- Home: hero ("Who we are") ---------- */
body .header {
  background: linear-gradient(120deg, var(--ebni-blue) 0%, var(--ebni-blue-dark) 100%);
  overflow: hidden;
}
body .header .box-text {
  padding-top: 36px;
  padding-bottom: 36px;
}
body .header .box-text h2 {
  margin-top: 0;
  font-size: 44px;
  font-weight: 700;
  letter-spacing: -0.5px;
}
body .header .box-text p {
  font-size: 16px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.92);
  max-width: 560px;
  margin-bottom: 20px;
}
body .header .box-text a {
  display: inline-block;
  width: auto;
  height: auto;
  padding: 12px 34px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: var(--ebni-blue-dark);
  font-weight: 700;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.15);
}
body .header .box-text a:hover {
  border: 0;
  background: var(--ebni-orange);
  color: #fff;
  transform: translateY(-2px);
}

/* ---------- Home: services cards ---------- */
body .services {
  padding: 70px 0 60px;
  background: #fff;
}
body .services .picec {
  width: calc(20% - 24px);
  margin: 40px 12px 10px;
}
body .services .picec h2 {
  height: auto;
  min-height: 150px;
  margin: 0;
  padding: 58px 16px 24px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--ebni-ink);
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: var(--ebni-radius);
  box-shadow: var(--ebni-shadow);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
body .services .picec:hover h2 {
  transform: translateY(-6px);
  box-shadow: var(--ebni-shadow-hover);
  border-color: rgba(158, 27, 50, 0.25);
  color: var(--ebni-red);
}
body .services .picec .img-ser {
  top: -34px;
  right: auto;
  left: 50%;
  margin-left: -36px;
  z-index: 2;
  width: 72px;
  height: 72px;
  padding: 10px;
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(158, 27, 50, 0.35);
  border: 3px solid #fff;
}

/* ---------- Home: "Where we operate" ---------- */
body .locations {
  background: linear-gradient(135deg, var(--ebni-orange) 0%, #b8324a 100%);
  padding: 70px 0 40px;
}
body .locations::before { display: none; }
body .locations .content-text .tit h3 {
  position: static;
  color: rgba(255, 255, 255, 0.85);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin: 40px 0 6px;
}
body .locations .content-text .tit p {
  position: static;
  color: #fff;
  font-size: 56px;
  font-weight: 700;
  line-height: 1.05;
  margin: 0;
}
body .locations .content-text .picec ul { padding-top: 40px; }
body .locations .content-text .picec ul li {
  text-align: left;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.4;
}
body .locations .content .map .pin span {
  font-weight: 600;
  background: rgba(255, 255, 255, 0.9);
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 13px;
}

/* ---------- Home: statistics ---------- */
body .statistics {
  background: var(--ebni-soft);
  padding: 70px 0 20px;
}
body .statistics .parent .item {
  box-shadow: var(--ebni-shadow);
}
body .statistics .parent .item span { font-weight: 700; }
body .statistics .parent .item p { font-weight: 500; font-size: 15px; }

/* ---------- Home: testimonials, academy, partners ---------- */
body #Testmonials, body .academy, body #partners { padding: 70px 0; }
body #partners { background: #fff; }
body #partners .item img {
  filter: grayscale(100%);
  opacity: .75;
  transition: filter .25s ease, opacity .25s ease;
}
body #partners .item:hover img { filter: none; opacity: 1; }

/* ---------- MakerSpace: "How to access?" ---------- */
/* The fixed background had no size, so tall screens showed white behind white text. */
body .HowAccess {
  background-color: #161616;
  background-size: cover;
  padding: 60px 0 50px;
}

/* ==========================================================================
   Phase 2: inner pages
   ========================================================================== */

/* ---------- Page title band (was hidden by style2.css) ----------
   Shown on inner pages only. The Apply Now page has its own profile cover
   (.coverApp), so the band stays hidden there. */
body:not(:has(.coverApp)) .title_main {
  display: block !important;
  height: auto !important;
  background: linear-gradient(120deg, var(--ebni-navy) 0%, #2a2624 55%, var(--ebni-blue-dark) 100%) !important;
  text-align: left;
}
body .title_main .overlayy {
  background: transparent;
  padding: 120px 0 44px;
  text-transform: none;
}
body .title_main .h1 {
  margin: 0;
  color: #fff;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.4px;
}
body .title_main .h1::after {
  content: "";
  display: block;
  width: 56px;
  height: 4px;
  margin-top: 14px;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--ebni-red), var(--ebni-orange));
}
body .title_main .h3 {
  margin: 14px 0 0 !important;
  max-width: 760px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 16px !important;
  font-weight: 400;
  line-height: 1.6 !important;
}
body .title_main .h3:empty { display: none; }
body .title_main { overflow: hidden; }
@media (max-width: 767px) {
  body .title_main .container { width: auto; max-width: 100%; }
}
body .title_main .h3 {
  max-width: min(760px, 100%);
  white-space: normal !important;
  overflow-wrap: break-word;
}
body #in-page { background: var(--ebni-soft) !important; }

/* ---------- News & events cards ---------- */
body .grid-items .row { display: flex; flex-wrap: wrap; }
body .grid-items .row > [class*="col-"] { float: none; margin-bottom: 30px; }
body .grid-item.events {
  height: 100%;
  padding: 0;
  background: #fff;
  border: 1px solid var(--ebni-line) !important;
  border-radius: var(--ebni-radius);
  overflow: hidden;
  box-shadow: var(--ebni-shadow);
  transition: transform .25s ease, box-shadow .25s ease;
}
body .grid-item.events:hover {
  transform: translateY(-6px);
  box-shadow: var(--ebni-shadow-hover);
}
body .grid-item.events .image {
  margin: 0;
  border-radius: 0;
  overflow: hidden;
}
body .grid-item.events .image img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 0;
  transition: transform .4s ease;
}
body .grid-item.events:hover .image img { transform: scale(1.04); }
body .grid-item.events .info-block { padding: 18px 20px 20px; }
body .grid-item.events .info-block h4,
body .grid-item.events .info-block h3,
body .grid-item.events .info-block .title {
  color: var(--ebni-ink);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.3;
}
body .grid-item.events .info-block h5 {
  color: var(--ebni-muted);
  font-size: 14px;
}
body .grid-item.events .info-block h5 .fa { color: var(--ebni-blue-dark); margin-right: 4px; }
body .grid-item.events .moreBtn {
  background: var(--ebni-red) !important;
  border: 0;
  color: #fff !important;
  border-radius: 999px;
  padding: 6px 18px;
  font-size: 13px;
  font-weight: 700;
}
body .grid-item.events .moreBtn:hover {
  background: var(--ebni-red-dark) !important;
  color: #fff !important;
}

/* ---------- Advisors / mentors cards ---------- */
body #testimonial-slider { display: flex; flex-wrap: wrap; }
body #testimonial-slider > [class*="col-"] { float: none; margin-bottom: 28px; }
body .testimonial {
  height: 100%;
  margin: 0;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
  transition: transform .25s ease, box-shadow .25s ease;
  text-align: left;
}
body .testimonial:hover { transform: translateY(-4px); box-shadow: var(--ebni-shadow-hover); }
body .testimonial .testimonial-profile,
body .testimonial_black .testimonial .testimonial-profile {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  border-radius: 0;
}
body .testimonial .pic {
  float: none;
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  border: 3px solid #f1f3f5;
}
body .testimonial .pic img { width: 100%; height: 100%; object-fit: cover; }
body .testimonial .title,
body .testimonial_black .testimonial .title {
  top: 0;
  margin: 0;
  max-width: none !important;
  color: var(--ebni-ink);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
}
body .testimonial .title::before { display: none; }
body .testimonial .post,
body .testimonial_black .testimonial .post {
  margin-top: 4px;
  color: var(--ebni-muted);
  font-size: 13px;
  font-weight: 500;
}
/* The "More" button lives inside the clipped bio text; anchor it to the
   content box instead so it sits below the text, not on top of it. */
body .testimonial .testimonial-content {
  position: relative;
  margin: 0;
}
body .testimonial .testimonial-content:has(.but-more) { padding-bottom: 48px; }
body .testimonial .testimonial-content::before,
body .testimonial .testimonial-content::after { display: none; }
body .testimonial .description,
body .testimonial_black .testimonial .description {
  position: static;
  background: transparent !important;
  padding: 0 !important;
  max-height: 8em; /* 5 lines */
  color: var(--ebni-muted);
  font-size: 15px;
  line-height: 1.6;
}
body .testimonial .but-more {
  top: auto;
  bottom: 0;
  right: auto;
  left: 0;
  padding: 5px 16px;
  border: 2px solid var(--ebni-red);
  border-radius: 999px;
  background: transparent;
  color: var(--ebni-red);
  font-size: 13px;
  font-weight: 700;
}
body .testimonial .but-more:hover { background: var(--ebni-red); color: #fff; }
body .what_support { padding: 30px 0 40px; }
body .what_support h1 strong { color: #fff; }

/* ---------- Startups page ---------- */
body .startupN .side_box {
  background: linear-gradient(135deg, var(--ebni-orange) 0%, #b8324a 100%) !important;
  border-radius: var(--ebni-radius);
  box-shadow: 0 10px 28px rgba(230, 160, 41, 0.3);
  padding: 28px;
  font-size: 17px;
  line-height: 1.55;
}
/* Markup is <a><button>Apply Now</button></a>: style the button, not the link. */
body .startupN .side_box a { display: inline-block; margin-top: 16px; }
body .startupN .side_box button {
  padding: 10px 30px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: var(--ebni-orange-dark);
  font-weight: 700;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  transition: transform .2s ease;
}
body .startupN .side_box button:hover { transform: translateY(-2px); }
body .startupN .ajax_link img { transition: transform .25s ease; }
body .startupN .ajax_link:hover img { transform: translateY(-4px) scale(1.04); }

/* ---------- Footer ---------- */
body footer {
  background: var(--ebni-navy);
  padding: 60px 0 30px;
  color: #cfc9c2;
}
body footer .centered .footer-contact h3 a,
body footer .centered .footer-navigation h3 {
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .3px;
}
body footer .centered .footer-contact p,
body footer .centered .footer-contact li,
body footer .centered .footer-contact a,
body footer .centered .footer-navigation ul li a {
  color: #cfc9c2 !important;
  font-weight: 400;
  letter-spacing: 0;
}
body footer .centered .footer-navigation ul li a:hover,
body footer .centered .footer-contact a:hover { color: #fff !important; }
body footer .centered .footer-contact p i,
body footer .centered .footer-contact li i {
  background: rgba(255, 255, 255, 0.08);
  color: var(--ebni-blue);
}
body .rights {
  background: #121110;
  color: #958f88;
  padding: 10px 0;
  text-align: center;
  font-size: 12px;
}
body .rights a { color: #958f88; }

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
  body .services .picec { width: calc(50% - 24px); }
  body .locations .content-text .tit p { font-size: 44px; }
}
@media (max-width: 767px) {
  body h2.text { font-size: 28px; }
  body .navbar-default .navbar-nav.navbar-right { padding: 6px 0; }
  body .header .box-text h2 { font-size: 32px; }
  body .services .picec {
    width: calc(100% - 24px);
    float: none;
    display: block;
    margin: 46px 12px 0;
  }
  body .services .picec h2 { min-height: 0; }
  body .locations { padding: 40px 0 20px; }
  body .locations .content-text .tit p { font-size: 38px; }
  body .locations .content-text .picec ul { padding-top: 16px; }
  body .locations .content-text .picec ul li { font-size: 20px; }
  body .title_main .overlayy { padding: 96px 0 32px; }
  body .title_main .h1 { font-size: 30px; }
  body .grid-item.events .image img { height: 200px; }
}

/* ==========================================================================
   Phase 3: new home layout
   Goes with the rearranged home.php (stats strip, location cards, gallery
   mosaic, testimonial cards, partner logo row). Later rules here override
   the Phase 1 home rules above.
   ========================================================================== */

/* ---------- Hero: full-width photo with text on top ---------- */
body .header {
  position: relative;
  height: auto;
  min-height: 560px;
  background: var(--ebni-navy);
}
body .header > div > .row { margin: 0; position: relative; min-height: 560px; }
body .header .col-md-7 {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  width: 100%;
  padding: 0;
  z-index: 0;
}
body .header .image-header { float: none; height: 100%; clip-path: none; }
body .header .image-header .befor { width: 100%; height: 100% !important; object-fit: cover; }
body .header::after {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(22, 22, 22, 0.94) 0%, rgba(22, 22, 22, 0.78) 45%, rgba(22, 22, 22, 0.25) 100%);
}
body .header .col-md-5 {
  position: relative;
  z-index: 2;
  float: none;
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 15px;
}
body .header .box-text {
  height: auto;
  max-width: 600px;
  padding: 120px 0 170px;
}
body .header .box-text h2 { font-size: 52px; letter-spacing: -1px; }
body .header .box-text h2::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  margin-top: 16px;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--ebni-red), var(--ebni-orange));
}
body .header .box-text a {
  background: var(--ebni-orange);
  color: #fff;
  padding: 14px 38px;
}
body .header .box-text a:hover { background: #fff; color: var(--ebni-ink); }

/* ---------- Numbers strip overlapping the hero ---------- */
body .statistics.stats-strip {
  position: relative;
  z-index: 5;
  height: auto;
  margin-top: -100px;
  padding: 0;
  background: transparent;
}
body .stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(22, 22, 22, 0.16);
  overflow: hidden;
}
body .stat-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 24px;
  border-right: 1px solid var(--ebni-line);
  border-bottom: 1px solid var(--ebni-line);
  position: relative;
}
body .stat-card:nth-child(4n) { border-right: 0; }
body .stat-card:nth-last-child(-n+4) { border-bottom: 0; }
body .stat-icon {
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ebni-blue-dark);
}
body .stat-card:nth-child(4n+2) .stat-icon { background: var(--ebni-red); }
body .stat-card:nth-child(4n+3) .stat-icon { background: var(--ebni-orange); }
body .stat-card:nth-child(4n+4) .stat-icon { background: var(--ebni-navy); }
body .stat-icon img { width: 30px; height: 30px; object-fit: contain; }
body .stat-body .counter {
  display: block;
  color: var(--ebni-ink);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.1;
}
body .stat-body p {
  margin: 2px 0 0;
  color: var(--ebni-muted);
  font-size: 14px;
  line-height: 1.35;
}

/* ---------- Services: arrow appears on hover ---------- */
body .services { padding-top: 90px; }
body .services .picec h2::after {
  content: "\f178";
  display: block;
  margin-top: 10px;
  font-family: FontAwesome !important;
  font-size: 18px;
  color: var(--ebni-red);
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity .25s ease, transform .25s ease;
}
body .services .picec:hover h2::after { opacity: 1; transform: none; }

/* ---------- Where we operate: location cards ---------- */
body .locations .content-text .picec ul { padding: 18px 0 0; margin: 0; }
body .locations .content-text .picec ul li { font-size: 20px; }
body .location-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 26px 0 30px;
}
body .location-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
  color: var(--ebni-ink);
  font-size: 16px;
  font-weight: 600;
}
body .location-card .fa { font-size: 20px; color: var(--ebni-blue-dark); }
body .location-card.is-main .fa { color: var(--ebni-red); }

/* ---------- Photo mosaic (was a sliding strip) ---------- */
body .section-images { padding: 70px 0; background: #fff; }
body .gallery-mosaic {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 170px;
  grid-auto-flow: dense;
  gap: 12px;
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 15px;
}
body .gallery-mosaic .item { border-radius: 14px; overflow: hidden; }
body .gallery-mosaic .item:nth-child(1),
body .gallery-mosaic .item:nth-child(6) { grid-column: span 2; grid-row: span 2; }
body .gallery-mosaic .item img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  transition: transform .5s ease;
}
body .gallery-mosaic .item:hover img { transform: scale(1.05); }

/* ---------- Testimonials: 3 cards side by side ---------- */
body #Testmonials { background: var(--ebni-soft); }
body #Testmonials .overlay { background: transparent; }
body .testimonial-section .test { color: var(--ebni-muted); font-size: 17px; }
body .testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 34px;
  text-align: left;
}
body .testimonial-grid .item { position: relative; }
body .t-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  padding: 26px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
}
/* Quote comes second in the markup: show it first, keep the person at the bottom. */
body .t-quote { order: 1; }
body .t-person { order: 2; margin-top: auto; }
body .t-quote::before {
  content: "\201C";
  display: block;
  height: 34px;
  color: var(--ebni-red);
  font-family: Georgia, serif !important;
  font-size: 60px;
  line-height: 1;
}
body .t-quote p {
  margin: 0 0 20px;
  color: var(--ebni-ink);
  font-size: 15.5px;
  line-height: 1.7;
}
body .t-person .cli {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--ebni-line);
}
body .t-person .img-test {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  overflow: hidden;
}
body .t-person .img-test img { width: 100%; height: 100%; object-fit: cover; }
body .t-person .des-test h3 { margin: 0; color: var(--ebni-ink); font-size: 16px; font-weight: 700; }
body .t-person .des-test span { color: var(--ebni-muted); font-size: 13px; }

/* ---------- Academy: one split card ---------- */
body .academy {
  background: #fff !important;
  padding: 70px 0 !important;
}
body .academy .row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 34px 20px;
  background: var(--ebni-soft);
  border-radius: 18px;
}
body .academy .box { background: transparent; box-shadow: none; border: 0; }
body .academy .box p { color: var(--ebni-ink); font-size: 16px; line-height: 1.7; }
body .academy .logo { margin-top: 0; }
body .academy .box a {
  width: auto;
  height: auto;
  margin-top: 18px;
  padding: 11px 28px;
  border-radius: 999px;
  font-weight: 700;
}

/* ---------- Partners: logo row (was a slider) ---------- */
body #partners { background: var(--ebni-soft); margin: 0; }
body #partners .he {
  margin: 0 0 10px;
  color: var(--ebni-muted);
  font-size: 17px;
  font-weight: 500;
  filter: none;
}
body .partner-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
}
body #partners .partner-logos .item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 170px;
  height: 96px;
  margin: 0;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 14px;
}
body #partners .partner-logos .item img {
  width: auto !important;
  max-width: 100%;
  max-height: 60px;
  object-fit: contain;
}

/* ---------- Phase 3 responsive ---------- */
@media (max-width: 991px) {
  body .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .stat-card:nth-child(n) { border-right: 1px solid var(--ebni-line); border-bottom: 1px solid var(--ebni-line); }
  body .stat-card:nth-child(2n) { border-right: 0; }
  body .stat-card:nth-last-child(-n+2) { border-bottom: 0; }
  body .testimonial-grid { grid-template-columns: minmax(0, 1fr); }
  body .gallery-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 140px; }
}
@media (max-width: 767px) {
  body .header, body .header > div > .row { min-height: 0; }
  body .header .box-text { padding: 60px 0 130px; }
  body .header .box-text h2 { font-size: 36px; }
  body .statistics.stats-strip { margin-top: -80px; }
  body .stat-card { padding: 16px; gap: 10px; }
  body .stat-icon { flex-basis: 40px; width: 40px; height: 40px; border-radius: 10px; }
  body .stat-icon img { width: 24px; height: 24px; }
  body .stat-body .counter { font-size: 24px; }
  body .stat-body p { font-size: 12.5px; }
  body .services { padding-top: 60px; }
  body #partners .partner-logos .item { flex-basis: calc(50% - 10px); }
}

/* ==========================================================================
   Phase 4: inner page layouts
   ========================================================================== */

/* ---------- News & events: the latest story is featured (wide card) ---------- */
@media (min-width: 992px) {
  body .grid-items .row > [class*="col-"]:first-child { width: 100%; }
  body .grid-items .row > [class*="col-"]:first-child .grid-item.events {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  }
  body .grid-items .row > [class*="col-"]:first-child .grid-item.events .image img {
    height: 100%;
    min-height: 400px;
  }
  body .grid-items .row > [class*="col-"]:first-child .grid-item.events .info-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 44px;
  }
  body .grid-items .row > [class*="col-"]:first-child .grid-item.events .info-block h3 {
    font-size: 34px;
    letter-spacing: -0.5px;
  }
  body .grid-items .row > [class*="col-"]:first-child .grid-item.events .moreBtn {
    float: none !important;
    display: inline-block;
    margin-top: 18px;
    padding: 10px 26px;
    font-size: 14px;
  }
}

/* ---------- Advisors: tabs ---------- */
body .adv-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  width: fit-content;
  max-width: 100%;
  margin: 46px auto 26px;
  padding: 6px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 999px;
  box-shadow: var(--ebni-shadow);
}
body .adv-tabs button {
  padding: 10px 24px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--ebni-muted);
  font-size: 15px;
  font-weight: 600;
  transition: background-color .2s ease, color .2s ease;
}
body .adv-tabs button:hover { color: var(--ebni-red); }
body .adv-tabs button.active { background: var(--ebni-red); color: #fff; }
/* The tab already names the group, so the big group heading is hidden. */
body [data-adv-group] h1 { display: none; }
/* Cards in a group that was hidden never get their scroll animation; show them directly. */
body [data-adv-group] .wow { visibility: visible !important; animation: none !important; }
body .what_support[data-adv-group] { background: none !important; color: inherit; padding: 0 0 40px; }
body [data-adv-group="3"] { padding: 0 0 40px !important; }

/* ---------- Startups: banner + sector cards ---------- */
body .startupN .side_box {
  display: block;
  max-width: none !important;
  width: 100%;
  margin: 40px 0 26px !important;
  padding: 30px 34px;
}
body .startupN .side_box .SideTitle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  text-align: left !important;
  font-size: 20px;
  font-weight: 500;
}
body .startupN .side_box .SideTitle br { display: none; }
body .startupN .side_box a { flex: 0 0 auto; margin-top: 0; }
body .startupN .side_box button { margin-top: 0; }
body .sector-grid { display: flex; flex-wrap: wrap; margin: 0 -10px 40px; }
body .sector-item { float: none; padding: 10px; }
body .sector-card {
  display: flex;
  align-items: center;
  gap: 16px;
  height: 100%;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
body .sector-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ebni-shadow-hover);
  border-color: rgba(158, 27, 50, 0.25);
}
body .sector-card br { display: none; }
body .startupN .sector-card img {
  flex: 0 0 60px;
  width: 60px;
  height: 60px;
  margin: 0;
}
body .startupN .sector-card .startup_title {
  flex: 1;
  margin: 0;
  color: var(--ebni-ink);
  font-size: 18px;
  font-weight: 700;
}
body .sector-card::after {
  content: "\f178";
  font-family: FontAwesome !important;
  color: var(--ebni-red);
  opacity: .45;
  transition: opacity .2s ease, transform .2s ease;
}
body .sector-card:hover::after { opacity: 1; transform: translateX(3px); }

@media (max-width: 767px) {
  body .adv-tabs { border-radius: 16px; }
  body .adv-tabs button { padding: 8px 14px; font-size: 14px; }
  body .startupN .side_box .SideTitle { flex-direction: column; align-items: flex-start; font-size: 17px; }
  body .sector-item { width: 100%; }
}

/* ==========================================================================
   Phase 5: remaining public pages
   ========================================================================== */

/* ---------- Equipment cards: MakerSpace "Our lab", Co-working "What we offer" ---------- */
body .We_offers {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 18px;
  margin: 10px 0 30px;
}
body .We_offers::before,
body .We_offers::after { display: none; }
body .We_offers > [class*="col-"] {
  float: none;
  width: auto;
  padding: 26px 16px 22px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
  transition: transform .25s ease, box-shadow .25s ease;
}
body .We_offers > [class*="col-"]:hover { transform: translateY(-5px); box-shadow: var(--ebni-shadow-hover); }
body .We_offers img { max-width: 84px !important; margin-bottom: 14px; }
body .We_offers ._title {
  margin: 0 !important;
  color: var(--ebni-ink);
  font-size: 16px;
  font-weight: 600;
}

/* ---------- Price list on the dark "How to access?" band ---------- */
body .HowAccess .col-lg-8 {
  margin-top: 10px;
  padding: 22px 28px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 16px;
  backdrop-filter: blur(6px);
}
body .HowAccess hr { margin: 12px 0; border-color: rgba(255, 255, 255, 0.16); }
body .HowAccess .col-xs-4.text-right { color: #e3a1ad; font-weight: 700; }

/* ---------- Membership plans: equal-height cards, price at the bottom ---------- */
body .content > .row { display: flex; flex-wrap: wrap; }
body .auto-resize { display: flex; padding: 10px; }
body .pricing {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--ebni-line) !important;
  border-radius: 18px;
  box-shadow: var(--ebni-shadow);
  transition: transform .25s ease, box-shadow .25s ease;
}
body .pricing:hover { transform: translateY(-6px); box-shadow: var(--ebni-shadow-hover); }
body .pricing-head { padding: 22px 16px 6px; }
body .pricing-head h3 {
  padding-bottom: 14px;
  font-size: 22px;
  font-weight: 700;
}
body .pricing .pricing-content { margin: 0; }
body .pricing .pricing-content li {
  padding: 9px 14px;
  border-bottom: 1px dashed var(--ebni-line);
  color: var(--ebni-ink);
  font-size: 14px;
}
body .pricing .price {
  margin-top: auto !important;
  padding-top: 22px;
  font-size: 32px !important;
  font-weight: 700;
}
body .pricing .month { margin-bottom: 22px; color: var(--ebni-muted); }
/* Gold: the top plan gets a dark card */
body .c5 .pricing { background: var(--ebni-navy); border-color: var(--ebni-navy) !important; }
body .c5 .pricing .pricing-content li { color: #e0dbd5; border-bottom-color: rgba(255, 255, 255, 0.12); }
body .content > .buttAplly { display: inline-block; margin: 26px 10px 0 !important; }

/* ---------- Incubation program ---------- */
body #ListMore.in,
body #ListMore1 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 10px;
  margin: 16px 0;
  padding: 0;
  list-style: none;
}
body #ListMore li,
body #ListMore1 li {
  position: relative;
  padding: 12px 14px 12px 42px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 12px;
  color: var(--ebni-ink);
  font-size: 15px;
}
body #ListMore li::before,
body #ListMore1 li::before {
  content: "\f00c";
  position: absolute;
  left: 15px;
  top: 12px;
  color: var(--ebni-red);
  font-family: FontAwesome !important;
}
body .what_support #ListMore1 li {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.18);
  color: #fff;
}
body .what_support #ListMore1 li::before { color: #e3a1ad; }
body [data-target="#ListMore"] {
  display: inline-block;
  padding: 8px 20px;
  border: 2px solid var(--ebni-red);
  border-radius: 999px;
  color: var(--ebni-red);
  font-weight: 700;
  cursor: pointer;
}
body [data-target="#ListMore"]:hover { background: var(--ebni-red); color: #fff; }
body .what_expect .side_box {
  max-width: 380px;
  padding: 30px;
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(158, 27, 50, 0.3);
  font-size: 16px;
  line-height: 1.6;
}
body .what_expect .side_box button {
  padding: 10px 28px;
  border: 0 !important;
  border-radius: 999px;
  background: #fff !important;
  color: var(--ebni-red) !important;
  font-weight: 700;
}

/* ---------- Who we are ---------- */
body .about-text {
  max-width: 860px;
  margin: 50px auto;
  padding: 40px 44px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 18px;
  box-shadow: var(--ebni-shadow);
}
body .about-text p { margin: 0 0 18px; color: var(--ebni-ink); font-size: 18px; line-height: 1.8; }
body .about-text p:first-child { font-size: 20px; font-weight: 500; }
body .about-text p:last-child { margin-bottom: 0; }

/* ---------- Single news / event: article layout ---------- */
body .maqal {
  max-width: 860px;
  margin: 40px auto 50px;
  overflow: hidden;
  background: #fff;
  border-radius: 18px;
  box-shadow: var(--ebni-shadow);
}
body .maqal > img {
  width: 100% !important;
  max-height: 480px;
  margin: 0;
  border-radius: 0 !important;
  object-fit: cover;
}
body .maqal .tex-c { margin: 0; padding: 30px 40px 40px; }
body .maqal p {
  width: auto !important;
  color: var(--ebni-ink);
  font-size: 17px !important;
  line-height: 1.8;
}
body .maqal .tex-c img { width: auto !important; max-width: 100%; height: auto; }
body .news-article .tex-c h3 { margin-top: 0; font-size: 30px; font-weight: 700; }
/* Event location as a small chip */
body .maqal:not(.news-article) .tex-c > p:first-child strong {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 999px;
  background: #f7ecee;
  color: var(--ebni-red);
  font-size: 14px;
}

@media (max-width: 767px) {
  body .about-text { margin: 24px 0; padding: 24px 20px; }
  body .about-text p, body .about-text p:first-child { font-size: 16px; }
  body .maqal { margin: 20px 0 30px; }
  body .maqal .tex-c { padding: 22px 20px 28px; }
  body .news-article .tex-c h3 { font-size: 24px; }
  body .auto-resize { width: 100%; }
  body .We_offers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  body .We_offers > [class*="col-"] { padding: 18px 10px 16px; }
  body .We_offers img { max-width: 60px !important; margin-bottom: 10px; }
  body .We_offers ._title { font-size: 14px; }
}

/* ==========================================================================
   Phase 6: forms (sign in, sign up, Apply Now)
   ========================================================================== */

/* ---------- Sign in / sign up card ---------- */
body .new_account { padding: 40px 0 60px; }
body .new_account > .container > h3 {
  margin: 0 0 6px;
  color: var(--ebni-muted) !important;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
}
body .new_account .row { display: flex; justify-content: center; }
body .new_account .row > [class*="col-"] { float: none; width: 100%; max-width: 480px; }
body .new_account .cardd {
  margin: 14px 0;
  padding: 36px 32px 30px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 20px;
  box-shadow: var(--ebni-shadow-hover);
}
body .new_account .cardd h4 {
  margin: 0 0 26px;
  color: var(--ebni-ink);
  font-size: 24px;
  font-weight: 700;
}

/* Fields: label above, tall rounded input, icon inside on the right */
body .input-holder {
  margin-bottom: 18px;
  padding: 0;
  border: 0;
  border-radius: 0;
}
body .input-holder label {
  position: static;
  display: block;
  margin: 0 0 6px;
  padding: 0;
  background: none;
  color: var(--ebni-ink);
  font-size: 14px;
  font-weight: 600;
}
body .input-holder input {
  width: 100%;
  height: 48px;
  margin: 0;
  padding: 0 52px 0 16px;
  background: #fff;
  border: 1.5px solid var(--ebni-line) !important;
  border-radius: 12px;
  color: var(--ebni-ink);
  font-size: 15px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .input-holder input:focus,
body .input-holder input:focus-visible {
  border-color: var(--ebni-red) !important;
  box-shadow: 0 0 0 4px rgba(158, 27, 50, 0.12);
  outline: none;
}
body .input-holder .icon {
  top: auto;
  right: 9px;
  bottom: 9px;
  width: 30px;
  height: 30px;
  background: #f7ecee;
  color: var(--ebni-red);
  line-height: 30px;
}
body .new_account .save { margin: 4px 0 0; color: var(--ebni-muted); font-size: 14px; }
body .new_account .save input { width: 16px; height: 16px; margin-right: 8px; accent-color: var(--ebni-red); }
body .new_account .cardd button {
  height: 48px;
  margin: 22px 0 14px;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: var(--ebni-red);
  box-shadow: 0 8px 20px rgba(158, 27, 50, 0.25);
  font-size: 16px;
  font-weight: 700;
  transition: background-color .2s ease, transform .2s ease;
}
body .new_account .cardd button:hover { background: var(--ebni-red-dark); transform: translateY(-1px); }
body .new_account .cardd a { margin: 8px 0; color: var(--ebni-muted); font-size: 14px; }
body .new_account .cardd a b { color: var(--ebni-red); }
/* 4-digit verification code boxes */
body .verify input {
  width: 52px;
  height: 56px;
  margin: 14px 4px;
  border: 1.5px solid var(--ebni-line);
  border-radius: 12px;
  font-size: 22px;
  font-weight: 700;
}
body .verify input:focus { border-color: var(--ebni-red); outline: none; box-shadow: 0 0 0 4px rgba(158, 27, 50, 0.12); }

/* ---------- Apply Now login (shown when logged out) ---------- */
body .loginForm {
  max-width: 480px;
  margin: 50px auto 60px;
  padding: 36px 32px 30px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 20px;
  box-shadow: var(--ebni-shadow-hover);
}
body .loginForm .form-box { width: 100%; margin: 0; }
body .loginForm .login_header { margin-bottom: 22px; padding-bottom: 0; border: 0; }
body .loginForm .login_header h3 { color: var(--ebni-ink); font-size: 24px; font-weight: 700; }
body .loginForm .body { background: none !important; padding: 0; }
body .loginForm .input-group { width: 100%; }
body .loginForm input[type="text"],
body .loginForm input[type="password"] {
  height: 48px;
  padding: 0 16px;
  border: 1.5px solid var(--ebni-line) !important;
  border-right: 0 !important;
  border-radius: 12px 0 0 12px !important;
  font-weight: 500;
}
body .loginForm input[type="text"]:focus,
body .loginForm input[type="password"]:focus { border-color: var(--ebni-red) !important; box-shadow: none; }
body .loginForm .input-group-addon:last-child {
  width: 50px;
  border: 1.5px solid var(--ebni-line) !important;
  border-left: 0 !important;
  border-radius: 0 12px 12px 0 !important;
  background: #f7ecee !important;
  color: var(--ebni-red) !important;
}
body .loginForm .form-group label { color: var(--ebni-muted); font-weight: 500; }
body .loginForm button {
  height: 48px;
  padding: 0;
  border-radius: 12px !important;
  font-size: 16px;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(158, 27, 50, 0.25);
}
body .loginForm a { color: var(--ebni-muted); font-weight: 500; }
body .loginForm .grp { margin-top: -6px; }
body .loginForm .grp h4 {
  width: 100% !important;
  margin: 6px 0 14px;
  color: var(--ebni-muted);
  font-size: 13px;
  letter-spacing: 2px;
}
body .loginForm .buttonToReg a.btn {
  width: 100% !important;
  height: 48px;
  padding: 13px 0;
  border: 1.5px solid var(--ebni-ink);
  border-radius: 12px;
  background: #fff !important;
  color: var(--ebni-ink) !important;
  font-weight: 700;
}
body .loginForm .buttonToReg a.btn:hover { background: var(--ebni-ink) !important; color: #fff !important; }

/* ---------- Apply Now (logged in): choose location + application form ---------- */
body .cardOfApp {
  margin-bottom: 24px;
  padding: 32px 36px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 20px;
  box-shadow: var(--ebni-shadow);
}
body .cardOfApp .cardTitle {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 22px;
  color: var(--ebni-ink);
  font-size: 22px;
  font-weight: 700;
}
body .cardOfApp .cardTitle .fa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #f7ecee;
  color: var(--ebni-red);
  font-size: 14px;
}
/* Intake locations as selectable cards */
body .cardOfApp > .row:has(.intake) {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 16px;
  margin: 0;
}
body .cardOfApp > .row:has(.intake)::before,
body .cardOfApp > .row:has(.intake)::after { display: none; }
body .cardOfApp .intake {
  position: relative;
  float: none;
  width: auto;
  padding: 0;
  border-radius: 16px;
  background: none;
  font-size: 15px;
}
body .cardOfApp .intake > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  height: 100%;
  padding: 20px 14px 18px;
  background: #fff;
  border: 1.5px solid var(--ebni-line);
  border-radius: 16px;
  color: var(--ebni-ink);
  font-weight: 600;
  line-height: 1.35;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
body .cardOfApp .intake > a:hover {
  border-color: rgba(158, 27, 50, 0.4);
  transform: translateY(-3px);
  box-shadow: var(--ebni-shadow);
}
body .cardOfApp .active-intake { background: none; }
body .cardOfApp .active-intake > a { border-color: var(--ebni-red); background: #f7ecee; }
body .cardOfApp .intake-photo {
  width: auto;
  max-width: 100%;
  height: 80px !important;
  margin: 0 !important;
  object-fit: contain;
}
/* Questions: label above a boxed field (replaces the floating label + underline) */
body .question label { margin: 0 0 22px; }
body .question .label-txt,
body .question .label-active {
  position: static;
  top: auto;
  margin: 0 0 8px;
  padding: 0;
  color: var(--ebni-ink);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.45;
}
body .question .input {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  background: #fff;
  border: 1.5px solid var(--ebni-line);
  border-radius: 12px;
  color: var(--ebni-ink);
  font-size: 15px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .question textarea.input { min-height: 110px; resize: vertical; }
body .question select.input { height: 48px; }
body .question .input:focus { border-color: var(--ebni-red); box-shadow: 0 0 0 4px rgba(158, 27, 50, 0.12); }
body .question .line-box { display: none; }
body .question .error-message { padding: 6px 0 0; font-size: 13px; }
/* Save = secondary, Submit = primary */
body .cardOfApp button[data-action] {
  height: 48px;
  margin: 6px 10px 0 0;
  padding: 0 34px;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
}
body .cardOfApp button[data-action="save"] { background: #fff; border: 1.5px solid var(--ebni-ink); color: var(--ebni-ink); }
body .cardOfApp button[data-action="save"]:hover { background: var(--ebni-ink); color: #fff; }
body .cardOfApp button[data-action="submit"] {
  background: var(--ebni-red);
  color: #fff;
  box-shadow: 0 8px 20px rgba(158, 27, 50, 0.25);
}
body .cardOfApp button[data-action="submit"]:hover { background: var(--ebni-red-dark); }
/* Submitted application: info sidebar */
body .founders .info {
  padding: 10px 0;
  border-bottom: 1px dashed var(--ebni-line);
  color: var(--ebni-ink);
}
body .founders .info .fa { width: 22px; color: var(--ebni-red); }

/* ---------- Menu with a logged-in user name: keep it on one line ---------- */
@media (min-width: 992px) {
  body .navbar-default .navbar-nav.navbar-right { display: flex; flex-wrap: nowrap; align-items: center; }
  body .navbar-default .navbar-nav.navbar-right > li > a { white-space: nowrap; }
  /* Only the user-name menu (just before the cart) is shortened with "…" */
  body .navbar-default .navbar-nav.navbar-right > li.cart-li { flex: 0 0 auto; }
  body .navbar-default .navbar-nav.navbar-right > li:nth-last-child(2) > a.dropdown-toggle {
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (min-width: 1200px) and (max-width: 1499px) {
  body .navbar-default .navbar-nav.navbar-right > li > a { padding: 8px 9px; font-size: 14.5px; }
}
@media (max-width: 767px) {
  body .new_account .cardd, body .loginForm { padding: 26px 20px; }
  body .loginForm { margin: 24px 0 40px; }
  body .cardOfApp { padding: 22px 18px; }
  body .cardOfApp > .row:has(.intake) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  body .cardOfApp button[data-action] { width: 100%; margin: 6px 0 0; }
}

/* ==========================================================================
   Main menu: account button + grouped dropdowns (same EBNI identity)
   ========================================================================== */
body .navbar-default .nav-account > a { display: inline-flex !important; align-items: center; gap: 8px; }
body .nav-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--ebni-red);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}
body .nav-user-name { max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body .navbar-default .navbar-nav .dropdown-menu {
  min-width: 230px;
  padding: 8px;
  border: 1px solid var(--ebni-line);
  border-radius: 14px;
  box-shadow: var(--ebni-shadow-hover);
}
body .navbar-default .navbar-nav .dropdown-menu > li > a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border-radius: 10px;
  color: var(--ebni-ink);
  font-size: 14px;
  white-space: nowrap;
}
body .navbar-default .navbar-nav .dropdown-menu > li > a:hover { background: #f7ecee; color: var(--ebni-red); }
body .navbar-default .navbar-nav .dropdown-menu > li > a > .fa { width: 16px; color: var(--ebni-red); text-align: center; }
body .navbar-default .navbar-nav .dropdown-menu .nav-menu-label {
  padding: 8px 12px 4px;
  color: var(--ebni-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
body .navbar-default .navbar-nav .dropdown-menu .divider { margin: 6px 4px; background: var(--ebni-line); }
body .navbar-default .navbar-nav .dropdown-menu .nav-logout,
body .navbar-default .navbar-nav .dropdown-menu .nav-logout .fa { color: #c0392b; }
body .navbar-default .nav-account .dropdown-menu { max-height: 75vh; overflow-y: auto; }
@media (min-width: 768px) {
  body .navbar-default .navbar-nav > li.nav-account > .dropdown-menu { right: 0; left: auto; }
}

/* ---------- Main menu: active page, keyboard focus ---------- */
@media (min-width: 768px) {
  body .navbar-default .navbar-nav > li[data-nav-pages].active > a,
  body .navbar-default .navbar-nav > li[data-nav-pages].active > a:hover,
  body .navbar-default .navbar-nav > li[data-nav-pages].active > a:focus {
    position: relative;
    background: none;
    color: var(--ebni-red);
    font-weight: 600;
  }
  body .navbar-default .navbar-nav > li[data-nav-pages].active:not(.nav-apply):not(.nav-account) > a::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 0;
    height: 3px;
    border-radius: 3px;
    background: var(--ebni-red);
  }
}
body .navbar-default .navbar-nav .dropdown-menu > li.active > a { background: #f7ecee; color: var(--ebni-red); font-weight: 600; }
body .navbar-default .navbar-nav a:focus-visible,
body .navbar-default .navbar-toggle:focus-visible,
body .navbar-default .navbar-brand:focus-visible {
  outline: 3px solid rgba(158, 27, 50, 0.45);
  outline-offset: 2px;
  border-radius: 8px;
}
@media (max-width: 767px) {
  body .navbar-default .navbar-nav > li[data-nav-pages].active > a { color: var(--ebni-red) !important; font-weight: 600; background: #f7ecee !important; border-radius: 10px; }
}
@media (max-width: 767px) {
  /* phone menu: account entry lines up with the other items */
  body .navbar-default .navbar-nav > li.nav-account > a { display: flex !important; padding-left: 4px !important; padding-right: 4px !important; }
  body .navbar-default .navbar-nav > li.cart-li { padding: 4px 4px 10px; }
}

/* ==========================================================================
   Main site menu in the Academy look: EBNI strip + sticky navy bar
   (same structure as the Academy; EBNI red/orange accents)
   ========================================================================== */
:root { --eb-navy: #0d176f; --eb-navy-2: #024da1; }

/* EBNI strip */
body .eb-topbar { background: #fff; border-bottom: 1px solid var(--ebni-line); font-size: 13px; }
body .eb-topbar .container { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; }
body .eb-topbar .container::before, body .eb-topbar .container::after { display: none; }
body .eb-topbar-brand { display: flex; align-items: center; gap: 10px; text-decoration: none !important; }
body .eb-topbar-label { color: var(--ebni-muted); font-size: 12.5px; white-space: nowrap; }
body .eb-eitesal-logo { height: 30px; width: auto; }
body .eb-topbar-contact { display: flex; align-items: center; gap: 22px; }
body .eb-topbar-contact a { color: var(--ebni-muted) !important; white-space: nowrap; }
body .eb-topbar-contact a:hover { color: var(--ebni-red) !important; }
body .eb-topbar-contact .fa { margin-right: 6px; color: var(--ebni-red); }

/* Navy bar, sticky on every page (the home page's fixed bar becomes sticky too, so the strip stays above it) */
body .navbar-default.eb-nav,
body .navbar-default.eb-nav.navbar-fixed-top {
  position: sticky;
  top: 0;
  z-index: 1030;
  margin: 0;
  padding: 0 !important;
  border: 0;
  border-radius: 0;
  background: linear-gradient(90deg, var(--eb-navy) 0%, var(--eb-navy-2) 100%) !important;
  box-shadow: 0 6px 20px rgba(22, 22, 22, 0.18);
  backdrop-filter: none;
}
body .navbar-default.eb-nav > .container { min-height: 64px; }
body .navbar-default.eb-nav .navbar-brand {
  height: auto;
  margin: 0 22px 0 0 !important;
  padding: 7px 14px !important;
  border-radius: 12px;
  background: #fff;
}
body .navbar-default.eb-nav .navbar-brand img { height: 34px; }

/* Links */
body .navbar-default.eb-nav .navbar-nav > li > a {
  margin: 0 1px;
  padding: 10px 13px;
  border-radius: 10px;
  color: #e3e9ff !important;
  font-weight: 500;
  white-space: nowrap;
}
body .navbar-default.eb-nav .navbar-nav > li > a:hover,
body .navbar-default.eb-nav .navbar-nav > li.open > a,
body .navbar-default.eb-nav .navbar-nav > li.open > a:focus { background: rgba(255, 255, 255, 0.12) !important; color: #fff !important; }
body .navbar-default.eb-nav .navbar-nav > li > a .caret { border-top-color: currentColor; border-bottom-color: currentColor; }
body .navbar-default.eb-nav .navbar-nav > li[data-nav-pages].active > a {
  background: rgba(255, 255, 255, 0.16) !important;
  color: #fff !important;
  box-shadow: inset 0 -3px 0 var(--ebni-orange);
}
body .navbar-default.eb-nav .navbar-nav > li[data-nav-pages].active > a::after { display: none; }

/* Apply now stays the orange pill */
body .navbar-default.eb-nav .navbar-nav > li > a.buttAplly { color: #fff !important; box-shadow: none; }
body .navbar-default.eb-nav .navbar-nav > li.nav-apply.active > a { box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.35) !important; }

/* Account button as a pill, like the Academy */
body .navbar-default.eb-nav .nav-account > a {
  padding: 6px 14px 6px 6px !important;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
  font-weight: 600 !important;
}
body .navbar-default.eb-nav .nav-account > a > .fa-user-circle-o { margin-left: 8px; font-size: 18px; }
body .navbar-default.eb-nav .nav-account.active > a { border-color: var(--ebni-orange); box-shadow: none; }

/* Cart icon in white */
body .navbar-default.eb-nav .shopping_cart { filter: brightness(0) invert(1); }

/* Focus ring visible on navy */
body .navbar-default.eb-nav a:focus-visible,
body .navbar-default.eb-nav .navbar-toggle:focus-visible { outline: 3px solid var(--ebni-orange); outline-offset: 2px; }

/* Menu button + collapsed list (phones) */
body .navbar-default.eb-nav .navbar-toggle { border-color: rgba(255, 255, 255, 0.35); border-radius: 10px; background: transparent !important; }
body .navbar-default.eb-nav .navbar-toggle .icon-bar { background: #fff; }
@media (max-width: 767px) {
  body .eb-topbar-contact { display: none; }
  body .eb-topbar .container { min-height: 46px; justify-content: center; }
  body .navbar-default.eb-nav .navbar-header { display: flex; align-items: center; justify-content: space-between; min-height: 60px; }
  body .navbar-default.eb-nav .navbar-brand { margin: 8px 0 !important; padding: 6px 12px !important; }
  body .navbar-default.eb-nav .navbar-brand img { height: 28px; }
  body .navbar-default.eb-nav .navbar-toggle { margin: 0; float: none; }
  body .navbar-default.eb-nav .navbar-collapse { border-top: 1px solid rgba(255, 255, 255, 0.15); box-shadow: none; }
  body .navbar-default.eb-nav .navbar-nav > li > a { display: flex; }
  body .navbar-default.eb-nav .navbar-nav > li[data-nav-pages].active > a { background: rgba(255, 255, 255, 0.16) !important; color: #fff !important; }
  body .navbar-default.eb-nav .navbar-nav .open .dropdown-menu { background: #fff; border-radius: 12px; margin: 4px 0 8px; }
  body .navbar-default.eb-nav .navbar-nav .open .dropdown-menu > li > a { color: var(--ebni-ink) !important; }
}

/* Academy-look fixes: old link borders, home offset, sticky container, laptop fit */
body .navbar-default.eb-nav .navbar-nav > li > a { border: 0 !important; }
body .navbar-default.eb-nav .navbar-nav > li > a::before { display: none !important; }
body .parent-header { overflow: visible; overflow-x: clip; }
body .parent-header > .header { margin-top: 0 !important; }
@media (min-width: 768px) and (max-width: 1199px) {
  body .navbar-default.eb-nav .navbar-brand { margin-right: 10px !important; padding: 6px 10px !important; }
  body .navbar-default.eb-nav .navbar-brand img { height: 28px; }
  body .navbar-default.eb-nav .navbar-nav.navbar-right > li > a { padding: 8px 8px; font-size: 13.5px; }
  body .navbar-default.eb-nav .navbar-nav.navbar-right > li > a.buttAplly { padding: 7px 12px; }
  body .navbar-default.eb-nav .nav-user-name { display: none; }
  body .navbar-default.eb-nav .nav-account > a { padding: 5px 10px 5px 5px !important; }
}
@media (min-width: 768px) and (max-width: 991px) {
  body .navbar-default.eb-nav .navbar-nav.navbar-right > li > a { padding: 7px 6px; font-size: 12.5px; }
}
@media (max-width: 767px) {
  /* phone: logo left, menu button right (like the Academy); full-height list; arrows aligned */
  body .navbar-default.eb-nav .navbar-header .navbar-brand { order: 0; }
  body .navbar-default.eb-nav .navbar-header .navbar-toggle { order: 1; }
  body .navbar-default.eb-nav .navbar-collapse { max-height: none; overflow: visible; }
  body .navbar-default.eb-nav .navbar-nav > li > a { align-items: center; gap: 6px; }
  body .navbar-default.eb-nav .navbar-nav > li > a .caret { margin-left: 2px; vertical-align: middle; position: static; }
  body .navbar-default.eb-nav .navbar-nav > li.cart-li { display: block; padding: 6px 4px 12px; }
}
@media (max-width: 767px) {
  body .navbar-default.eb-nav .navbar-header::before,
  body .navbar-default.eb-nav .navbar-header::after { display: none; }
  body .navbar-default.eb-nav > .container { padding-left: 16px; padding-right: 16px; }
}
@media (max-width: 767px) {
  body .navbar-default.eb-nav > .container > .navbar-header { margin-left: 0; margin-right: 0; }
  body .navbar-default.eb-nav > .container > .navbar-collapse { margin-left: 0; margin-right: 0; }
}

/* ==========================================================================
   THEME FROM THE EBNI LOGO: red #9e1b32, black #161616, white.
   Redefines the palette used everywhere above, then the one white menu bar.
   ========================================================================== */
:root {
  --ebni-red: #9e1b32;
  --ebni-red-dark: #7c1427;
  --ebni-orange: #9e1b32;          /* old orange accents (Apply, underlines) follow the logo red */
  --ebni-orange-dark: #7c1427;
  --ebni-blue: #2a2624;            /* old blue accents become charcoal */
  --ebni-blue-dark: #161616;
  --ebni-ink: #161616;
  --ebni-muted: #6e6a67;
  --ebni-line: #ece7e2;
  --ebni-soft: #faf8f5;
  --ebni-navy: #161616;
  --eb-navy: #161616;
  --eb-navy-2: #2a2624;
  --ebni-shadow: 0 6px 24px rgba(22, 22, 22, 0.08);
  --ebni-shadow-hover: 0 14px 34px rgba(22, 22, 22, 0.14);
}

/* ---- The one menu bar: white, black text, red accents (the logo sits on it as is) ---- */
body .navbar-default.eb-nav,
body .navbar-default.eb-nav.navbar-fixed-top {
  background: #fff !important;
  border-bottom: 1px solid var(--ebni-line);
  box-shadow: 0 2px 14px rgba(22, 22, 22, 0.06);
}
body .navbar-default.eb-nav .navbar-brand { background: none; padding: 0 !important; margin-right: 28px !important; }
body .navbar-default.eb-nav .navbar-brand img { height: 40px; }
body .navbar-default.eb-nav .navbar-nav > li > a { color: var(--ebni-ink) !important; }
body .navbar-default.eb-nav .navbar-nav > li > a:hover,
body .navbar-default.eb-nav .navbar-nav > li.open > a,
body .navbar-default.eb-nav .navbar-nav > li.open > a:focus { background: #f7ecee !important; color: var(--ebni-red) !important; }
body .navbar-default.eb-nav .navbar-nav > li[data-nav-pages].active > a {
  background: none !important;
  color: var(--ebni-red) !important;
  font-weight: 600;
  box-shadow: inset 0 -3px 0 var(--ebni-red);
  border-radius: 10px 10px 0 0 !important;
}
body .navbar-default.eb-nav .navbar-nav > li > a.buttAplly {
  background: var(--ebni-red) !important;
  color: #fff !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 16px rgba(158, 27, 50, 0.28) !important;
}
body .navbar-default.eb-nav .navbar-nav > li > a.buttAplly:hover { background: var(--ebni-red-dark) !important; }
body .navbar-default.eb-nav .navbar-nav > li.nav-apply.active > a { box-shadow: 0 0 0 3px rgba(158, 27, 50, 0.25) !important; border-radius: 999px !important; }
body .navbar-default.eb-nav .nav-account > a {
  border: 1px solid var(--ebni-line) !important;
  background: #fff !important;
  color: var(--ebni-ink) !important;
}
body .navbar-default.eb-nav .nav-account > a:hover { border-color: var(--ebni-red) !important; color: var(--ebni-red) !important; }
body .navbar-default.eb-nav .nav-account.active > a { border-color: var(--ebni-red) !important; box-shadow: none !important; border-radius: 999px !important; }
body .nav-avatar { background: var(--ebni-red); }
body .navbar-default.eb-nav .shopping_cart { filter: none; }
body .navbar-default.eb-nav a:focus-visible,
body .navbar-default.eb-nav .navbar-toggle:focus-visible { outline: 3px solid rgba(158, 27, 50, 0.45); }
body .navbar-default.eb-nav .navbar-toggle { border-color: var(--ebni-line); }
body .navbar-default.eb-nav .navbar-toggle .icon-bar { background: var(--ebni-ink); }
@media (max-width: 767px) {
  body .navbar-default.eb-nav .navbar-brand img { height: 32px; }
  body .navbar-default.eb-nav .navbar-collapse { border-top: 1px solid var(--ebni-line); }
  body .navbar-default.eb-nav .navbar-nav > li[data-nav-pages].active > a { background: #f7ecee !important; color: var(--ebni-red) !important; box-shadow: none; border-radius: 10px !important; }
}
@media (min-width: 768px) and (max-width: 1199px) {
  body .navbar-default.eb-nav .navbar-brand img { height: 32px; }
}

/* Membership plans in the logo palette (the page sets its own five colours) */
body .c1 .price, body .c3 .price, body .c5 .price { color: var(--ebni-red) !important; }
body .c2 .price, body .c4 .price { color: var(--ebni-ink) !important; }
body .c1 .pricing-head h3, body .c3 .pricing-head h3 { color: var(--ebni-red) !important; border-bottom-color: var(--ebni-red) !important; }
body .c2 .pricing-head h3, body .c4 .pricing-head h3 { color: var(--ebni-ink) !important; border-bottom-color: var(--ebni-ink) !important; }
body .c5 .pricing-head h3 { color: #fff !important; border-bottom-color: var(--ebni-red) !important; }
body .c5 .pricing .month { color: #cfc9c2; }

/* ---- Garnet & ivory: refinements for a calmer, premium feel ---- */
html body { background: #faf8f5; }
body .navbar-default.eb-nav .navbar-nav > li[data-nav-pages].active > a { box-shadow: inset 0 -2px 0 var(--ebni-red); }
body .navbar-default.eb-nav .navbar-nav > li > a.buttAplly,
body .btn-primary, body .btn-danger { box-shadow: 0 4px 12px rgba(158, 27, 50, 0.16) !important; letter-spacing: 0.3px; }
body .navbar-default.eb-nav .navbar-nav > li > a:hover,
body .navbar-default.eb-nav .navbar-nav > li.open > a { background: #f7ecee !important; }
body h1, body h2, body h3 { letter-spacing: -0.2px; }

/* ==========================================================================
   ONE BAR SPEC (identical block in e-learning/template/css/ebni-academy.css)
   font Barlow 14.5/500 · bar 68px · content 1170px · logo 38px · links 10px 14px
   ========================================================================== */
body .navbar-default.eb-nav > .container { width: 100%; max-width: 1170px; min-height: 68px; padding-left: 15px; padding-right: 15px; }
body .navbar-default.eb-nav .navbar-header { min-height: 68px; display: flex; align-items: center; }
body .navbar-default.eb-nav .navbar-brand { height: auto !important; }
body .navbar-default.eb-nav .navbar-brand img { height: 38px !important; }
body .navbar-default.eb-nav .navbar-nav.navbar-right { padding: 0 !important; }
body .navbar-default.eb-nav .navbar-nav > li > a {
  padding: 10px 14px !important;
  font-family: "Barlow", "Tajawal", "Segoe UI", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500;
  line-height: 20px;
}
body .navbar-default.eb-nav .nav-account > a {
  border: 1px solid var(--ebni-line) !important;
  padding: 5px 14px 5px 5px !important;
  font-weight: 600 !important;
}

/* ==========================================================================
   LIGHT FOOTER (ivory, dark text, garnet accents)
   ========================================================================== */
body footer {
  background: #f4f1ed !important;
  border-top: 1px solid var(--ebni-line);
  color: var(--ebni-muted);
}
body footer .centered .footer-contact h3 a,
body footer .centered .footer-navigation h3 { color: var(--ebni-ink) !important; }
body footer .centered .footer-contact p,
body footer .centered .footer-contact li,
body footer .centered .footer-contact a,
body footer .centered .footer-navigation ul li a { color: var(--ebni-muted) !important; }
body footer .centered .footer-navigation ul li a:hover,
body footer .centered .footer-contact a:hover { color: var(--ebni-red) !important; }
body footer .centered .footer-contact p i,
body footer .centered .footer-contact li i { background: #f7ecee !important; color: var(--ebni-red) !important; }
body .rights { background: #ece7e2 !important; color: var(--ebni-muted) !important; border-top: 1px solid #e2dcd5; }
body .rights a { color: var(--ebni-muted) !important; }
body .rights a:hover { color: var(--ebni-red) !important; }

body footer .footer-logo-label { display: block; margin-bottom: 8px; color: var(--ebni-muted); font-size: 12px; letter-spacing: .6px; text-transform: uppercase; }

/* account pill: more specific than the shared link rule */
body .navbar-default.eb-nav .navbar-nav > li.nav-account > a { border: 1px solid var(--ebni-line) !important; padding: 5px 14px 5px 5px !important; border-radius: 999px !important; }
body .navbar-default.eb-nav .navbar-nav > li.nav-account > a:hover { border-color: var(--ebni-red) !important; }

body .navbar-default.eb-nav .navbar-brand img { max-width: none !important; width: auto !important; }
body .navbar-default.eb-nav .nav-account > a > .fa-user { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: #f7ecee; color: var(--ebni-red); font-size: 14px; }
body footer.ac-footer .ac-footer-eu span { color: var(--ac-muted); }

/* Menu items start right after the logo (like the Academy); Apply / account / cart sit at the right end */
@media (min-width: 768px) {
  body .navbar-default.eb-nav .navbar-collapse { display: flex !important; flex: 1 1 auto; align-items: center; }
  body .navbar-default.eb-nav .navbar-nav.navbar-right {
    float: none !important;
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    margin: 0 !important;
  }
  body .navbar-default.eb-nav .navbar-nav.navbar-right > li { float: none; }
  /* first item of the right-hand group: Apply now for guests/applicants, the account pill otherwise */
  body .navbar-default.eb-nav .navbar-nav.navbar-right > li.nav-apply,
  body .navbar-default.eb-nav .navbar-nav.navbar-right > li.nav-account { margin-left: auto; }
  body .navbar-default.eb-nav .navbar-nav.navbar-right > li.nav-apply + li.nav-account { margin-left: 6px; }
  body .navbar-default.eb-nav .navbar-nav.navbar-right > li.cart-li { margin-left: 6px; }
}

/* logo box: no rounding, no clipping (the old white-badge style trimmed the logo corners) */
body .navbar-default.eb-nav .navbar-brand { border-radius: 0 !important; overflow: visible !important; background: none !important; }

/* ---------- Where we operate: network map (pins at the cities' real positions) ---------- */
body .locations {
  background: linear-gradient(135deg, #7c1427 0%, #9e1b32 55%, #b8324a 100%);
  padding: 90px 0 80px;
}
body .locations .content { margin-top: 0; }
body .locations .row { display: flex; flex-wrap: wrap; align-items: center; }
body .locations .content .map { position: relative; width: 100%; max-width: 560px; margin: 0 auto; }
/* the map picture becomes a soft white silhouette (the logo printed inside it blends away) */
body .locations .content .map > img:first-child {
  display: block;
  width: 100%;
  height: auto;
  filter: brightness(0) invert(1);
  opacity: 0.13;
}
body .locations .content .map .map-links {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}
body .locations .content .map .map-links line {
  stroke: rgba(255, 255, 255, 0.55);
  stroke-width: 1.5;
  stroke-dasharray: 4 5;
}
body .locations .content .map .pin { position: absolute; width: 0; height: 0; z-index: 2; transform: none; display: block; }
body .locations .content .map .pin-2 { left: 42.8%; top: 6.1%; }   /* Alexandria */
body .locations .content .map .pin-3 { left: 54%;   top: 7.7%; }   /* Mansoura */
body .locations .content .map .pin-4 { left: 52.9%; top: 17.8%; }  /* Cairo */
body .locations .content .map .pin-1 { left: 52.5%; top: 46.6%; }  /* Asyut */
body .locations .content .map .pin .pin-dot {
  position: absolute;
  left: -6px;
  top: -6px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.18);
}
body .locations .content .map .pin.is-main .pin-dot {
  left: -9px;
  top: -9px;
  width: 18px;
  height: 18px;
  border: 4px solid #fff;
  background: #7c1427;
  box-shadow: 0 0 0 7px rgba(255, 255, 255, 0.2);
}
body .locations .content .map .pin.is-main .pin-dot::after {
  content: '';
  position: absolute;
  inset: -12px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.6);
  animation: ebni-ping 2.4s ease-out infinite;
}
@keyframes ebni-ping { from { transform: scale(0.5); opacity: 1; } to { transform: scale(1.6); opacity: 0; } }
body .locations .content .map .pin span {
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translateY(-50%);
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.4px;
  white-space: nowrap;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}
body .locations .content .map .pin-2 span { left: auto; right: 14px; }  /* Alexandria label sits left of its dot */
body .locations .content .map .pin.is-main span { left: 18px; font-size: 15px; font-weight: 700; }

/* text column */
body .locations .content-text .tit h3 { margin-top: 0; }
body .locations .content-text .picec ul { padding: 16px 0 0; max-width: 430px; }
body .locations .content-text .picec ul li { display: inline; font-size: 19px; font-weight: 400; line-height: 1.55; color: rgba(255, 255, 255, 0.88); }
body .locations .content-text .picec ul li::after { content: ' '; }
body .locations .content-text .picec ul li br { display: none; }
body .locations .loc-stat {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 30px 0 0;
  padding: 18px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  max-width: 470px;
}
body .locations .loc-stat strong { font-size: 54px; line-height: 1; font-weight: 700; color: #fff; }
body .locations .loc-stat span { font-size: 14px; line-height: 1.4; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255, 255, 255, 0.78); }
body .locations .location-cards { margin: 22px 0 0; max-width: 470px; gap: 10px; }
body .locations .location-card {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: none;
  color: #fff;
  font-weight: 600;
  padding: 13px 16px;
  border-radius: 10px;
}
body .locations .location-card .fa { color: rgba(255, 255, 255, 0.75); font-size: 17px; }
body .locations .location-card.is-main { background: #fff; border-color: #fff; color: var(--ebni-ink); }
body .locations .location-card.is-main .fa { color: var(--ebni-red); }

@media (max-width: 991px) {
  body .locations { padding: 60px 0; }
  body .locations .row > [class*="col-"] { width: 100%; }
  body .locations .content .map { margin-bottom: 30px; }
}
@media (max-width: 767px) {
  body .locations .content .map .pin span { font-size: 11px; left: 11px; }
  body .locations .content .map .pin-2 span { left: auto; right: 11px; }
  body .locations .content .map .pin.is-main span { font-size: 12px; left: 15px; }
  body .locations .content-text .tit p { font-size: 40px; }
  body .locations .content-text .picec ul li { font-size: 17px; }
  body .locations .loc-stat strong { font-size: 44px; }
}

/* =====================================================================
   PROFESSIONAL TOUCH: shared details for every page
   ===================================================================== */
html { scroll-behavior: smooth; }
::selection { background: rgba(158, 27, 50, 0.85); color: #fff; }
body :focus-visible { outline: 2px solid var(--ebni-red); outline-offset: 2px; }

/* Page title band: the same flat charcoal head as the Academy pages, with a fine dot texture */
body:not(:has(.coverApp)) .title_main {
  position: relative;
  background:
    radial-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1.4px) 0 0 / 22px 22px,
    linear-gradient(120deg, #161616 0%, #221f1e 55%, #2a2624 100%) !important;
  border-bottom: 3px solid var(--ebni-red);
}
body .title_main .overlayy { padding: 92px 0 46px; }
body .title_main .h1 { font-size: 42px; letter-spacing: -0.6px; }
body .title_main .h1::after { width: 48px; height: 3px; border-radius: 2px; background: var(--ebni-red); }
/* pages that give no title (Marketplace, Tarek Kamel award) get no empty band */
body .title_main:has(.h1:empty) { display: none !important; }

/* Photo bands (Incubation "Who we support?", MakerSpace / Co-working "How to access?"):
   a charcoal veil over the photo keeps the white text readable; no fixed attachment (jerky on phones) */
body .what_support:not([data-adv-group]),
body .HowAccess {
  position: relative;
  background-color: #161616 !important;
  background-attachment: scroll !important;
  background-size: cover !important;
  color: #fff;
}
body .what_support:not([data-adv-group])::before,
body .HowAccess::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(22, 22, 22, 0.92), rgba(34, 31, 30, 0.84));
}
body .what_support:not([data-adv-group]) > .container,
body .HowAccess > .container { position: relative; z-index: 1; }
body .what_support:not([data-adv-group]) { padding: 80px 0 70px; }
body .what_support:not([data-adv-group]) h1 { margin: 0 0 18px; font-size: 36px; font-weight: 700; }
body .what_support:not([data-adv-group]) h1::after { content: ""; display: block; width: 48px; height: 3px; margin-top: 14px; background: var(--ebni-red); border-radius: 2px; }
body .what_support:not([data-adv-group]) > .container { font-size: 16.5px; line-height: 1.7; color: rgba(255, 255, 255, 0.86); }
body .what_support:not([data-adv-group]) b { display: inline-block; margin-top: 10px; color: #fff; font-size: 13px; letter-spacing: 1.8px; text-transform: uppercase; }

/* Equipment icons: one calm monochrome set (the original colour returns on hover) */
body .We_offers img { filter: grayscale(1) contrast(1.08); opacity: 0.85; transition: filter .25s ease, opacity .25s ease; }
body .We_offers > [class*="col-"]:hover img { filter: none; opacity: 1; }

/* Tables: clean header, quiet rows, scroll sideways instead of running off the page */
body .table-responsive { overflow-x: auto; border: 1px solid var(--ebni-line); border-radius: 12px; background: #fff; }
body .table-responsive > .table { margin: 0; border: 0; }
body .table > thead > tr > th {
  background: #f4f1ed;
  color: var(--ebni-ink);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  border-bottom: 1px solid var(--ebni-line) !important;
  vertical-align: middle;
}
body .table > tbody > tr > td { vertical-align: middle; border-color: var(--ebni-line) !important; }
body .table-striped > tbody > tr:nth-of-type(odd) { background: #fbf9f6; }
body .table-striped > tbody > tr:hover { background: #f7ecee; }

/* Form fields everywhere */
body .form-control, body textarea, body select {
  border: 1px solid #ddd6cf;
  border-radius: 10px;
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .form-control:focus, body textarea:focus, body select:focus {
  border-color: var(--ebni-red);
  box-shadow: 0 0 0 3px rgba(158, 27, 50, 0.12);
  outline: 0;
}
body .btn-primary {
  background: var(--ebni-red);
  border-color: var(--ebni-red);
  border-radius: 999px;
  font-weight: 600;
}
body .btn-primary:hover, body .btn-primary:focus { background: var(--ebni-red-dark); border-color: var(--ebni-red-dark); }

/* Contact page: map, form card, details card */
body .row:has(> #mailform) > [class*="col-"]:first-child iframe { display: block; border-radius: 16px; box-shadow: var(--ebni-shadow); }
@media (min-width: 768px) {
  body .row:has(> #mailform) { display: flex; flex-wrap: wrap; align-items: flex-start; }
  body .row:has(> #mailform)::before, body .row:has(> #mailform)::after { display: none; }
  body .row:has(> #mailform) > [class*="col-"]:first-child { flex: 0 0 100%; }
  body .row:has(> #mailform) > #mailform { flex: 0 0 66.666%; max-width: 66.666%; }
  body .row:has(> #mailform) > .contact-info-col { flex: 0 0 33.333%; }
}
body #mailform > [class*="col-"] {
  float: none;
  width: auto;
  margin: 0 15px 30px;
  padding: 30px 32px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
}
body #mailform > [class*="col-"] [class*="col-"] { float: none; width: auto; padding: 0; }
body #mailform .titles_ { font-size: 24px; font-weight: 700; color: var(--ebni-ink); }
body #mailform .titles_::after { content: ""; display: block; width: 40px; height: 3px; margin: 10px 0 0; background: var(--ebni-red); border-radius: 2px; }
body #mailform .titles_ ~ br { display: none; }
body #mailform .titles_ { margin-bottom: 24px; }
body #mailform .table, body #mailform .table tbody, body #mailform .table tr, body #mailform .table td { display: block; width: 100% !important; border: 0; padding: 0; background: none; }
body #mailform .table { margin-bottom: 6px; }
body #mailform .table tr { margin-bottom: 16px; }
body #mailform .table td.hidden-xs { display: block !important; margin-bottom: 6px; color: var(--ebni-ink); font-size: 13px; font-weight: 600; text-align: left; }
body #mailform textarea { width: 100%; min-height: 130px; padding: 10px 12px; }
body #mailform .form-control { height: 44px; }
body #mailform input[type="file"] { padding: 10px; border: 1px dashed #d5cfc8; border-radius: 10px; width: 100%; background: #fbf9f6; }
body #mailform hr.visible-xs { display: none !important; }
body #mailform .btn[type="submit"] { padding: 12px 36px; font-size: 15px; }
body .contact-info-col { margin-bottom: 30px; }
body .contact-info {
  margin: 0;
  padding: 26px 26px 10px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-top: 3px solid var(--ebni-red);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
}
body .contact-info li { display: flex; gap: 14px; margin-bottom: 18px; font-size: 14.5px; line-height: 1.5; color: var(--ebni-ink); overflow-wrap: anywhere; }
body .contact-info li > i {
  flex: 0 0 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #f7ecee;
  color: var(--ebni-red);
  font-size: 16px;
}
body .contact-info b { display: block; color: var(--ebni-muted); font-size: 11.5px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; }
body .contact-info a { color: var(--ebni-red); }

/* Marketplace: filter card and toolbar */
body .market { padding: 40px 0 60px; }
body .market h4 { color: var(--ebni-ink) !important; font-size: 20px !important; }
body .market h4 .fa-caret-left { display: none; }
body .market .filter-options {
  padding: 20px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 14px;
  box-shadow: var(--ebni-shadow);
}
body .market .filter-options .ribbon {
  position: static;
  display: block;
  margin: 0 0 12px;
  padding: 0;
  background: none;
  color: var(--ebni-muted);
  font-size: 12px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
body .market .filter-options .ribbon::before, body .market .filter-options .ribbon::after { display: none; }
body .market .filter-options .parent { margin-top: 0 !important; }
body .market .view button { border: 1px solid var(--ebni-line); border-radius: 8px; background: #fff; padding: 4px 6px; }

/* Buttons: the admin theme (LTE.css) uses .btn.btn-primary, which outranked the palette */
body .btn.btn-primary, body .btn.btn-danger { background: var(--ebni-red); border-color: var(--ebni-red); color: #fff; }
body .btn.btn-primary:hover, body .btn.btn-primary:focus, body .btn.btn-danger:hover { background: var(--ebni-red-dark); border-color: var(--ebni-red-dark); color: #fff; }

/* Incubation "What after graduation?" box: palette garnet instead of the old bright red */
body .what_expect .side_box { background: linear-gradient(140deg, var(--ebni-red-dark), var(--ebni-red)) !important; box-shadow: 0 14px 34px rgba(124, 20, 39, 0.28); }

/* Tarek Kamel award: the page's own heading becomes the same charcoal title band */
body .about-details > .text-center:first-child {
  margin: 0 0 40px;
  padding: 96px 15px 46px;
  text-align: left;
  background:
    radial-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1.4px) 0 0 / 22px 22px,
    linear-gradient(120deg, #161616 0%, #221f1e 55%, #2a2624 100%);
  border-bottom: 3px solid var(--ebni-red);
}
body .about-details > .text-center:first-child h2 {
  max-width: 1140px;
  margin: 0 auto;
  color: #fff;
  font-size: 42px;
  font-weight: 700;
  letter-spacing: -0.6px;
}
body .about-details > .text-center:first-child h2 span { color: #e3a1ad; }
body .about-details > .text-center:first-child h2 img { display: none; }
body .about-details > .text-center:first-child h2::after { content: ""; display: block; width: 48px; height: 3px; margin-top: 14px; background: var(--ebni-red); border-radius: 2px; }
body .about-details > .text-center:first-child h2.text::before { display: none; }
body .about-details .container > .text-center:first-child {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  margin: 0 auto 26px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 999px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
body .about-details .container > .text-center:first-child button {
  margin: 0;
  padding: 8px 26px;
  border: 0 !important;
  border-radius: 999px;
  background: transparent !important;
  color: var(--ebni-muted) !important;
  font-weight: 600;
  box-shadow: none !important;
}
body .about-details .container > .text-center:first-child button.active { background: var(--ebni-red) !important; color: #fff !important; }
body .about-details .english-details,
body .about-details .arabic-details {
  max-width: 920px;
  margin: 0 auto;
  padding: 40px 48px;
  border: 1px solid var(--ebni-line) !important;
  border-radius: 18px;
  box-shadow: var(--ebni-shadow) !important;
  background: #fff;
}
body .about-details .english-details h1,
body .about-details .arabic-details h1 { font-size: 26px; font-weight: 700; color: var(--ebni-ink); margin-bottom: 26px; }
body .about-details .english-details h5,
body .about-details .arabic-details h5 {
  margin: 30px 0 12px;
  color: var(--ebni-red) !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  border: 0 !important;
  text-decoration: none !important;
}
body .about-details .english-details .content p,
body .about-details .arabic-details .content p { color: #4a4542 !important; font-size: 15.5px; line-height: 1.75; }
body .about-details .english-details li,
body .about-details .arabic-details li { color: var(--ebni-ink); line-height: 1.7; }
body .about-details .container > .text-center:last-child a,
body .about-details > .container > .text-center:last-child a {
  display: inline-block;
  margin: 30px 0 60px;
  padding: 13px 40px;
  border: 0 !important;
  border-radius: 999px;
  background: var(--ebni-red) !important;
  color: #fff !important;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(158, 27, 50, 0.22);
}
body .about-details .container > .text-center:last-child a:hover { background: var(--ebni-red-dark) !important; }
@media (max-width: 767px) {
  body .about-details > .text-center:first-child { padding: 60px 15px 32px; }
  body .about-details > .text-center:first-child h2 { font-size: 30px; }
  body .about-details .english-details, body .about-details .arabic-details { padding: 26px 20px; }
}
body .about-details > .text-center:first-child { border-radius: 18px; margin-top: 30px; }
body .about-details > .text-center:first-child h2::after { position: static !important; left: auto !important; right: auto !important; transform: none !important; }
body .about-details > .text-center:first-child h2::after { margin: 14px 0 0 !important; }
body .about-details > .text-center:first-child h2 { text-align: left; }
body #mailform, body .contact-info-col { clear: both; }

/* ---------- Home "Our services": icons recoloured to garnet in a soft tile inside the card ----------
   The uploaded line icons (light blue, from the old palette) are used as a mask, so any icon an
   admin uploads later shows in the same garnet. */
body .services .picec {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 24px;
  padding: 30px 16px 26px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: var(--ebni-radius);
  box-shadow: var(--ebni-shadow);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
body .services .picec:hover { transform: translateY(-6px); box-shadow: var(--ebni-shadow-hover); border-color: rgba(158, 27, 50, 0.25); }
body .services .picec .img-ser {
  position: static;
  width: 68px;
  height: 68px;
  margin: 0 0 18px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 18px;
  background: #f7ecee;
  box-shadow: none;
  transition: background .25s ease;
}
body .services .picec .img-ser img { display: none; }
body .services .picec .ser-icon {
  width: 38px;
  height: 38px;
  background: var(--ebni-red);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: background .25s ease;
}
body .services .picec:hover .img-ser { background: var(--ebni-red); }
body .services .picec:hover .ser-icon { background: #fff; }
body .services .picec h2,
body .services .picec:hover h2 {
  min-height: 0;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  transform: none;
  font-size: 17px;
}
body .services .picec:hover h2 { color: var(--ebni-red); }
body .services .picec h2::after { margin-top: 8px; }
body .services .picec .edit-delete { position: absolute; top: 8px; right: 8px; }
body .services .picec h2 { min-height: 2.7em; display: flex; align-items: center; justify-content: center; }
body .services .picec { padding-bottom: 34px; }
body .services .picec h2::after { position: absolute; left: 0; right: 0; bottom: 10px; margin: 0; }
@media (max-width: 767px) {
  body .services .picec {
    width: auto;
    margin: 0 12px 12px;
    padding: 14px 18px;
    flex-direction: row;
    gap: 16px;
    text-align: left;
  }
  body .services .picec .img-ser { width: 54px; height: 54px; margin: 0; flex: 0 0 54px; border-radius: 14px; }
  body .services .picec .ser-icon { width: 30px; height: 30px; }
  body .services .picec h2 { min-height: 0; justify-content: flex-start; font-size: 16px; text-align: left; }
  body .services .picec h2::after { display: none; }
}

/* =====================================================================
   INCUBATION PORTAL (virtualisation): admin and startup views
   ===================================================================== */

/* The portal page defines a global ".active { background: #af3939; color: #fff !important }".
   The menu marks the account item active on this page, so the name button turned red-on-red. */
body .navbar-default.eb-nav li.active,
body .navbar-default.eb-nav .dropdown-menu li.active { background-color: transparent !important; border-radius: 0; }
body .navbar-default.eb-nav li.nav-account.active > a,
body .navbar-default.eb-nav li.nav-account.active > a i { color: var(--ebni-ink) !important; }
body .navbar-default.eb-nav .dropdown-menu li.active > a { color: var(--ebni-red) !important; background: #f7ecee !important; }

/* Page canvas: centred, same width as the rest of the site */
body #in-page:has(.virtualisation) { background: var(--ebni-soft) !important; padding-bottom: 50px !important; }
body #in-page .virtualisation > .container { max-width: 1240px; margin: 0 auto; }

/* Header: intake name with its logo, as a card */
body .virtualisation .ti-page {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 28px 0 6px;
  padding: 20px 26px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-left: 4px solid var(--ebni-red);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
}
body .virtualisation .ti-page img {
  width: 64px !important;
  height: 64px;
  object-fit: contain;
  padding: 4px;
  border: 1px solid var(--ebni-line);
  border-radius: 14px;
  background: #fff;
}
body .virtualisation .ti-page span {
  display: block;
  color: var(--ebni-ink) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  letter-spacing: -0.3px;
}
body .virtualisation .ti-page span::before {
  content: "Incubation portal";
  display: block;
  margin-bottom: 2px;
  color: var(--ebni-red);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}

/* Sidebar */
body .virtualisation .list {
  margin: 22px 0 20px;
  padding: 12px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-left: 1px solid var(--ebni-line);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
}
body .virtualisation .list ul { margin: 0; }
body .virtualisation .list ul li {
  margin: 2px 0;
  padding: 0;
  border-radius: 10px;
  text-transform: none;
  font-size: 15px;
  background: transparent;
  transition: background .2s ease;
}
body .virtualisation .list ul li a {
  display: flex;
  align-items: center;
  padding: 11px 14px;
  color: #4a4542;
  font-size: 15px;
  font-weight: 500;
}
body .virtualisation .list li i { width: 20px; margin-right: 10px; color: var(--ebni-red); text-align: center; }
body .virtualisation .list ul li:hover { background: #f7ecee; }
body .virtualisation .list ul li.active { background: var(--ebni-red) !important; border-radius: 10px; }
body .virtualisation .list ul li.active a,
body .virtualisation .list ul li.active i { color: #fff !important; }
body .virtualisation .list .fa-times { color: var(--ebni-muted); }

/* Phone: "View list" opens the sidebar */
body .virtualisation #viewList {
  margin: 14px 0 6px;
  padding: 9px 18px;
  border: 1px solid var(--ebni-line);
  border-radius: 999px;
  background: #fff;
  color: var(--ebni-ink);
  font-weight: 600;
  box-shadow: none;
}
body .virtualisation #viewList i { color: var(--ebni-red); margin-right: 6px; }

/* Content panels */
body .virtualisation .content .bg,
body .virtualisation .chart-card.bg {
  padding: 22px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-top: 1px solid var(--ebni-line);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
}
body .virtualisation .content hr { height: 0; margin: 10px 0 18px; background: none; border-top: 1px solid var(--ebni-line); }
body .virtualisation .content h2,
body .virtualisation .chart-wrapp > h3 {
  margin: 8px 0 0;
  color: var(--ebni-ink);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.3px;
}
body .virtualisation .content h2 > i { color: var(--ebni-red); margin-right: 6px; font-size: 20px; }
body .virtualisation .chart-wrapp > h3 .fa-caret-left { display: none; }
body .virtualisation .chart-wrapp h4 {
  margin: 26px 0 12px !important;
  color: var(--ebni-muted) !important;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}

/* Action buttons (Add post, View tasks, Add user, Calendar ...) */
body .virtualisation .buttons button,
body .virtualisation button#add {
  margin: 4px 0 4px 8px;
  padding: 9px 18px;
  border: 1px solid var(--ebni-red);
  border-radius: 999px !important;
  background: #fff;
  color: var(--ebni-red);
  font-size: 14px;
  font-weight: 600;
  box-shadow: none;
  transition: background .2s ease, color .2s ease;
}
body .virtualisation .buttons button#add,
body .virtualisation button#add { background: var(--ebni-red); color: #fff; }
body .virtualisation .buttons button:hover { background: var(--ebni-red-dark); border-color: var(--ebni-red-dark); color: #fff; }
/* Status filter on Tasks (was bright cyan) */
body .virtualisation .btn.btn-info {
  margin: 0 4px 6px 0;
  padding: 6px 14px;
  border: 1px solid var(--ebni-line);
  border-radius: 999px;
  background: #fff;
  color: var(--ebni-ink);
  font-weight: 600;
}
body .virtualisation .btn.btn-info.active,
body .virtualisation .btn.btn-info:hover { background: var(--ebni-red); border-color: var(--ebni-red); color: #fff; }
body .virtualisation .btn.btn-info.btn-xs { padding: 1px 7px; }

/* Dashboard: KPI cards (were big grey circles) */
body .virtualisation .chart-card .div {
  width: auto;
  height: auto;
  margin: 0;
  padding: 4px 2px;
  background: none;
  border: 0;
  border-radius: 0;
  color: var(--ebni-ink);
  text-align: left;
}
body .virtualisation .chart-card .div h5 {
  margin: 0 0 14px;
  color: var(--ebni-muted);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
body .virtualisation .chart-card .div b { display: block; font-size: 30px; font-weight: 700; line-height: 1.1; color: var(--ebni-ink); }
body .virtualisation .chart-card .div b small { color: var(--ebni-red); font-size: 13px !important; font-weight: 700; letter-spacing: 0.6px; }
body .virtualisation .chart-wrapp .col-md-7 .row > .col-md-4 .chart-card { border-top: 3px solid var(--ebni-red); }

/* Dashboard: time-progress chart in the palette (was navy) */
body .virtualisation .gantt { border: 1px solid var(--ebni-line); border-radius: 16px; box-shadow: var(--ebni-shadow); }
body .virtualisation .gantt__row--months,
body .virtualisation .gantt__row--months .gantt__row-first { background-color: #161616 !important; }
body .virtualisation .gantt__row:nth-child(odd) { background-color: #fbf9f6; }

/* Tables */
body .virtualisation .tb thead th,
body .virtualisation table thead th { background-color: #f4f1ed !important; color: var(--ebni-ink); font-size: 12.5px; letter-spacing: 0.5px; text-transform: uppercase; }

/* Arrow labels above Files / Milestone review / Startup management (were pink arrows) */
body .virtualisation .breadcrumb { padding: 0; margin: 0 0 14px; background: none; }
body .virtualisation .breadcrumb li,
body .virtualisation .breadcrumb li:first-child,
body .virtualisation .breadcrumb li:last-child {
  padding: 7px 16px !important;
  border-radius: 999px;
  background: #f7ecee !important;
  color: var(--ebni-red) !important;
  font-size: 13px;
  font-weight: 700;
}
body .virtualisation .breadcrumb li::after,
body .virtualisation .breadcrumb li::before { display: none !important; }
body .virtualisation .breadcrumb li a,
body .virtualisation .breadcrumb li a i { color: var(--ebni-red) !important; }

/* File / milestone folders */
body .virtualisation .files .cats button,
body .virtualisation .content .files a > div,
body .virtualisation .content [class*="col-"] > .folder { border-radius: 10px; }

/* Posts */
body .virtualisation .content .post .bg { padding: 22px 24px; }
body .virtualisation .content .post .comment input { border: 1px solid #ddd6cf; border-radius: 999px; }
body .virtualisation .content .post .comment button { background: var(--ebni-red) !important; box-shadow: none; }

/* Empty states */
body .virtualisation .noData,
body .virtualisation .Events h1,
body .virtualisation .training > .bg h1 { box-shadow: none; }
body .virtualisation .noData {
  padding: 18px 20px;
  background: #fff;
  border: 1px dashed #d5cfc8;
  border-radius: 14px;
}
body .virtualisation .noData h1 { margin: 0; color: var(--ebni-muted); font-size: 17px; font-weight: 500; }

/* Calendar */
body .virtualisation th.fc-day-header span { background: #f4f1ed; color: var(--ebni-muted); }
body .virtualisation .fc-toolbar h2 { color: var(--ebni-ink); }
body .virtualisation .fc-today { background: #f7ecee !important; }
body .virtualisation .upcoming .bg h6,
body .virtualisation .upcoming h6 { font-weight: 700; color: var(--ebni-ink); }

@media (max-width: 767px) {
  body .virtualisation .ti-page { padding: 16px 18px; gap: 14px; }
  body .virtualisation .ti-page img { width: 48px !important; height: 48px; }
  body .virtualisation .ti-page span { font-size: 20px !important; }
  body .virtualisation .list { margin: 0; border-radius: 0; }
  body .virtualisation .buttons { text-align: left !important; margin-top: 10px; }
  body .virtualisation .buttons button { margin: 4px 8px 4px 0; }
}
body .virtualisation .upcoming {
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--ebni-line) !important;
  border-radius: 14px;
  box-shadow: var(--ebni-shadow);
}
body .virtualisation .content .post,
body .virtualisation .content .post .bg { overflow-wrap: anywhere; word-break: break-word; }

/* Footer: hide the old "Powered By ebda3-eg.com" line (printed by the encoded index.php, which cannot be edited) */
body > .rights, .rights { display: none !important; }

/* =====================================================================
   MARKETPLACE: products, startup directory, product page, cart, account pages
   ===================================================================== */
body #in-page:has(.market, .mk-page, .productDetails, .checkout, .myAccount, .orderDone) { background: var(--ebni-soft) !important; }

/* Shared page header */
body .mk-hero {
  position: relative;
  overflow: hidden;
  margin: 6px 0 26px;
  padding: 34px 36px;
  border-radius: 20px;
  background: linear-gradient(120deg, #161616 0%, #2a1a1d 58%, var(--ebni-red) 140%);
  color: #fff;
  box-shadow: var(--ebni-shadow);
}
body .mk-hero::after {
  content: "";
  position: absolute;
  right: -60px;
  top: -60px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  border: 36px solid rgba(255,255,255,.06);
}
body .mk-hero h1 { margin: 6px 0 8px; color: #fff; font-size: 34px; font-weight: 700; letter-spacing: -0.5px; }
body .mk-hero p { max-width: 620px; margin: 0; color: rgba(255,255,255,.78); font-size: 16px; line-height: 1.6; }
body .mk-eyebrow {
  display: inline-block;
  color: var(--ebni-red);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}
body .mk-hero .mk-eyebrow { color: #f3b6bf; }
body .mk-page { max-width: 1240px; margin: 0 auto; padding: 0 15px; }

/* Empty state */
body .mk-empty {
  margin: 6px 0 20px;
  padding: 46px 24px;
  text-align: center;
  background: #fff;
  border: 1px dashed #d5cfc8;
  border-radius: 18px;
}
body .mk-empty > i { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 14px; border-radius: 50%; background: #f7ecee; color: var(--ebni-red); font-size: 26px; }
body .mk-empty h3 { margin: 0 0 6px; color: var(--ebni-ink); font-size: 20px; font-weight: 700; }
body .mk-empty p { margin: 0 auto; max-width: 420px; color: var(--ebni-muted); }
body .mk-empty .continue { margin-top: 18px; }

/* ---- Products (shop) ---- */
body .market { padding: 6px 0 40px; }
body .market .mk-side-title,
body .market .mk-title { margin: 0 0 12px; color: var(--ebni-ink); font-size: 22px; font-weight: 700; }
body .market .filter-options {
  position: relative;
  margin: 0 0 20px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
}
body .market .filter-options .ribbon { display: none; }
body .market .filter-options .parent { margin-top: 0 !important; }
body .market .filter-options .parent a { display: block; }
body .market .filter-options label {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 2px 0;
  padding: 10px 12px;
  border-radius: 10px;
  color: #4a4542;
  font-weight: 500;
  cursor: pointer;
  background: transparent;
  transition: background .2s ease;
}
body .market .filter-options label:hover { background: #f7ecee; }
body .market .filter-options label:has(input:checked) { background: var(--ebni-red); color: #fff; }
body .market .filter-options input[type=radio] { accent-color: var(--ebni-red); margin: 0; }
body .market .btnInfo { margin: 14px 0 0; border-radius: 999px; background: var(--ebni-red); border: 0; font-size: 15px; }

body .market .mk-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 18px;
  padding: 12px 6px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
}
body .market .mk-toolbar .mk-title { margin: 0; font-size: 18px; }
body .market .mk-toolbar label { margin: 0 0 0 8px !important; padding: 6px 12px; border: 1px solid var(--ebni-line); border-radius: 999px; font-weight: 500; color: var(--ebni-ink); }
body .market .mk-toolbar label:has(input:checked) { background: var(--ebni-red); border-color: var(--ebni-red); color: #fff; }
body .market .mk-toolbar label input { display: none; }
body .market .mk-toolbar > .col-md-12:empty { display: none; }
body .market .view { margin: 0; text-align: right; }
body .market .view button { width: 38px; height: 38px; margin-left: 6px; padding: 8px; border: 1px solid var(--ebni-line); border-radius: 10px; background: #fff; }
body .market .view button img { width: 100%; opacity: .7; }
body .market .edits { border-radius: 12px; border-color: var(--ebni-line); }

/* Product cards */
body .market .filter-result .row { display: flex; flex-wrap: wrap; }
body .market .filter-result .row > [class*="col-"] { display: flex; margin-bottom: 24px; }
body .market .filter-result .item {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0;
  padding: 0 0 18px;
  overflow: hidden;
  text-align: left;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
  transition: transform .2s ease, box-shadow .2s ease;
}
body .market .filter-result .item:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(22,22,22,.12); }
body .market .filter-result .item > img {
  display: block;
  width: 100%;
  height: 200px;
  margin: 0 0 16px;
  object-fit: cover;
  border-radius: 0;
  background: #f4f1ed;
}
body .market .item .price,
body .market .item .price::before,
body .market .item .price::after { all: unset; }
body .market .item .price {
  display: block;
  margin: 0 18px 6px;
  color: var(--ebni-red);
  font-size: 18px;
  font-weight: 700;
}
body .market .item .price del { margin-left: 6px; color: var(--ebni-muted) !important; font-size: 13px; font-weight: 500; }
body .market .item > b,
body .market .item b { display: block; margin: 0 18px 6px; color: var(--ebni-ink); font-size: 17px; font-weight: 700; line-height: 1.35; }
body .market .item p { flex: 1; margin: 0 18px 14px; color: var(--ebni-muted); font-size: 14px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
body .market .item .Details {
  display: inline-block;
  margin: 0 0 0 18px;
  padding: 9px 22px;
  border-radius: 999px;
  background: var(--ebni-red);
  color: #fff;
  font-weight: 600;
  box-shadow: none;
}
body .market .item .Details:hover { background: var(--ebni-red-dark); color: #fff; }
body .market .item .ajax_active { vertical-align: middle; margin-left: 6px; }
body .market .item .ajax_active .btn { border-radius: 50%; }
body .market .discount,
body .productDetails .discount {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  width: auto;
  height: auto;
  padding: 5px 11px;
  border-radius: 999px;
  background: var(--ebni-red);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}
body .market .discount::before { content: "-"; }

/* List view */
body .market .list-view {
  position: relative;
  margin-bottom: 16px;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
}
body .market .list-view .small img { width: 100%; height: 110px; object-fit: cover; border-radius: 12px; }
body .market .list-view .item { padding: 0; text-align: left; background: none; border: 0; box-shadow: none; }
body .market .list-view .item .price,
body .market .list-view .item b,
body .market .list-view .item p { margin-left: 0; }
body .market .list-view .item .Details { margin-left: 0; }

/* ---- Startup directory ---- */
body .mk-directory { display: flex; flex-wrap: wrap; }
body .mk-directory > [class*="col-"] { display: flex; margin-bottom: 24px; }
body .mk-supplier {
  width: 100%;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-top: 3px solid var(--ebni-red);
  border-radius: 16px;
  box-shadow: var(--ebni-shadow);
}
body .mk-supplier-head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
body .mk-supplier-logo { position: relative; flex: 0 0 64px; height: 64px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--ebni-line); border-radius: 14px; background: #f7ecee; overflow: hidden; }
body .mk-supplier-logo i { color: var(--ebni-red); font-size: 22px; }
body .mk-supplier-logo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 4px; background: #fff; }
body .mk-supplier-head b { display: block; color: var(--ebni-ink); font-size: 18px; font-weight: 700; }
body .mk-tag { display: inline-block; margin-top: 4px; padding: 2px 10px; border-radius: 999px; background: #f4f1ed; color: var(--ebni-muted); font-size: 12px; font-weight: 600; }
body .mk-contact { margin: 0; padding: 14px 0 0; list-style: none; border-top: 1px solid var(--ebni-line); }
body .mk-contact li { display: flex; gap: 10px; padding: 4px 0; color: #4a4542; font-size: 14px; overflow-wrap: anywhere; }
body .mk-contact li i { width: 16px; margin-top: 3px; color: var(--ebni-red); text-align: center; }

/* ---- Product page ---- */
body .productDetails {
  position: relative;
  margin: 10px 0 40px;
  padding: 28px;
  background: #fff;
  border: 1px solid var(--ebni-line);
  border-radius: 20px;
  box-shadow: var(--ebni-shadow);
}
body .productDetails .large { margin: 0; padding: 0; border: 0; border-radius: 16px; overflow: hidden; background: #f4f1ed; box-shadow: none; }
body .productDetails .large img { display: block; width: 100%; height: auto; max-height: 460px; object-fit: contain; }
body .productDetails .description { padding: 6px 4px 0 12px; text-align: left; }
body .productDetails .item-name { margin: 6px 0 10px; color: var(--ebni-ink); font-size: 30px; font-weight: 700; letter-spacing: -0.4px; text-align: left; }
body .productDetails .item-price { margin: 0 0 20px; padding: 0 0 18px; border-bottom: 1px solid var(--ebni-line); text-align: left; }
body .productDetails .item-price .text-success { color: var(--ebni-red) !important; font-size: 28px; font-weight: 700; }
body .productDetails .item-price del { margin-left: 8px; color: var(--ebni-muted) !important; font-size: 16px; }
body .productDetails .description > b { display: block; margin-bottom: 6px; color: var(--ebni-muted); font-size: 12.5px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; }
body .productDetails .description p { color: #4a4542; font-size: 16px; line-height: 1.7; }
body .productDetails .product-link { text-align: left !important; }
body .productDetails .addToCart {
  margin-top: 8px;
  padding: 13px 30px;
  border: 0;
  border-radius: 999px;
  background: var(--ebni-red);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  box-shadow: none;
}
body .productDetails .addToCart:hover { background: var(--ebni-red-dark); }
body .productDetails .addToCart i { margin-left: 6px; }

/* ---- Cart ---- */
body .checkout.d-none { display: none !important; }
body .mk-page-cart { padding-top: 6px; }
body .checkout { padding-bottom: 40px; }
body .checkout b { margin-bottom: 12px !important; color: var(--ebni-ink) !important; font-size: 18px !important; font-weight: 700; }
body .checkout-table,
body .checkout-tab { border: 1px solid var(--ebni-line); border-radius: 16px !important; box-shadow: var(--ebni-shadow) !important; }
body .checkout-table .table > thead > tr > th { border-bottom: 1px solid var(--ebni-line); background: #f4f1ed; color: var(--ebni-ink); font-size: 12.5px; letter-spacing: 0.5px; text-transform: uppercase; }
body .checkout-table img { border-radius: 8px; }
body .checkout-tab h5 { color: var(--ebni-muted); font-size: 13px !important; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; }
body .checkout-tab p { border: 0 !important; color: var(--ebni-ink) !important; font-size: 30px !important; font-weight: 700; }
body .continue { display: block; width: 100%; padding: 11px 20px !important; border-radius: 999px !important; background: #fff !important; border: 1px solid var(--ebni-red); color: var(--ebni-red) !important; font-weight: 600; text-align: center; box-shadow: none !important; }
body .continue.proceed { background: var(--ebni-red) !important; color: #fff !important; }
body .mk-empty .continue { display: inline-block; width: auto; background: var(--ebni-red) !important; color: #fff !important; }

/* ---- Account pages: My products, My orders, Join marketplace, Order details ---- */
body .myAccount {
  margin: 6px 0 30px !important;
  padding: 26px 28px !important;
  border: 1px solid var(--ebni-line);
  border-radius: 18px !important;
  box-shadow: var(--ebni-shadow) !important;
}
body .myAccount h2 { margin: 4px 0 0; color: var(--ebni-ink); font-size: 26px; font-weight: 700; letter-spacing: -0.3px; }
body .myAccount h2 > i { margin-right: 8px; color: var(--ebni-red); font-size: 22px; }
body .myAccount hr { margin: 14px 0 20px; border-top: 1px solid var(--ebni-line); }
body .myAccount table.table { border: 1px solid var(--ebni-line); border-radius: 12px; overflow: hidden; border-collapse: separate; border-spacing: 0; }
body .myAccount table.table > thead > tr > th { border: 0 !important; background: #f4f1ed; color: var(--ebni-ink); font-size: 12.5px; letter-spacing: 0.5px; text-transform: uppercase; vertical-align: middle; }
body .myAccount table.table > tbody > tr > td { border-left: 0; border-right: 0; vertical-align: middle; }
body .myAccount table.table-striped > tbody > tr:nth-of-type(odd) { background: #fbf9f6; }
body .myAccount .btn-success,
body .myAccount .btn-info { border: 0; border-radius: 999px; background: var(--ebni-red); }
body .myAccount form.comment label { margin: 14px 0 6px; color: var(--ebni-ink); font-size: 14px; font-weight: 600; }
body .myAccount form.comment .form-control { height: 44px; border: 1px solid #ddd6cf; border-radius: 10px; box-shadow: none; }
body .myAccount form.comment .form-control:focus { border-color: var(--ebni-red); box-shadow: 0 0 0 3px rgba(161,26,48,.12); }
body .myAccount form.comment button[type=submit] { min-width: 160px; padding: 11px 28px; border: 0; border-radius: 999px; background: var(--ebni-red); font-weight: 600; }
body .myAccount .search .form-control,
body .myAccount input[type=search] { border-radius: 999px; }
body .myAccount .nav-pills > li > a { border-radius: 999px; color: var(--ebni-ink); }
body .myAccount .nav-pills > li.active > a { background: var(--ebni-red); color: #fff; }

@media (max-width: 767px) {
  body .mk-hero { padding: 24px 20px; border-radius: 16px; }
  body .mk-hero h1 { font-size: 25px; }
  body .market .mk-toolbar > [class*="col-"] { width: 100%; margin: 4px 0; text-align: left !important; }
  body .market .view { text-align: left; }
  body .productDetails { padding: 16px; }
  body .productDetails .description { padding: 18px 0 0; }
  body .productDetails .item-name { font-size: 24px; }
  body .myAccount { padding: 18px 16px !important; }
}
/* Marketplace: clear the old ribbon/bar styles */
body .market .discount, body .productDetails .discount { right: auto !important; width: auto !important; height: auto !important; text-align: center; }
body .market .discount::after, body .productDetails .discount::after,
body .market .discount::before, body .productDetails .discount::before { display: none !important; content: none !important; }
body .market .item .Details { align-self: flex-start; width: auto !important; text-align: center; }
body .market .filter-options .parent { padding: 0 !important; background: none !important; box-shadow: none !important; }
body .market .filter-options label span { color: inherit !important; }
body .market .mk-toolbar form { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
body .market .mk-toolbar label { white-space: nowrap; }
body .productDetails .item-name { padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; color: var(--ebni-ink) !important; }
body .productDetails .item-name::before, body .productDetails .item-name::after { display: none !important; }
body .productDetails .description p { padding: 0 !important; border: 0 !important; }
body .productDetails .item-price { border: 0 !important; border-bottom: 1px solid var(--ebni-line) !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 0 18px !important; width: auto !important; }
body .productDetails .description p { margin-left: 0 !important; }
@media (max-width: 767px) {
  body .market .filter-result .row > [class*="col-"] { width: 100%; }
}

/* Account menu: pages like adminControl and the portal have a global ".active a { color: #fff !important }".
   The menu marks the account item active there, which turned every dropdown item white on white. */
body .navbar-default.eb-nav li.nav-account.active .dropdown-menu li > a,
body .navbar-default.eb-nav li.nav-account.active .dropdown-menu li > a i { color: var(--ebni-ink) !important; }
body .navbar-default.eb-nav li.nav-account.active .dropdown-menu li > a i { color: var(--ebni-red) !important; }
body .navbar-default.eb-nav li.nav-account.active .dropdown-menu li.active > a,
body .navbar-default.eb-nav li.nav-account.active .dropdown-menu li.active > a i { color: var(--ebni-red) !important; }

/* ==========================================================================
   FOOTER LAYOUT (responsive grid; replaces the old fixed-pixel contact block)
   ========================================================================== */
body footer.eb-footer { padding: 54px 0 40px; }
body footer.eb-footer .eb-footer-grid {
  display: grid;
  grid-template-columns: 1.1fr 1.6fr 1fr 1fr;
  gap: 36px 40px;
  align-items: start;
}
body footer.eb-footer h3 {
  margin: 0 0 18px;
  color: var(--ebni-ink) !important;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .2px;
}
body footer.eb-footer ul { margin: 0; padding: 0; }
body footer.eb-footer li { margin: 0 0 12px; color: var(--ebni-muted); font-size: 15px; line-height: 1.55; }
body footer.eb-footer li a { color: var(--ebni-muted) !important; text-decoration: none; }
body footer.eb-footer li a:hover { color: var(--ebni-red) !important; }
body footer.eb-footer .eb-footer-brand a { display: inline-block; text-decoration: none; }
body footer.eb-footer .eb-footer-brand .logo { display: block; width: 190px; max-width: 100%; height: auto; }
body footer.eb-footer .eb-footer-contact li { display: flex; align-items: flex-start; gap: 12px; }
body footer.eb-footer .eb-footer-contact li i {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f7ecee !important;
  color: var(--ebni-red) !important;
  font-size: 15px;
}
body footer.eb-footer .eb-footer-contact li span { padding-top: 5px; overflow-wrap: anywhere; }

@media (max-width: 991px) {
  body footer.eb-footer .eb-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 575px) {
  body footer.eb-footer { padding: 40px 0 76px; }
  body footer.eb-footer .eb-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  body footer.eb-footer .eb-footer-brand,
  body footer.eb-footer .eb-footer-contact { grid-column: 1 / -1; }
  body footer.eb-footer .eb-footer-brand .logo { width: 160px; }
  body footer.eb-footer h3 { margin-bottom: 14px; font-size: 16px; }
  body footer.eb-footer li { font-size: 14.5px; }
}
