.elementor-1104 .elementor-element.elementor-element-32689992{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:5em 5em;--row-gap:5em;--column-gap:5em;--overflow:hidden;--padding-top:7em;--padding-bottom:7em;--padding-left:1em;--padding-right:1em;}.elementor-1104 .elementor-element.elementor-element-16579b5c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1104 .elementor-element.elementor-element-5b402c29{text-align:center;}.elementor-1104 .elementor-element.elementor-element-5b402c29 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:27px;font-weight:700;color:#C8A24A;}.elementor-1104 .elementor-element.elementor-element-29ef6e3{text-align:center;}.elementor-1104 .elementor-element.elementor-element-29ef6e3 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:25px;font-weight:500;color:#111111;}@media(max-width:1024px) and (min-width:768px){.elementor-1104 .elementor-element.elementor-element-16579b5c{--width:100%;}}@media(max-width:1024px){.elementor-1104 .elementor-element.elementor-element-32689992{--flex-wrap:wrap;--padding-top:4em;--padding-bottom:4em;--padding-left:2em;--padding-right:2em;}.elementor-1104 .elementor-element.elementor-element-16579b5c{--padding-top:0em;--padding-bottom:3em;--padding-left:0em;--padding-right:0em;}.elementor-1104 .elementor-element.elementor-element-29ef6e3 .elementor-heading-title{font-size:20px;}}@media(max-width:767px){.elementor-1104 .elementor-element.elementor-element-32689992{--padding-top:2em;--padding-bottom:2em;--padding-left:1.5em;--padding-right:1.5em;}.elementor-1104 .elementor-element.elementor-element-16579b5c{--padding-top:0em;--padding-bottom:2em;--padding-left:0em;--padding-right:0em;}.elementor-1104 .elementor-element.elementor-element-5b402c29{padding:0em 0em 0em 0em;}.elementor-1104 .elementor-element.elementor-element-29ef6e3{padding:0em 0em 0em 0em;}.elementor-1104 .elementor-element.elementor-element-29ef6e3 .elementor-heading-title{font-size:18px;}}/* Start custom CSS for shortcode, class: .elementor-element-ffccbbb *//* ==========================================================
   AL HARAM MEDICAL COMPLEX — Elliptical Gallery
   All rules scoped under #ahmc-gallery / .ahmc-*
   ========================================================== */

#ahmc-gallery {
  --ahmc-text: #222222;
  --ahmc-text-2: #666666;
  --ahmc-cta: #2f7d6b;
  font-family: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  background: #ffffff;
  -webkit-tap-highlight-color: transparent;
}

#ahmc-gallery *,
#ahmc-gallery *::before,
#ahmc-gallery *::after { box-sizing: border-box; }

#ahmc-gallery .ahmc-stage {
  position: relative;
  width: 100%;
  height: clamp(380px, 58vw, 640px);
  overflow: hidden;
  cursor: default;
  touch-action: pan-y;
}

#ahmc-gallery .ahmc-ring {
  position: absolute;
  inset: 0;
  z-index: 1;
  transform-style: preserve-3d;
}

/* ---------------- thumbnails ---------------- */
#ahmc-gallery .ahmc-thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 74px;              /* set/overridden from JS */
  aspect-ratio: 2 / 3;
  margin: 0;
  padding: 0;
  border: 0;
  background: #fff;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 2px 10px rgba(20, 30, 40, 0.16);
  will-change: transform, opacity;
  transform-origin: 50% 50%;
  cursor: pointer;
  transition: box-shadow 220ms ease, filter 220ms ease;
  outline: none;
}

#ahmc-gallery .ahmc-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  color: transparent;
  font-size: 0;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

#ahmc-gallery .ahmc-thumb.is-active,
#ahmc-gallery .ahmc-thumb:focus-visible {
  box-shadow: 0 6px 22px rgba(20, 30, 40, 0.3);
  filter: saturate(1.05);
}

#ahmc-gallery .ahmc-thumb:focus-visible {
  outline: 2px solid var(--ahmc-cta);
  outline-offset: 2px;
}

/* ---------------- center preview ---------------- */
#ahmc-gallery .ahmc-preview {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -52%) scale(0.96);
  z-index: 4000;
  width: min(300px, 42vw);
  text-align: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 240ms ease, transform 260ms cubic-bezier(0.22, 1, 0.36, 1), visibility 240ms;
}

