.elementor-11396 .elementor-element.elementor-element-f3d047a .custom-breadcrumb{background-image:url("https://meezabgroup.com/wp-content/uploads/2026/09/Our-Companies.webp");}.elementor-11396 .elementor-element.elementor-element-f3d047a .custom-breadcrumb .heading-title{color:#000000;}/* Start custom CSS for html, class: .elementor-element-4589e3e *//* ============================================================
   MEEZAB GROUP - OUR COMPANIES GRID

   Rest  : panel safed, text dark
   Hover : panel red, text white + description aur button khulte hain

   Image : 1200 x 1200 px, WebP, 300 KB se kam
   ============================================================ */

.mzb-portfolio {
  --mzb-ground:       #ffffff;  /* section background       */
  --mzb-panel:        #ffffff;  /* panel - rest             */
  --mzb-panel-hover:  #B82B30;  /* panel - hover            */
  --mzb-media:        #eef0ed;  /* image load hone se pehle */
  --mzb-line:         #e2e5e1;  /* card border              */
  --mzb-line-strong:  #c9cfca;  /* hover border             */

  --mzb-name:         #1a1a18;  /* company name - rest      */
  --mzb-text:         #5f6360;  /* description - rest       */
  --mzb-text-hover:   #ffffff;  /* dono - hover             */

  --mzb-btn:          #ffffff;  /* button - background      */
  --mzb-btn-text:     #B82B30;  /* button - text            */
  --mzb-btn-hover:    #284194;  /* button - hover           */
  --mzb-btn-hover-text: #ffffff;

  --mzb-font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  background: var(--mzb-ground);
  font-family: var(--mzb-font);
  color: var(--mzb-name);
  padding: 76px 24px 92px;
}

/* theme ke default styles ko is section ke andar neutral karna */
.mzb-portfolio *,
.mzb-portfolio *::before,
.mzb-portfolio *::after { box-sizing: border-box; }
.mzb-portfolio p,
.mzb-portfolio h3 { margin: 0; padding: 0; }
.mzb-portfolio a { text-decoration: none; }
.mzb-portfolio img { max-width: 100%; display: block; }

.mzb-shell { max-width: 1180px; margin: 0 auto; }

/* ---------- Grid ---------- */

.mzb-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

/* ---------- Card ---------- */

.mzb-card {
  position: relative;
  height: 340px;
  background: var(--mzb-panel);
  border: 1px solid var(--mzb-line);
  border-radius: 12px;
  overflow: hidden;
  transition: border-color .2s ease;
}

.mzb-card:hover { border-color: var(--mzb-line-strong); }

/* ---------- Image ---------- */

.mzb-media {
  position: absolute;
  inset: 0;
  background: var(--mzb-media);
  overflow: hidden;
}

/* image poore box par - zaroorat par crop ho jayegi */
.mzb-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Agar kisi jagah logo lagana ho (transparent background, chaaron taraf
   khali jagah) to upar wale img rule ki jagah yeh use karein:

.mzb-media { display: flex; align-items: center; justify-content: center;
             padding: 24px 24px 76px; }
.mzb-media img { width: auto; height: auto; max-width: 100%;
                 max-height: 100%; object-fit: contain; }
*/

/* ---------- Panel ---------- */

.mzb-panel {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--mzb-panel);
  border-top: 1px solid var(--mzb-line);
  padding: 16px;
  transition: background-color .2s ease, border-color .2s ease;
}

.mzb-card:hover .mzb-panel,
.mzb-card:focus-within .mzb-panel {
  background: var(--mzb-panel-hover);
  border-top-color: var(--mzb-panel-hover);
}

.mzb-name {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--mzb-name);
  transition: color .2s ease;
}

/* display:block zaroori hai - inline element par max-height aur
   overflow kaam nahi karte */
.mzb-reveal {
  display: block;
  max-height: 0;
  opacity: 0;
  margin-top: 0;
  overflow: hidden;
  transition: max-height .3s ease, opacity .25s ease, margin-top .3s ease;
}

.mzb-card:hover .mzb-reveal,
.mzb-card:focus-within .mzb-reveal {
  max-height: 200px;
  opacity: 1;
  margin-top: 10px;
}

.mzb-desc {
  font-size: 13px;
  line-height: 1.6;
  color: var(--mzb-text);
  margin-bottom: 14px;
  transition: color .2s ease;
}

/* hover par name aur description dono white */
.mzb-card:hover .mzb-name,
.mzb-card:hover .mzb-desc,
.mzb-card:focus-within .mzb-name,
.mzb-card:focus-within .mzb-desc { color: var(--mzb-text-hover); }

/* ---------- Button ---------- */

.mzb-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--mzb-btn-text);
  background: var(--mzb-btn);
  border-radius: 8px;
  padding: 9px 15px;
	margin-top: 12px;
  transition: background-color .2s ease, color .2s ease;
}

.mzb-btn:hover {
  background: var(--mzb-btn-hover);
  color: var(--mzb-btn-hover-text);
}

.mzb-btn:focus-visible {
  outline: 2px solid var(--mzb-btn-hover);
  outline-offset: 2px;
}

.mzb-btn svg { width: 15px; height: 15px; flex: none; }

/* ---------- Touch devices: hover nahi hota, is liye text hamesha khula ---------- */

@media (hover: none) {
  .mzb-reveal { max-height: 200px; opacity: 1; margin-top: 10px; }
}

/* ---------- Responsive ---------- */

@media (max-width: 1000px) {
  .mzb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .mzb-portfolio { padding: 52px 18px 64px; }
  .mzb-grid { grid-template-columns: 1fr; gap: 16px; }

  /* mobile par overlay ki jagah simple stacked card */
  .mzb-card { height: auto; }
  .mzb-media { position: static; aspect-ratio: 4 / 3; }
  .mzb-panel { position: static; }
  .mzb-reveal { max-height: none; opacity: 1; margin-top: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .mzb-portfolio * { transition: none !important; }
}/* End custom CSS */