/* ══════════════════════════════════════════════════
   TZ Hero Slider — hero-slider.css
   Heiarchy preserved from original design.
   Root selector changed: #tz-root → .tz-hero-root
══════════════════════════════════════════════════ */

/* ── ROOT / VARIABLES ── */
.tz-hero-root {
  all: revert;
  box-sizing: border-box !important;
  font-family: 'Cairo', sans-serif !important;
  direction: rtl !important;
  overflow-x: hidden;
  --tz-pri:   #272c4a;
  --tz-pri-d: #1a1f36;
  --tz-pri-l: #363d66;
  --tz-sec:   #89cdc1;
  --tz-sec-d: #5ba898;
  --tz-sec-l: #b0dfd8;
  --tz-bg:    #eef1f7;
  --tz-rad:   16px;
  --tz-pad:   40px;
}
.tz-hero-root *,
.tz-hero-root *::before,
.tz-hero-root *::after { box-sizing: border-box !important; font-family: inherit; }
.tz-hero-root a  { text-decoration: none !important; }
.tz-hero-root img { max-width: 100%; height: auto; }
.tz-hero-root button { cursor: pointer; font-family: inherit !important; }

/* ── HERO SECTION ── */
.tz-hero-root .tz-hero-section {
  padding: 18px var(--tz-pad) 0;
  max-width: 1400px;
  margin: 0 auto;
}
.tz-hero-root .tz-hero-grid {
  display: grid !important;
  grid-template-columns: 1fr 310px;
  gap: 14px;
  align-items: start;
}

/* ── MAIN SLIDER ── */
.tz-hero-root .tz-slider-outer {
  border-radius: var(--tz-rad);
  overflow: hidden !important;
  position: relative !important;
  height: 400px;
  background: var(--tz-pri-d);
  touch-action: pan-y;
}
.tz-hero-root .tz-slides-track {
  display: flex !important;
  height: 100% !important;
  transition: transform .7s cubic-bezier(.77, 0, .18, 1);
  will-change: transform;
}

/* ── SLIDE — image mode ── */
.tz-hero-root .tz-slide {
  min-width: 100% !important;
  height: 100% !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
}
.tz-hero-root .tz-slide.tz-slide-img {
  padding: 0;
  display: block !important;
  cursor: pointer;
}
.tz-hero-root .tz-slide.tz-slide-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── ARROWS ── */
.tz-hero-root .tz-arr {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  transition: .2s !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  outline: none !important;
  -webkit-appearance: none !important;
}
.tz-hero-root .tz-arr:hover {
  background: rgba(137,205,193,.25);
  border-color: rgba(137,205,193,.4);
}
.tz-hero-root .tz-arr svg {
  width: 15px !important;
  height: 15px !important;
  stroke: #fff !important;
  fill: none !important;
  stroke-width: 2.5 !important;
  display: block !important;
}
.tz-hero-root .tz-arr-prev { right: 12px !important; left: auto !important; }
.tz-hero-root .tz-arr-next { left: 12px !important; right: auto !important; }

/* ── DOTS ── */
.tz-hero-root .tz-dots {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  line-height: 1 !important;
  position: absolute !important;
  bottom: 14px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 10 !important;
}
.tz-hero-root .tz-dot {
  display: inline-block !important;
  width: 7px !important;
  min-width: 7px !important;
  max-width: 22px !important;
  height: 7px !important;
  min-height: 7px !important;
  max-height: 7px !important;
  border-radius: 50% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  line-height: 1 !important;
  font-size: 0 !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  transition: width .3s, background .3s, border-radius .3s !important;
  flex-shrink: 0 !important;
  background: rgba(255,255,255,.3) !important;
}
.tz-hero-root .tz-dot.tz-active {
  background: var(--tz-sec) !important;
  width: 22px !important;
  max-width: 22px !important;
  border-radius: 4px !important;
}

/* ── SIDE BANNERS ── */
.tz-hero-root .tz-side-panel {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px;
  height: 400px;
}
.tz-hero-root .tz-banner {
  border-radius: var(--tz-rad);
  overflow: hidden !important;
  flex: 1;
  position: relative !important;
  cursor: pointer;
  transition: transform .25s;
  display: block;
}
.tz-hero-root .tz-banner:hover { transform: scale(1.02); }
.tz-hero-root .tz-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* fallback background if no image uploaded */
.tz-hero-root .tz-b1 { background: linear-gradient(135deg, #1a1f36 0%, var(--tz-pri-l) 100%); }
.tz-hero-root .tz-b2 { background: linear-gradient(135deg, #1c3545 0%, #272c4a 100%); }

/* ══ RESPONSIVE — TABLET ══ */
@media (max-width: 900px) {
  .tz-hero-root { --tz-pad: 24px; }
  .tz-hero-root .tz-hero-grid  { grid-template-columns: 1fr; }
  .tz-hero-root .tz-side-panel { flex-direction: row; height: 130px; }
  .tz-hero-root .tz-slider-outer { height: 340px; }
}

/* ══ RESPONSIVE — MOBILE ══ */
@media (max-width: 600px) {
  .tz-hero-root { --tz-pad: 16px; }
  .tz-hero-root .tz-hero-grid  { grid-template-columns: 1fr; gap: 10px; }
  .tz-hero-root .tz-slider-outer { height: 220px; border-radius: 12px; }
  .tz-hero-root .tz-arr { width: 30px !important; height: 30px !important; }
  .tz-hero-root .tz-arr svg { width: 12px !important; height: 12px !important; }
  .tz-hero-root .tz-side-panel { flex-direction: row; height: 100px; gap: 10px; }
  .tz-hero-root .tz-banner { border-radius: 12px; }
}