#ahmc-gallery .ahmc-preview.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}

#ahmc-gallery .ahmc-preview-frame {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f3f4f4;
  box-shadow: 0 18px 46px rgba(20, 30, 40, 0.18);
}

#ahmc-gallery .ahmc-preview-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-size: 0;
  color: transparent;
}

#ahmc-gallery .ahmc-preview-inner {
  padding: 10px 12px 8px;
  background: radial-gradient(ellipse at center, rgba(255,255,255,0.97) 55%, rgba(255,255,255,0) 100%);
}

#ahmc-gallery .ahmc-preview-title {
  margin: 14px 0 0;
  font-size: clamp(16px, 1.5vw, 22px);
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--ahmc-text);
}

#ahmc-gallery .ahmc-preview-sub {
  margin: 4px 0 0;
  font-size: clamp(10px, 0.9vw, 13px);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ahmc-text-2);
}

#ahmc-gallery .ahmc-preview-cta {
  margin-top: 10px;
  border: 0;
  background: none;
  font-family: inherit;
  font-size: clamp(9px, 0.8vw, 11px);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ahmc-cta);
  cursor: pointer;
  pointer-events: auto;
  padding: 4px 6px;
}

#ahmc-gallery .ahmc-preview.is-visible { pointer-events: none; }
#ahmc-gallery .ahmc-preview.is-visible .ahmc-preview-cta { pointer-events: auto; }

/* ---------------- lightbox ---------------- */
#ahmc-gallery .ahmc-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 240ms ease, visibility 240ms;
}

#ahmc-gallery .ahmc-lightbox.is-open { opacity: 1; visibility: visible; }

#ahmc-gallery .ahmc-lb-backdrop {
  position: absolute;
  inset: 0;
  background: #0b0d0e;
  opacity: 0.96;
}

#ahmc-gallery .ahmc-lb-figure {
  position: relative;
  margin: 0;
  padding: 24px 16px;
  max-width: min(1100px, 92vw);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

#ahmc-gallery .ahmc-lb-img {
  max-width: 100%;
  max-height: 72vh;
  width: auto;
  height: auto;
  object-fit: contain;
  font-size: 0;
  color: transparent;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6);
}

#ahmc-gallery .ahmc-lb-caption { text-align: center; }

#ahmc-gallery .ahmc-lb-title {
  margin: 0;
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 700;
  color: #ffffff;
}

#ahmc-gallery .ahmc-lb-sub {
  margin: 4px 0 0;
  font-size: clamp(11px, 1vw, 14px);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}

#ahmc-gallery .ahmc-lb-btn {
  position: absolute;
  z-index: 3;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-family: inherit;
  font-size: 20px;
  line-height: 1;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 180ms ease;
}

#ahmc-gallery .ahmc-lb-btn:hover { background: rgba(255, 255, 255, 0.16); }
#ahmc-gallery .ahmc-lb-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

#ahmc-gallery .ahmc-lb-close { top: 20px; right: 20px; font-size: 16px; }
#ahmc-gallery .ahmc-lb-prev { left: 20px; top: 50%; transform: translateY(-50%); }
#ahmc-gallery .ahmc-lb-next { right: 20px; top: 50%; transform: translateY(-50%); }

/* ---------------- responsive ---------------- */
@media (max-width: 1024px) {
  #ahmc-gallery .ahmc-stage { height: clamp(340px, 62vw, 520px); }
  #ahmc-gallery .ahmc-preview { width: min(260px, 52vw); }
}

@media (max-width: 640px) {
  #ahmc-gallery .ahmc-stage { height: 360px; }
  #ahmc-gallery .ahmc-preview { width: 62vw; }
  #ahmc-gallery .ahmc-lb-btn { width: 40px; height: 40px; font-size: 18px; }
  #ahmc-gallery .ahmc-lb-prev { left: 8px; }
  #ahmc-gallery .ahmc-lb-next { right: 8px; }
  #ahmc-gallery .ahmc-lb-close { top: 12px; right: 12px; }
  #ahmc-gallery .ahmc-lb-img { max-height: 62vh; }
}

@media (prefers-reduced-motion: reduce) {
  #ahmc-gallery .ahmc-preview,
  #ahmc-gallery .ahmc-lightbox { transition-duration: 1ms; }
}/* End custom CSS */