/* Ministers slider styles */
.eg-ministers { padding: 3.5rem 0; direction: rtl; }

/* Match Egyptian cabinet look: flag background, large left portrait, rounded bottom CV card */
.eg-ministers { position:relative; overflow:visible; padding-top:2.5rem; }

/* translucent flag background using pseudo element so content keeps full opacity */
.eg-ministers::before{ content:""; position:absolute; inset:0; z-index:1; background-image: url('../img/flag-last.png'); background-repeat:no-repeat; background-position: left center; background-size: auto 100%; opacity:.08; pointer-events:none; }

.eg-ministers .container{ position:relative; z-index:10; }

.eg-ministers .swiper-slide{ overflow:visible; }

/* portrait: small circular thumbnail 300x300 */
.eg-ministers .slide-link .hero-img{ flex:0 0 auto; max-width:none; margin-left:0; }
.rtl .eg-ministers .slide-link .hero-img{ margin-left:0; margin-right:0; }
.eg-ministers .slide-link .hero-img img{ object-fit:cover; display:block; box-shadow: 0 12px 30px rgba(0,0,0,0.10); }

/* hero body: horizontal layout, keep text on one line where possible */
.eg-ministers .slide-link .hero-body{ max-width:60%; margin-left:0; background: #fff; border-radius:1.6rem; padding:1.6rem 2rem; box-shadow:0 30px 60px rgba(8,24,40,0.08); transform: none; display:flex; flex-direction:column; align-items:flex-start; z-index:6; }
.rtl .eg-ministers .slide-link .hero-body{ align-items:flex-start; text-align:right; }
.eg-ministers .slide-link .hero-body h3{ color:#b71c34; font-size:2.2rem; font-weight:800; line-height:3.05; margin:0 0 .6rem 0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.eg-ministers .slide-link .hero-body p.lead{ font-size:1rem; color:#234; margin:0; }

/* rounded big CV card overlapping bottom */
.eg-ministers .cv-card{ background:#fff; border-radius:4rem 4rem 0 0; box-shadow:0 30px 80px rgba(8,24,40,0.10); padding:2.2rem 3rem; margin-top:2rem; }
.eg-ministers .cv-card p{ color:#123049; font-size:1.02rem; line-height:1.9; }

/* pagination dots center */
.eg-ministers .swiper-pagination{ bottom: 2.2rem; text-align:center; }

/* make arrows semi-transparent and vertically centered */
.eg-ministers .swiper-button-prev, .eg-ministers .swiper-button-next{ top:45%; transform:translateY(-50%); }

/* ensure select search icon aligns left in RTL */
.rtl .eg-minister-select select{ background-position: left 1rem center; padding-left:3.2rem; }

@media (max-width:1199.98px){
  .eg-ministers .slide-link .hero-body h3{ font-size:2.2rem; text-align:right; }
  .eg-ministers .slide-link .hero-body{ transform:translateY(3.2rem); padding:1.6rem; border-radius:1.4rem; }
  .eg-ministers .cv-card{ border-radius:1.2rem 1.2rem 0 0; padding:1rem; }
}

@media (max-width:767.98px){
  .eg-ministers { background-image:none; }
  .eg-ministers .slide-link{ flex-direction:column-reverse; }
  .eg-ministers .slide-link .hero-img{ margin:0; width:100%; max-width:100%; }
  .eg-ministers .slide-link .hero-img img{ height:360px; width:100%; object-fit:cover; }
  .eg-ministers .slide-link .hero-body{ max-width:100%; transform:none; padding:1rem; border-radius:1rem; }
  .eg-ministers .cv-card{ margin-top:1rem; }
}
.eg-ministers .container { position: relative; }
.eg-ministers .eg-minister-select { position: sticky; top: 1rem; right: 1rem; left: auto; z-index: 30; }
.eg-ministers .eg-minister-select select { min-width: 220px; padding: .5rem 1rem; border-radius: .5rem; border:1px solid rgba(0,0,0,0.08); }

.eg-ministers-slider { position: relative; overflow: visible; border-radius: 1rem; background: transparent; }
/* Fallback: show only the active slide when JS/Swiper is not running */
.eg-ministers-slider .slide{ display:none; padding: 4rem 2rem; align-items: center; gap: 2rem; }
.eg-ministers-slider .slide.active{ display:flex; animation: eg-fade 700ms ease; }
/* When Swiper is initialized, allow all slides to display and be positioned by Swiper */
.eg-ministers-slider.swiper-initialized .swiper-slide{ display:flex; padding: 4rem 2rem; align-items:center; gap:2rem; }

@keyframes eg-fade { from { opacity: 0; transform: translateY(8px); } to { opacity:1; transform: translateY(0);} }

.eg-ministers .slide .hero-img, .eg-ministers .swiper-slide .hero-img { flex: 0 0 48%; max-width:48%; border-radius: .75rem; overflow:hidden; }
.eg-ministers .slide .hero-img img, .eg-ministers .swiper-slide .hero-img img { width:100%; height:100%; object-fit:cover; display:block; }

.eg-ministers .slide .hero-body, .eg-ministers .swiper-slide .hero-body { flex:1 1 52%; padding: 1rem 2rem; }
.eg-ministers .slide h3 { color: var(--eg-primary,#b71c34); font-size:2rem; margin-bottom: .5rem; font-weight:700; }
.eg-ministers .slide p.lead { color: #333; font-size:1.05rem; line-height:1.6; }

.eg-ministers .eg-dots { text-align:center; margin-top:1.25rem; }
.eg-ministers .eg-dots button { width:12px; height:12px; border-radius:50%; background:#d9d9d9; border:none; margin:0 .4rem; display:inline-block; transition:all .2s ease; }
.eg-ministers .eg-dots button.active { background: var(--eg-primary,#b71c34); transform:scale(1.15); }

/* Swiper specific tweaks */
.eg-ministers-slider.swiper { padding: 1rem 0; overflow:hidden; }
/* Minimal Swiper CSS shim in case CDN CSS fails: keep slides horizontal */
.eg-ministers-slider.swiper .swiper-wrapper{ display:flex; flex-wrap:nowrap; align-items:stretch; }
.eg-ministers-slider.swiper .swiper-slide { flex:0 0 100%; width: 100% !important; max-width: none; box-sizing: border-box; }
.eg-ministers-slider.swiper .swiper-button-next, .eg-ministers-slider.swiper .swiper-button-prev { color: rgba(0,0,0,0.45); }
.eg-ministers-slider.swiper .swiper-pagination-bullet { width:12px; height:12px; opacity:1; background:#d9d9d9; }
.eg-ministers-slider.swiper .swiper-pagination-bullet-active { background: var(--eg-primary,#b71c34); transform:scale(1.15); }

/* ensure hero image sits above coverflow shading and is clickable */
.eg-ministers-slider .swiper-slide { position: relative; }
.eg-ministers-slider .swiper-slide .hero-img { position: relative; z-index: 4; }
.eg-ministers-slider .swiper-slide .hero-img-link { display: block; text-decoration: none; }
.eg-ministers-slider .swiper-slide .hero-body { position: relative; z-index: 3; }
.eg-ministers-slider .swiper-slide .hero-img img { box-shadow: 0 10px 30px rgba(0,0,0,0.08); border-radius: .75rem; }

/* Make whole slide clickable and preserve layout */
.eg-ministers-slider .slide-link { text-decoration: none; color: inherit; display: flex; gap: 2rem; align-items: center; }
.eg-ministers-slider .slide-link .hero-img { flex: 0 0 48%; max-width:48%; }
.eg-ministers-slider .slide-link .hero-body { flex:1 1 52%; }

/* Layout: title/excerpt on the right (RTL), image on the left overlapping behind the bio card */
.eg-ministers .slide-link { position: relative; }
.rtl .eg-ministers .slide-link, .lang-ar .eg-ministers .slide-link { flex-direction: row; }
.eg-ministers .slide-link .hero-body { background: var(--eg-card-bg, #fff); border-radius: 1.25rem; padding: 2rem; box-shadow: 0 18px 40px rgba(15,40,60,0.06); position: relative; z-index: 6; }
.eg-ministers .slide-link .hero-body h3 { margin: 0 0 .75rem 0; font-size: 2rem; font-weight:700; }
.eg-ministers .slide-link .hero-body p.lead { margin-bottom: 0.75rem; color: #234; }

/* Make image sit visually behind the hero-body */
.eg-ministers .slide-link .hero-img { position: relative; z-index: 4; }
.eg-ministers .slide-link .hero-img img { display:block; border-radius: .75rem; box-shadow: 0 12px 30px rgba(0,0,0,0.08); }
.rtl .eg-ministers .slide-link .hero-img { margin-left: 0; margin-right: -6rem; transform: translateZ(0); }
.eg-ministers .slide-link .hero-img { margin-left: -6rem; }

/* For smaller screens stack with image above */
@media (max-width: 767.98px){
  .eg-ministers .slide-link, .eg-ministers .slide-link { flex-direction: column; }
  .eg-ministers .slide-link .hero-img { margin: 0 0 1rem 0; width:100%; max-width:100%; }
  .eg-ministers .slide-link .hero-body { padding: 1rem; }
}

/* Table page styling for eg_table shortcode / page template */
.eg-table-page .table thead th { background: var(--eg-primary,#b71c34); color: #fff; border-color: rgba(0,0,0,0.06); }
.eg-table-page .table-striped tbody tr:nth-of-type(odd) { background-color: rgba(0,0,0,0.02); }
.eg-table-page .eg-table-wrapper { border-radius: .5rem; overflow: hidden; box-shadow: 0 6px 20px rgba(0,0,0,0.04); }
.eg-table-page .table td, .eg-table-page .table th { vertical-align: middle; }
.eg-table-page .table tbody tr:hover { background-color: rgba(0,0,0,0.04); }

/* small screens: image above text */
@media (max-width: 767.98px){
  .eg-ministers .slide { flex-direction: column; padding: 2rem 1rem; }
  .eg-ministers .slide .hero-img { width:100%; max-width:100%; margin-bottom:1rem; }
  .eg-ministers .eg-minister-select { position: static; margin-bottom:1rem; }
}

/* make dots keyboard-focus visible */
.eg-ministers .eg-dots button:focus{ outline:3px solid rgba(0,0,0,0.08); }

/* A small card-like excerpt under the slide */
.eg-ministers .slide .cv-card { background: #fff; border-radius: 1.25rem; padding:1rem 1.5rem; box-shadow: 0 6px 24px rgba(0,0,0,0.06); margin-top:1.5rem; }
.eg-ministers .slide .cv-card p { margin:0; color:#405662; }

/* Ensure RTL for titles */
.lang-ar .eg-ministers, .rtl .eg-ministers { text-align: right; }

/* ===== Overrides: refined elegant layout (bigger image, overlapping rounded bio card) ===== */
.eg-ministers .slide-link { position: relative; align-items: stretch; }
/* Make portrait a bit smaller and text area wider */
.eg-ministers .slide-link .hero-img { width:45%; max-width:45%; flex:0 0 45%; margin-left: -8rem; transition:transform .45s ease; }
.rtl .eg-ministers .slide-link .hero-img { margin-left: -8rem; margin-right: 0; }
.eg-ministers .slide-link .hero-img img { border-radius: .9rem; box-shadow: 0 26px 70px rgba(6,24,45,0.14); width:100%; height:auto; object-fit:cover; }
.eg-ministers .slide-link .hero-body { background: var(--eg-card-bg,#fff); z-index:6; position:relative; transform: translateY(6.5rem); padding:3.2rem 3.2rem 3.6rem 3.2rem; box-shadow: 0 48px 100px rgba(8,24,40,0.10); border-radius:2.6rem; max-width:52%; margin-left:auto; }
/* Allow long Arabic names to wrap normally */
.eg-ministers .slide-link .hero-body h3 { font-size:3.2rem; line-height:1.2; margin:0 0 1rem 0; font-weight:800; color:var(--eg-primary,#b71c34); white-space: normal; }
.eg-ministers .slide-link .hero-body p.lead { font-size:1.06rem; color:#234; margin-bottom:.9rem; }

/* large rounded inner corner facing image for elegance */
.rtl .eg-ministers .slide-link .hero-body { border-top-left-radius: 0.9rem; border-bottom-left-radius: 0.9rem; border-top-right-radius: 84px; border-bottom-right-radius: 84px; }
.eg-ministers .slide-link .hero-body { border-top-left-radius: 84px; border-bottom-left-radius: 84px; }

/* subtle move on active center slide to emphasize */
.eg-ministers-slider .swiper-slide-active .hero-img { transform: scale(1.02); }

/* responsive adjustments */
@media (max-width: 991.98px){
  .eg-ministers .slide-link { flex-direction: column; gap:1rem; }
  .eg-ministers .slide-link .hero-img { margin:0; width:100%; max-width:100%; flex:0 0 auto; }
  .eg-ministers .slide-link .hero-body { transform:none; padding:1.1rem 1.25rem; border-radius:1rem; }
  .eg-ministers .slide-link .hero-body h3 { font-size:1.6rem; }
}
@media (max-width: 575.98px){
  .eg-ministers .slide-link .hero-body { padding:.8rem 1rem; }
  .eg-ministers .slide-link .hero-body h3 { font-size:1.25rem; }
}

/* ===== Dropdown and arrows styling ===== */
.eg-minister-select select{ min-width:320px; max-width:520px; width:34vw; padding: .65rem 1rem .65rem 3rem; border-radius: .6rem; border:1px solid rgba(6,24,45,0.10); background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position: left 0.9rem center; background-size: 1.2rem; appearance:none; -webkit-appearance:none; -moz-appearance:none; }
.eg-minister-select select:focus{ outline: none; box-shadow: 0 10px 30px rgba(6,24,45,0.08); border-color: rgba(183,28,52,0.14); }
.eg-minister-select{ position:relative; }

/* Swiper arrows visual */
.eg-ministers .swiper-button-prev, .eg-ministers .swiper-button-next{ width:56px; height:56px; background: rgba(10,40,80,0.06); border-radius:12px; display:flex; align-items:center; justify-content:center; color:#4a6fb3; box-shadow: 0 12px 26px rgba(8,24,40,0.06); }
.eg-ministers .swiper-button-prev::after, .eg-ministers .swiper-button-next::after{ font-size:20px; }
.eg-ministers .swiper-button-prev{ left: 1rem; }
.eg-ministers .swiper-button-next{ right: 1rem; }

/* ensure the slide-link covers the slide fully and is clickable */
.eg-ministers .slide-link{ display:flex; width:100%; color:inherit; text-decoration:none; align-items:center; }
.eg-ministers .slide-link *{ pointer-events: none; }
.eg-ministers .slide-link{ cursor: pointer; }
.eg-ministers .slide-link a{ pointer-events: auto; }

/* ensure hero image sits above background but below the card shadow */
.eg-ministers .hero-img{ z-index:5; }

/* make slide area taller and center content vertically */
.eg-ministers .swiper-slide{ min-height:520px; display:flex; align-items:center; }

/* ===== Removed absolute-stack fallback to avoid slide stacking ===== */
/* Keep simple visibility: only the active slide displays; others hidden by default */
/* Height handled by desktop min-height rule below */

/* Force hero-img sizing to fixed 400x400 and place title on left */
@media (min-width: 992px){
  .eg-ministers .slide-link{ display:flex !important; flex-direction: row-reverse !important; align-items:center !important; gap:2rem !important; }
  .eg-ministers .slide-link .hero-img{ flex:0 0 400px !important; width:400px !important; height:400px !important; max-width:400px !important; margin:0 !important; }
  .eg-ministers .slide-link .hero-img img, .eg-ministers-slider .swiper-slide .hero-img img{ width:400px !important; height:400px !important; object-fit:cover !important; border-radius:.9rem !important; display:block !important; }
  .eg-ministers .slide-link .hero-body{ flex:1 1 auto !important; max-width: calc(100% - 420px) !important; padding:2rem !important; }
  .eg-ministers .slide-link .hero-body h3{ font-size:2.4rem !important; line-height:1.05 !important; }
}

/* RTL tweaks: ensure icon on left and text aligned right */
.rtl .eg-minister-select select{ background-position: left 0.9rem center; padding-left:3rem; padding-right:1rem; }
.rtl .eg-ministers .slide-link .hero-body{ text-align:right; }
.eg-ministers .slide-link .hero-body{ text-align:left; }

/* desktop refinements */
@media (min-width:1200px){
  /* desktop refinements: image sizing handled by final strict rules */
  .eg-ministers .slide-link .hero-body{ transform: translateY(7rem); padding:3.8rem 4rem 4rem 4rem; }
}

@media (max-width:991.98px){
  .eg-minister-select select{ width:100%; max-width:100%; }
}

/* Removed legacy/overlapping image sizing rules. Final strict 400x400 desktop rules are at the end of this file. */

/* Defensive rule: undo any circular-portrait styles that could still apply */
.eg-ministers .slide-link .hero-img img{ border-radius:.9rem !important; height:auto !important; }

/* ===== Final strict desktop layout: 400x400 image (right), title on left ===== */
@media (min-width: 992px){
  .eg-ministers { overflow: visible; }
  /* On desktop, stack slides absolutely so only the active slide is visible */
  .eg-ministers-slider, .eg-ministers .swiper-slide, .eg-ministers .slide { position: relative !important; }
  .eg-ministers-slider .swiper-wrapper{ position: relative !important; }
  .eg-ministers-slider .swiper-slide, .eg-ministers-slider .slide { position: absolute !important; top: 0; left: 0; width: 100% !important; height: auto !important; opacity: 0; pointer-events: none; transition: opacity .6s ease !important; }
  .eg-ministers-slider .slide.active, .eg-ministers-slider .swiper-slide.active{ opacity: 1 !important; pointer-events: auto !important; position: relative !important; }

  /* Ensure slide-link is a simple two-column flex row with title left, image right */
  .eg-ministers .slide-link{ display:flex !important; flex-direction: row-reverse !important; align-items:flex-start !important; gap:2rem !important; padding: 2.5rem 0 !important; }

  /* Fixed image box */
  .eg-ministers .slide-link .hero-img{ flex:0 0 400px !important; width:400px !important; height:400px !important; max-width:400px !important; margin:0 !important; position:relative !important; z-index:5 !important; }
  .eg-ministers .slide-link .hero-img img{ width:400px !important; height:400px !important; object-fit:cover !important; object-position:center center !important; border-radius:.9rem !important; box-shadow:0 12px 30px rgba(0,0,0,0.08) !important; display:block !important; }

  /* Title/body area on the left, vertically centered and without translateY */
  .eg-ministers .slide-link .hero-body{ flex:1 1 auto !important; max-width: calc(100% - 420px) !important; width:auto !important; transform:none !important; padding:3.2rem !important; margin:0 !important; background: #fff !important; border-radius:1.6rem !important; box-shadow:0 30px 60px rgba(8,24,40,0.08) !important; }
  .eg-ministers .slide-link .hero-body h3{ font-size:2.3rem !important; line-height:3.15 !important; color: var(--eg-primary,#0a8a3e) !important; margin:0 0 .5rem 0 !important; text-align:right !important; }
  .eg-ministers .slide-link .hero-body p.lead{ color:#234 !important; font-size:1.06rem !important; line-height:1.8 !important; margin:0 !important; display:-webkit-box !important; -webkit-line-clamp:2 !important; -webkit-box-orient:vertical !important; overflow:hidden !important; }

  /* Remove any negative image offsets from earlier rules */
  .eg-ministers .slide-link .hero-img, .eg-ministers .slide-link .hero-img img{ margin-left:0 !important; margin-right:0 !important; transform:none !important; }

  /* Keep arrows vertically centered relative to the slide container */
  .eg-ministers .swiper-button-prev, .eg-ministers .swiper-button-next{ top:50% !important; transform: translateY(-50%) !important; }

  /* Ensure fallback stacking doesn't hide the active slide area height */
  .eg-ministers-slider{ min-height: 520px !important; }
}

/* Desktop: ensure slide container aligns content to top */
@media (min-width: 992px){
  .eg-ministers .swiper-slide{ align-items:flex-start !important; }
}

/* Strong override: ensure only the active slide is visible on desktop (avoid stacking) */
@media (min-width: 992px){
  .eg-ministers-slider .slide, .eg-ministers-slider .swiper-slide { display:none !important; opacity:0 !important; pointer-events:none !important; }
  .eg-ministers-slider .slide.active, .eg-ministers-slider .swiper-slide.active { display:flex !important; opacity:1 !important; pointer-events:auto !important; }
}

/* Hide prev/next arrows for ministers (we use only dots) */
.eg-ministers .swiper-button-prev, .eg-ministers .swiper-button-next { display: none !important; }

/* Desktop alignment handled above; keep only active slide visible via strong override */

/* ===== Ministers taxonomy grid (cards) ===== */
.eg-minister-archive { direction: rtl; }
.eg-minister-grid { display: grid; grid-template-columns: repeat(1, 1fr); gap: 1.25rem; }
@media (min-width: 576px){ .eg-minister-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px){ .eg-minister-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1200px){ .eg-minister-grid { grid-template-columns: repeat(4, 1fr); } }

.eg-minister-card { border-radius: .9rem; overflow: hidden; background: #fff; box-shadow: 0 12px 30px rgba(6,24,45,0.08); }
.eg-minister-card .eg-card-link { display:block; text-decoration:none; color:inherit; }
.eg-minister-card .eg-thumb { width:100%; aspect-ratio: 4 / 5; background:#f2f3f5; overflow:hidden; }
.eg-minister-card .eg-thumb img { width:100%; height:100%; object-fit: cover; display:block; }
.eg-minister-card .eg-info { background: var(--eg-minister-bar-bg, #0b2b4b); color: var(--eg-minister-bar-fg, #fff); padding: 1.1rem 1.25rem; min-height: 110px; display:flex; align-items:center; justify-content:flex-start; }
.eg-minister-card .eg-name { font-size: 1.05rem; font-weight: 700; margin: 0; line-height: 1.6; }
/* Ensure links inside the info bar stay light even on archives */
.eg-minister-card .eg-info a, .eg-minister-card .eg-name a { color: var(--eg-minister-bar-fg, #ffffff) !important; text-decoration: none; }

/* Hover: small lift and glow */
.eg-minister-card:hover { transform: translateY(-2px); box-shadow: 0 18px 44px rgba(6,24,45,0.12); transition: transform .2s ease, box-shadow .2s ease; }
/* Hover: lighten the text color in the info bar */
.eg-minister-card:hover .eg-info { color: var(--eg-minister-bar-hover-fg, #ffffff) !important; }
.eg-minister-card:hover .eg-info a, .eg-minister-card:hover .eg-name a { color: var(--eg-minister-bar-hover-fg, #ffffff) !important; }

/* Overlay with social icons on hover */
.eg-minister-card .eg-thumb{ position: relative; }
.eg-minister-card .eg-overlay{ position:absolute; inset:0; background: rgba(183,28,52,0.78); display:flex; align-items:center; justify-content:center; gap:.5rem; opacity:0; transition: opacity .18s ease-in-out; }
.eg-minister-card:hover .eg-overlay{ opacity:1; }
.eg-minister-card .eg-social{ width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; background: rgba(255,255,255,0.16); border:1px solid rgba(255,255,255,0.35); box-shadow: 0 6px 20px rgba(0,0,0,0.15); text-decoration:none; }
.eg-minister-card .eg-social i{ font-size:1.15rem; line-height:1; }
.eg-minister-card .eg-social:hover{ background:#fff; color: var(--eg-primary,#b71c34); }
