.elementor-3120 .elementor-element.elementor-element-c36e6ac{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3120 .elementor-element.elementor-element-a11e632{width:100%;max-width:100%;}.elementor-3120 .elementor-element.elementor-element-996d63c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3120 .elementor-element.elementor-element-f65baca{--display:flex;--flex-direction:row-reverse;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3120 .elementor-element.elementor-element-f65baca:not(.elementor-motion-effects-element-type-background), .elementor-3120 .elementor-element.elementor-element-f65baca > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7FEFF;}.elementor-3120 .elementor-element.elementor-element-844c0b4{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3120 .elementor-element.elementor-element-3eb93cc{width:100%;max-width:100%;}.elementor-3120 .elementor-element.elementor-element-e1ee8db{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3120 .elementor-element.elementor-element-d8d9e30{width:100%;max-width:100%;}/* Start custom CSS for html, class: .elementor-element-c1f31b3 *//*
  ELWAHIDI CLINIC — ELEMENTOR PRO CUSTOM CSS
  CONTACT HERO — ARABIC VERSION

  ضع هذا الكود كاملًا داخل:
  Advanced → Custom CSS
*/

.elementor-3120 .elementor-element.elementor-element-c1f31b3 {
  --elwc-primary: #1892C2;
  --elwc-accent: #F59327;
  --elwc-neutral: #969696;
  --elwc-black: #000000;
  --elwc-soft-blue: #68B7EE;
  --elwc-white: #FFFFFF;
  --elwc-border: rgb(150 150 150 / 0.34);
  --elwc-muted: rgb(0 0 0 / 0.64);
  --elwc-shadow: rgb(0 0 0 / 0.11);
  --elwc-blue-wash: radial-gradient(
    circle at 50% 0%,
    rgb(104 183 238 / 0.15) 0%,
    transparent 60%
  );
  --elwc-shell-width: 960px;
  --elwc-page-gutter: clamp(1rem, 4vw, 4rem);

  width: 100%;
  margin: 0;
  padding: 0;
  color: var(--elwc-black);
  background: var(--elwc-white);
  direction: inherit;
  text-align: center;
  isolation: isolate;
  font-family: "Tajawal", "Cairo", Arial, sans-serif;
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3,
.elementor-3120 .elementor-element.elementor-element-c1f31b3 *,
.elementor-3120 .elementor-element.elementor-element-c1f31b3 *::before,
.elementor-3120 .elementor-element.elementor-element-c1f31b3 *::after {
  box-sizing: border-box;
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 a {
  color: inherit;
  text-decoration: none;
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 a:focus-visible,
.elementor-3120 .elementor-element.elementor-element-c1f31b3 button:focus-visible {
  outline: 3px solid var(--elwc-accent);
  outline-offset: 4px;
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-shell {
  width: 100%;
  max-width: var(--elwc-shell-width);
  margin-inline: auto;
  padding-inline: var(--elwc-page-gutter);
}

/* =========================================================
   HERO
   ========================================================= */

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero {
  position: relative;
  width: 100%;
  padding-block: clamp(6rem, 12vw, 10rem);
  overflow: hidden;
  background: var(--elwc-white);
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: var(--elwc-blue-wash);
  content: "";
  pointer-events: none;
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero__shell {
  position: relative;
  z-index: 1;
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero__header {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
}

/* =========================================================
   BRAND LINE
   ========================================================= */

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elwahidi-brand-line {
  display: inline-flex !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  align-items: center !important;
  gap: 13px !important;
  margin-block-end: clamp(1.5rem, 3vw, 2rem) !important;
  overflow: visible !important;
  color: #2C5C82 !important;
  direction: inherit !important;
  font-family: "Tajawal", "Cairo", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  opacity: 0;
  animation:
    elwc-fade-up 0.8s cubic-bezier(0.22, 1, 0.36, 1)
    0.1s forwards !important;
}

/* =========================================================
   LIVE PULSING MARK
   ========================================================= */

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elwahidi-brand-mark {
  position: relative !important;
  display: flex !important;
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1.5px solid rgba(90, 145, 190, 0.65) !important;
  border-radius: 50% !important;
  background: rgba(90, 145, 190, 0.06) !important;
  animation: elwc-pulse-shadow 2.5s infinite ease-out !important;
}

@keyframes elwc-pulse-shadow {
  0% {
    box-shadow: 0 0 0 0 rgba(24, 146, 194, 0.25);
  }

  70% {
    box-shadow: 0 0 0 10px rgba(24, 146, 194, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(24, 146, 194, 0);
  }
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elwahidi-brand-mark::before {
  content: none !important;
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elwahidi-brand-mark span {
  position: static !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #DC9643 !important;
  box-shadow: 0 0 9px rgba(220, 150, 67, 0.65) !important;
  animation: elwc-pulse-dot 2.5s infinite ease-in-out !important;
}

@keyframes elwc-pulse-dot {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: 0.8;
    transform: scale(1.4);
  }
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elwahidi-brand-text {
  display: inline-block !important;
  color: #2C5C82 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elwahidi-brand-divider {
  display: block !important;
  width: 26px !important;
  min-width: 26px !important;
  height: 1px !important;
  margin-inline: 2px !important;
  background: linear-gradient(
    90deg,
    rgba(90, 145, 190, 0.7),
    rgba(90, 145, 190, 0.1)
  ) !important;
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elwahidi-brand-divider:dir(rtl) {
  background: linear-gradient(
    270deg,
    rgba(90, 145, 190, 0.7),
    rgba(90, 145, 190, 0.1)
  ) !important;
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elwahidi-brand-location {
  display: inline-block !important;
  color: #7A7A7A !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

/* =========================================================
   TITLE
   ========================================================= */

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero__title {
  margin: 0;
  color: var(--elwc-black);
  font-size: clamp(3rem, 6vw, 5.3rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0;
  text-wrap: balance;
  opacity: 0;
  animation:
    elwc-fade-up 0.8s cubic-bezier(0.22, 1, 0.36, 1)
    0.25s forwards !important;
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero__title span {
  position: relative;
  z-index: 0;
  display: inline-block;
  width: fit-content;
  margin-block-start: 0.4rem;
  color: var(--elwc-black);
  font-size: 0.6em;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: 0;
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero__title span::after {
  position: absolute;
  z-index: -1;
  inset-inline: -2%;
  bottom: 0.05em;
  height: 0.2em;
  background: var(--elwc-soft-blue);
  content: "";
  transform: scaleX(0);
  transform-origin: center;
  animation:
    elwc-line-draw 0.7s cubic-bezier(0.22, 1, 0.36, 1)
    0.75s forwards !important;
}

/* =========================================================
   INTRODUCTION
   ========================================================= */

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero__intro {
  max-width: 42rem;
  margin-block: clamp(1.75rem, 3.5vw, 2.5rem) 0;
  margin-inline: 0;
  color: var(--elwc-muted);
  font-size: clamp(1rem, 1.35vw, 1.15rem);
  line-height: 1.9;
  letter-spacing: 0;
  text-wrap: balance;
  opacity: 0;
  animation:
    elwc-fade-up 0.8s cubic-bezier(0.22, 1, 0.36, 1)
    0.4s forwards !important;
}

/* =========================================================
   BUTTON & TRUST WRAPPER SPACING
   ========================================================= */

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-button {
  display: inline-flex;
  min-height: 60px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-block-start: clamp(2.5rem, 5vw, 3.5rem);
  padding-block: 16px;
  padding-inline: 36px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-family: inherit;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  opacity: 0;
  transition:
    transform 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease;
  animation:
    elwc-fade-up 0.8s cubic-bezier(0.22, 1, 0.36, 1)
    0.55s forwards !important;
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-button svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  transition: stroke 180ms ease;
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-button--primary {
  border-color: #1993C3;
  background: #1993C3;
  color: var(--elwc-white);
  box-shadow: 0 10px 24px rgb(25 147 195 / 0.28);
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-button--primary:hover {
  border-color: #969696;
  background: #969696;
  color: var(--elwc-white);
  transform: translateY(-2px);
}

/* =========================================================
   TRUST LINE
   ========================================================= */

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero__trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-block-start: 1.5rem;
  margin-inline: 0;
  color: var(--elwc-muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  opacity: 0;
  animation:
    elwc-fade-up 0.8s cubic-bezier(0.22, 1, 0.36, 1)
    0.7s forwards !important;
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-trust-item svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  color: var(--elwc-primary);
}

.elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-trust-sep {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--elwc-border);
}

/* =========================================================
   KEYFRAMES
   ========================================================= */

@keyframes elwc-fade-up {
  from {
    opacity: 0;
    transform: translate3d(0, 1.5rem, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes elwc-line-draw {
  from {
    transform: scaleX(0);
  }

  to {
    transform: scaleX(1);
  }
}

/* =========================================================
   TABLET AND MOBILE
   ========================================================= */

@media (max-width: 767px) {
  .elementor-3120 .elementor-element.elementor-element-c1f31b3 {
    --elwc-page-gutter: 1rem;
  }

  .elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero {
    padding-block: 4rem 5rem;
  }

  .elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero__title {
    font-size: clamp(2.5rem, 12vw, 3.7rem);
    line-height: 1.2;
    letter-spacing: 0;
  }

  .elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero__title span {
    margin-block-start: 0.7rem;
    font-size: 0.55em;
    line-height: 1.45;
  }

  .elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-button {
    width: 100%;
    max-width: 380px;
  }

  .elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero__trust {
    font-size: 12px;
  }
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {
  .elementor-3120 .elementor-element.elementor-element-c1f31b3 .elwahidi-brand-line {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 11px !important;
    letter-spacing: 0 !important;
  }

  .elementor-3120 .elementor-element.elementor-element-c1f31b3 .elwahidi-brand-text {
    font-size: 11px !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
  }

  .elementor-3120 .elementor-element.elementor-element-c1f31b3 .elwahidi-brand-location {
    font-size: 10px !important;
    letter-spacing: 0 !important;
  }

  .elementor-3120 .elementor-element.elementor-element-c1f31b3 .elwahidi-brand-divider {
    width: 16px !important;
    min-width: 16px !important;
  }
}

/* =========================================================
   ACCESSIBILITY
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .elementor-3120 .elementor-element.elementor-element-c1f31b3 *,
  .elementor-3120 .elementor-element.elementor-element-c1f31b3 *::before,
  .elementor-3120 .elementor-element.elementor-element-c1f31b3 *::after {
    animation: none !important;
    scroll-behavior: auto;
    transition-duration: 0.01ms;
  }

  .elementor-3120 .elementor-element.elementor-element-c1f31b3 .elwahidi-brand-line,
  .elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero__title,
  .elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero__intro,
  .elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-button,
  .elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero__trust,
  .elementor-3120 .elementor-element.elementor-element-c1f31b3 .elw-con-hero__title span::after {
    opacity: 1 !important;
    transform: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a11e632 *//* ================================================================
   عيادة الدكتور أحمد الوحيدي — قسم التواصل
   الجزء 2 من 2: يُلصق في Elementor > Advanced > Custom CSS.
   جميع القواعد محصورة داخل .elw-contact-shell ولا تؤثر في بقية الصفحة.
   ================================================================ */

.elw-contact-shell {
  /* decorative hues — marks, rings, rules, accent tabs. UNCHANGED. */
  --elw-primary: #1892c2;
  --elw-soft-blue: #68b7ee;
  --elw-accent: #f59327;
  --elw-white: #ffffff;
  --elw-ink: #0e2032;
  --elw-muted: #4a5866;
  --elw-border: rgb(14 32 50 / 0.14);

  /* text-safe versions of the same three hues, used ONLY where the colour
     becomes type. The decorative vars above keep their original brightness,
     so every mark, ring and tab looks exactly as before. */
  --elw-primary-ink: #0a6485;
  --elw-soft-ink: #2a6f9c;
  --elw-accent-ink: #8a4604;

  /* the big headings only need 3:1, so they can stay brighter */
  --elw-primary-title: #0f7fa8;
  --elw-soft-title: #2f83bb;
  --elw-accent-title: #b96606;

  width: 100%;
  padding: clamp(12px, 3vw, 56px);
  color: var(--elw-ink);
  direction: inherit;
  text-align: start;
  font-family: "Tajawal", "Cairo", Arial, sans-serif;
}

.elw-contact-shell *,
.elw-contact-shell *::before,
.elw-contact-shell *::after {
  box-sizing: border-box;
}

/* ---------------- STAGE ---------------- */

.elw-contact-section {
  position: relative;
  isolation: isolate;
  width: min(100%, 1240px);
  min-height: 660px;
  margin: 0 auto;
  overflow: hidden;
  overflow: clip;
  border-radius: clamp(26px, 4vw, 52px);
  direction: inherit;
  text-align: start;
  background: linear-gradient(150deg, #eef6fa 0%, #e2eef6 46%, #d6e7f2 100%);
}

/* colour blooms — this is what the frosted cards refract */
.elw-contact-section__ambient {
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 46% 52% at 14% 22%, rgb(104 183 238 / 0.42), transparent 68%),
    radial-gradient(ellipse 40% 46% at 82% 30%, rgb(24 146 194 / 0.3), transparent 66%),
    radial-gradient(ellipse 38% 40% at 62% 92%, rgb(24 146 194 / 0.22), transparent 70%),
    radial-gradient(ellipse 24% 30% at 94% 84%, rgb(245 147 39 / 0.16), transparent 68%),
    radial-gradient(ellipse 30% 34% at 36% 68%, rgb(255 255 255 / 0.6), transparent 70%);
}

/* faint clinical rule grid */
.elw-contact-section__grid-lines {
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  opacity: 0.5;
  background-image:
    linear-gradient(to right, rgb(14 32 50 / 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(14 32 50 / 0.05) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 45%, #000, transparent 78%);
  mask-image: radial-gradient(ellipse 70% 70% at 50% 45%, #000, transparent 78%);
}

/* ---------------- ENTRANCE MOTION ---------------- */

/* A restrained section reveal, followed by a soft grid fade and staggered
   cards. Motion stays paused until IntersectionObserver adds .elw-is-visible. */
.elw-contact-section {
  animation: elw-section-enter 720ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.elw-contact-section__ambient {
  animation: elw-ambient-enter 1100ms 80ms ease-out both;
}

.elw-contact-section__grid-lines {
  transform-origin: 50% 45%;
  animation: elw-grid-enter 1000ms 160ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.elw-contact-card {
  animation: elw-card-enter 760ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.elw-contact-card--phone { animation-delay: 180ms; }
.elw-contact-card--location { animation-delay: 300ms; }
.elw-contact-card--hours { animation-delay: 420ms; }

/* The inner copy plates stay hidden while the main cards enter, then animate
   as a separate second beat after all three main-card reveals are complete. */
.elw-contact-card--phone .elw-contact-card__copy-plate {
  animation: elw-copy-from-left 660ms 1280ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.elw-contact-card--location .elw-contact-card__copy-plate {
  animation: elw-copy-fade-up 660ms 1280ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.elw-contact-card--hours .elw-contact-card__copy-plate {
  animation: elw-copy-from-right 660ms 1280ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* اعكس نقطة انطلاق لوحات النص عند استخدام الصفحة العربية. */
.elw-contact-section:dir(rtl) .elw-contact-card--phone .elw-contact-card__copy-plate {
  animation-name: elw-copy-from-right;
}

.elw-contact-section:dir(rtl) .elw-contact-card--hours .elw-contact-card__copy-plate {
  animation-name: elw-copy-from-left;
}

/* Hold every animation on its first frame while the section is off-screen. */
.elw-contact-section,
.elw-contact-section .elw-contact-section__ambient,
.elw-contact-section .elw-contact-section__grid-lines,
.elw-contact-section .elw-contact-card,
.elw-contact-section .elw-contact-card__copy-plate {
  animation-play-state: paused;
}

/* The observer adds this class only when the section enters the viewport. */
.elw-contact-section.elw-is-visible,
.elw-contact-section.elw-is-visible .elw-contact-section__ambient,
.elw-contact-section.elw-is-visible .elw-contact-section__grid-lines,
.elw-contact-section.elw-is-visible .elw-contact-card,
.elw-contact-section.elw-is-visible .elw-contact-card__copy-plate {
  animation-play-state: running;
}

@keyframes elw-section-enter {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.992);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes elw-ambient-enter {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes elw-grid-enter {
  from {
    opacity: 0;
    transform: scale(1.04);
  }
  to {
    opacity: 0.5;
    transform: scale(1);
  }
}

@keyframes elw-card-enter {
  from {
    opacity: 0;
    transform: translateY(34px) scale(0.982);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes elw-copy-from-left {
  from {
    opacity: 0;
    transform: translate3d(-52px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes elw-copy-fade-up {
  from {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes elw-copy-from-right {
  from {
    opacity: 0;
    transform: translate3d(52px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* ---------------- CARD LAYOUT ---------------- */

.elw-contact-section__cards {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: clamp(10px, 1.2vw, 16px);
  padding: clamp(20px, 2.6vw, 34px) clamp(20px, 2.6vw, 34px) clamp(26px, 3.4vw, 46px);
  direction: inherit;
}

.elw-contact-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: clamp(440px, 40vw, 520px);
  padding: clamp(24px, 2.2vw, 32px);
  color: var(--elw-ink);
  direction: inherit;
  text-align: start;
}

.elw-contact-card--phone {
  z-index: 3;
  margin-top: clamp(48px, 10vw, 148px);
}

.elw-contact-card--location {
  z-index: 2;
  margin-top: clamp(8px, 3vw, 44px);
  margin-inline-start: -34px;
}

.elw-contact-card--hours {
  z-index: 1;
  margin-top: clamp(36px, 8.5vw, 124px);
  margin-inline-start: -34px;
}

/* ---------------- GLASS SURFACE ---------------- */

.elw-contact-card__surface {
  position: absolute;
  z-index: -2;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgb(255 255 255 / 0.85);
  border-radius: 34px;
  /* more white in the fill: the blur and the colour blooms still read through
     it, but every label now sits on a much lighter ground */
  background:
    linear-gradient(112deg, transparent 24%, rgb(255 255 255 / 0.55) 37%, rgb(255 255 255 / 0.08) 46%, transparent 56%),
    linear-gradient(155deg, rgb(255 255 255 / 0.78), rgb(250 253 255 / 0.6) 52%, rgb(235 246 253 / 0.68));
  box-shadow:
    0 26px 54px rgb(14 32 50 / 0.12),
    0 2px 8px rgb(14 32 50 / 0.05),
    inset 0 1px 0 rgb(255 255 255 / 0.95),
    inset 0 -1px 0 rgb(255 255 255 / 0.4);
  -webkit-backdrop-filter: blur(22px) saturate(150%);
  backdrop-filter: blur(22px) saturate(150%);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  transition: border-color 200ms ease, box-shadow 200ms ease, background 200ms ease;
}

/* the smooth cut: one soft concave bite on the edge each card shares
   with its neighbour, so the three shapes interlock */
.elw-contact-card--phone .elw-contact-card__surface {
  border-radius: 44px 34px 34px 46px;
  -webkit-mask-image: radial-gradient(ellipse 132px 150px at 100% 40%, transparent 0 63%, #000 67%);
  mask-image: radial-gradient(ellipse 132px 150px at 100% 40%, transparent 0 63%, #000 67%);
}

.elw-contact-card--location .elw-contact-card__surface {
  border-radius: 34px 46px 44px 34px;
  -webkit-mask-image: radial-gradient(ellipse 128px 150px at 0% 72%, transparent 0 63%, #000 67%);
  mask-image: radial-gradient(ellipse 128px 150px at 0% 72%, transparent 0 63%, #000 67%);
}

.elw-contact-card--hours .elw-contact-card__surface {
  border-radius: 34px 44px 46px 34px;
  -webkit-mask-image: radial-gradient(ellipse 132px 156px at 0% 34%, transparent 0 63%, #000 67%);
  mask-image: radial-gradient(ellipse 132px 156px at 0% 34%, transparent 0 63%, #000 67%);
}

/* انعكاس القصّات الزجاجية لتبقى البطاقات متشابكة بصريًا في RTL. */
.elw-contact-section:dir(rtl) .elw-contact-card--phone .elw-contact-card__surface {
  border-radius: 34px 44px 46px 34px;
  -webkit-mask-image: radial-gradient(ellipse 132px 150px at 0% 40%, transparent 0 63%, #000 67%);
  mask-image: radial-gradient(ellipse 132px 150px at 0% 40%, transparent 0 63%, #000 67%);
}

.elw-contact-section:dir(rtl) .elw-contact-card--location .elw-contact-card__surface {
  border-radius: 46px 34px 34px 44px;
  -webkit-mask-image: radial-gradient(ellipse 128px 150px at 100% 72%, transparent 0 63%, #000 67%);
  mask-image: radial-gradient(ellipse 128px 150px at 100% 72%, transparent 0 63%, #000 67%);
}

.elw-contact-section:dir(rtl) .elw-contact-card--hours .elw-contact-card__surface {
  border-radius: 46px 34px 34px 44px;
  -webkit-mask-image: radial-gradient(ellipse 132px 156px at 100% 34%, transparent 0 63%, #000 67%);
  mask-image: radial-gradient(ellipse 132px 156px at 100% 34%, transparent 0 63%, #000 67%);
}

/* accent tab */
.elw-contact-card::after {
  position: absolute;
  z-index: 1;
  top: 19px;
  inset-inline-end: 26px;
  width: 42px;
  height: 3px;
  content: "";
  border-radius: 99px;
  background: var(--elw-primary);
  opacity: 0.8;
}

.elw-contact-card--location::after { background: var(--elw-soft-blue); }
.elw-contact-card--hours::after { background: var(--elw-accent); }

.elw-contact-card:hover .elw-contact-card__surface {
  border-color: rgb(24 146 194 / 0.5);
  background:
    linear-gradient(112deg, transparent 24%, rgb(255 255 255 / 0.64) 37%, rgb(255 255 255 / 0.09) 46%, transparent 56%),
    linear-gradient(155deg, rgb(255 255 255 / 0.88), rgb(250 253 255 / 0.72) 52%, rgb(235 246 253 / 0.8));
  box-shadow:
    0 30px 62px rgb(14 32 50 / 0.16),
    0 2px 8px rgb(14 32 50 / 0.06),
    inset 0 1px 0 rgb(255 255 255 / 1),
    inset 0 -1px 0 rgb(255 255 255 / 0.45);
}

/* ---------------- CARD HEAD ---------------- */

.elw-contact-card__top,
.elw-contact-card__content,
.elw-contact-card__clinical-line {
  position: relative;
  z-index: 1;
  direction: inherit;
  text-align: start;
}

.elw-contact-card__eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: clamp(20px, 2vw, 28px);
  color: var(--elw-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
}

.elw-contact-card__eyebrow-mark {
  flex: 0 0 auto;
  width: 19px;
  height: 2px;
  background: var(--elw-primary);
}

.elw-contact-card--location .elw-contact-card__eyebrow-mark { background: var(--elw-soft-blue); }
.elw-contact-card--hours .elw-contact-card__eyebrow-mark { background: var(--elw-accent); }

.elw-contact-card__eyebrow-divider {
  flex: 0 0 auto;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--elw-accent);
}

.elw-contact-card__identity {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 14px;
}

.elw-contact-card__number {
  color: var(--elw-muted);
  font: 700 11px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.elw-contact-card__icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgb(24 146 194 / 0.3);
  border-radius: 50%;
  color: var(--elw-primary-ink);
  background: rgb(255 255 255 / 0.65);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.9);
}

.elw-contact-card__icon svg {
  width: 20px;
  height: 20px;
}

.elw-contact-card--location .elw-contact-card__icon {
  border-color: rgb(104 183 238 / 0.45);
  color: var(--elw-soft-ink);
}

.elw-contact-card--hours .elw-contact-card__icon {
  border-color: rgb(245 147 39 / 0.45);
  color: var(--elw-accent-ink);
}

/* translucent plate behind title + description */
.elw-contact-card__copy-plate {
  position: relative;
  max-width: 100%;
  padding: 14px 17px 16px;
  margin: -2px -7px 0;
  border: 1px solid rgb(255 255 255 / 0.7);
  border-radius: 24px 18px 24px 18px;
  background: linear-gradient(140deg, rgb(255 255 255 / 0.78), rgb(246 252 255 / 0.56));
  box-shadow:
    0 12px 26px rgb(14 32 50 / 0.06),
    inset 0 1px 0 rgb(255 255 255 / 0.9);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  backdrop-filter: blur(10px) saturate(120%);
}

.elw-contact-card__title {
  max-width: 10ch;
  margin: 0;
  color: var(--elw-ink);
  font-size: clamp(25px, 2.2vw, 31px);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.25;
  text-align: start;
}

.elw-contact-card__title span { color: var(--elw-primary-title); }
.elw-contact-card--location .elw-contact-card__title span { color: var(--elw-soft-title); }
.elw-contact-card--hours .elw-contact-card__title span { color: var(--elw-accent-title); }

.elw-contact-card__description {
  max-width: 30ch;
  margin: 13px 0 0;
  color: var(--elw-muted);
  font-size: 14px;
  line-height: 1.6;
  text-align: start;
}

/* ---------------- CARD BODY ---------------- */

.elw-contact-card__content {
  margin-top: clamp(18px, 2vw, 24px);
  padding-top: 17px;
  border-top: 1px solid var(--elw-border);
}

.elw-contact-card__row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 13px 0;
  border-bottom: 1px solid var(--elw-border);
  color: var(--elw-ink);
  text-decoration: none;
}

.elw-contact-card__row-label {
  grid-column: 1;
  color: var(--elw-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
}

.elw-contact-card__row-value {
  grid-column: 1;
  color: var(--elw-ink);
  font: 700 15px/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  transition: color 180ms ease;
}

.elw-contact-card__row--map .elw-contact-card__row-value {
  font-family: inherit;
  font-size: 14.5px;
}

.elw-contact-card__row-arrow {
  grid-row: 1 / span 2;
  grid-column: 2;
  color: var(--elw-primary-ink);
  font-size: 20px;
}

.elw-contact-card__row--whatsapp .elw-contact-card__row-arrow { color: var(--elw-accent-ink); }
.elw-contact-card__row--map .elw-contact-card__row-arrow { color: var(--elw-soft-ink); }

.elw-contact-card__row:hover .elw-contact-card__row-value { color: var(--elw-primary-ink); }

.elw-contact-card__info-row {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 10px;
  padding: 13px 0;
  border-bottom: 1px solid var(--elw-border);
}

.elw-contact-card__info-line {
  width: 14px;
  height: 1px;
  background: var(--elw-primary);
}

.elw-contact-card__info-icon {
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border: 1px solid rgb(24 146 194 / 0.2);
  border-radius: 50%;
  color: var(--elw-primary-ink);
  background: rgb(255 255 255 / 0.65);
}

.elw-contact-card__info-icon svg {
  width: 13px;
  height: 13px;
}

.elw-contact-card__info-text {
  color: var(--elw-muted);
  font-size: 13px;
  line-height: 1.45;
}

.elw-contact-card__hours-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 13px 0;
  border-bottom: 1px solid var(--elw-border);
}

.elw-contact-card__hours-day {
  color: var(--elw-ink);
  font-size: 14px;
  font-weight: 700;
}

.elw-contact-card__hours-time {
  color: var(--elw-primary-ink);
  direction: inherit;
  font: 700 12px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  text-align: end;
}

.elw-contact-card__hours-row--closed .elw-contact-card__hours-time { color: var(--elw-accent-ink); }

/* was 0.82 — the dimming alone cost this label ~0.8:1 of contrast */
.elw-contact-card__hours-time em {
  font-style: normal;
  opacity: 1;
}

.elw-contact-card__postop {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  padding-top: 16px;
}

.elw-contact-card__postop-mark {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid rgb(245 147 39 / 0.42);
  border-radius: 50%;
  color: var(--elw-accent-ink);
  background: rgb(255 255 255 / 0.5);
}

.elw-contact-card__postop-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.elw-contact-card__postop-copy strong {
  font-size: 10px;
  letter-spacing: 0;
}

.elw-contact-card__postop-copy small {
  color: var(--elw-muted);
  font-size: 12px;
  line-height: 1.4;
}

/* ---------------- CARD FOOT ---------------- */

.elw-contact-card__clinical-line {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding-top: 24px;
  color: var(--elw-muted);
  font: 800 9px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0;
}

.elw-contact-card__clinical-line > span:last-child {
  height: 1px;
  background: var(--elw-border);
}

/* ---------------- RESPONSIVE ---------------- */

@media (max-width: 1050px) {
  .elw-contact-section {
    min-height: 0;
  }

  .elw-contact-section__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    padding: 30px;
  }

  .elw-contact-card,
  .elw-contact-card--phone,
  .elw-contact-card--location,
  .elw-contact-card--hours {
    min-height: 470px;
    margin: 0;
  }

  .elw-contact-card--hours {
    grid-column: 1 / -1;
    width: min(100%, 540px);
    justify-self: center;
  }

  /* no neighbour to interlock with — square the bite off */
  .elw-contact-card__surface,
  .elw-contact-card--phone .elw-contact-card__surface,
  .elw-contact-card--location .elw-contact-card__surface,
  .elw-contact-card--hours .elw-contact-card__surface {
    border-radius: 34px;
    -webkit-mask-image: none;
    mask-image: none;
  }
}

@media (max-width: 680px) {
  .elw-contact-shell {
    padding: 12px;
  }

  .elw-contact-section {
    border-radius: 28px;
  }

  .elw-contact-section__cards {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .elw-contact-card {
    min-height: 0;
    padding: 26px;
  }

  .elw-contact-card--hours {
    grid-column: auto;
    width: auto;
  }

  /* was 9px — kept at the desktop size so the smallest label never shrinks */
  .elw-contact-card__eyebrow {
    font-size: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elw-contact-section,
  .elw-contact-section__ambient,
  .elw-contact-section__grid-lines,
  .elw-contact-card,
  .elw-contact-card__copy-plate {
    animation: none;
  }

  .elw-contact-card__surface,
  .elw-contact-card__row-value {
    transition: none;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-3bf507a *//* ================================================================
   Dr. Ahmad Al-Wahidi Clinic — Contact Form 7
   Visual match for the clinic contact-card section.
   Every rule is scoped to .elw-booking-widget.
   ================================================================ */

.elw-booking-widget {
  --elw-primary: #1892c2;
  --elw-soft-blue: #68b7ee;
  --elw-accent: #f59327;
  --elw-white: #ffffff;
  --elw-ink: #0e2032;
  --elw-black: #0e2032;
  --elw-surface: #f8fafc;
  --elw-muted: #4a5866;
  --elw-border: rgb(14 32 50 / 0.14);
  --elw-primary-ink: #0a6485;
  --elw-soft-ink: #2a6f9c;
  --elw-accent-ink: #8a4604;
  --elw-primary-title: #0f7fa8;
  --elw-danger: #b42318;
  --elw-success: #16794b;

  width: 100% !important;
  margin: 0 !important;
  padding: clamp(12px, 3vw, 56px) !important;
  color: var(--elw-ink) !important;
  direction: ltr !important;
  text-align: left !important;
  background: transparent !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.elw-booking-widget *,
.elw-booking-widget *::before,
.elw-booking-widget *::after {
  box-sizing: border-box !important;
}

.elw-booking-widget .elw-lang-ar {
  direction: rtl !important;
  text-align: right !important;
}

.elw-booking-widget p {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elw-booking-widget .wpcf7-form-control-wrap {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ---------------- MAIN STAGE ---------------- */

.elw-booking-widget .elw-form-container {
  position: relative !important;
  isolation: isolate !important;
  width: min(100%, 1240px) !important;
  margin: 0 auto !important;
  padding: clamp(28px, 5vw, 64px) !important;
  overflow: hidden !important;
  overflow: clip !important;
  border: 1px solid rgb(255 255 255 / 0.84) !important;
  border-radius: clamp(28px, 4vw, 52px) !important;
  background:
    radial-gradient(ellipse 46% 50% at 12% 18%, rgb(104 183 238 / 0.42), transparent 68%),
    radial-gradient(ellipse 40% 46% at 86% 24%, rgb(24 146 194 / 0.3), transparent 66%),
    radial-gradient(ellipse 38% 40% at 64% 94%, rgb(24 146 194 / 0.22), transparent 70%),
    radial-gradient(ellipse 24% 30% at 95% 82%, rgb(245 147 39 / 0.16), transparent 68%),
    radial-gradient(ellipse 30% 34% at 34% 72%, rgb(255 255 255 / 0.62), transparent 70%),
    linear-gradient(150deg, #eef6fa 0%, #e2eef6 46%, #d6e7f2 100%) !important;
  box-shadow:
    0 30px 70px rgb(14 32 50 / 0.13),
    0 4px 14px rgb(14 32 50 / 0.05),
    inset 0 1px 0 rgb(255 255 255 / 0.9) !important;
  animation: elw-form-stage-enter 720ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

.elw-booking-widget .elw-form-container::before {
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  content: "" !important;
  pointer-events: none !important;
  opacity: 0.5 !important;
  background-image:
    linear-gradient(to right, rgb(14 32 50 / 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(14 32 50 / 0.05) 1px, transparent 1px) !important;
  background-size: 64px 64px !important;
  -webkit-mask-image: radial-gradient(ellipse 72% 76% at 50% 44%, #000, transparent 80%) !important;
  mask-image: radial-gradient(ellipse 72% 76% at 50% 44%, #000, transparent 80%) !important;
  animation: elw-form-grid-fade 1000ms 140ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

.elw-booking-widget .elw-form-container::after {
  position: absolute !important;
  z-index: 2 !important;
  top: clamp(22px, 3vw, 34px) !important;
  right: clamp(26px, 4vw, 48px) !important;
  width: 48px !important;
  height: 3px !important;
  content: "" !important;
  pointer-events: none !important;
  border-radius: 999px !important;
  background: var(--elw-accent) !important;
  opacity: 0.9 !important;
}

.elw-booking-widget .elw-form-container > * {
  position: relative !important;
  z-index: 1 !important;
}

/* ---------------- HEADER ---------------- */

.elw-booking-widget .elwahidi-brand-line {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: clamp(22px, 3vw, 34px) !important;
  color: var(--elw-muted) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
}

.elw-booking-widget .elwahidi-brand-text,
.elw-booking-widget .elwahidi-brand-location {
  display: block !important;
  white-space: nowrap !important;
}

.elw-booking-widget .elwahidi-brand-mark {
  display: grid !important;
  flex: 0 0 32px !important;
  width: 32px !important;
  height: 32px !important;
  place-items: center !important;
  border: 1px solid rgb(24 146 194 / 0.42) !important;
  border-radius: 50% !important;
  color: var(--elw-primary-ink) !important;
  background: rgb(255 255 255 / 0.68) !important;
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.94),
    0 5px 14px rgb(14 32 50 / 0.05) !important;
  animation: elw-form-pulse 3s infinite cubic-bezier(0.4, 0, 0.6, 1) !important;
}

.elw-booking-widget .elwahidi-brand-mark span {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--elw-accent) !important;
}

.elw-booking-widget .elwahidi-brand-divider {
  flex: 1 1 auto !important;
  min-width: 20px !important;
  height: 1px !important;
  background: linear-gradient(270deg, var(--elw-border), transparent) !important;
}

.elw-booking-widget .elw-lang-en .elwahidi-brand-divider {
  background: linear-gradient(90deg, var(--elw-border), transparent) !important;
}

.elw-booking-widget .elw-title {
  max-width: 15ch !important;
  margin: 0 0 clamp(28px, 4vw, 46px) !important;
  color: var(--elw-ink) !important;
  font-size: clamp(2.25rem, 4.5vw, 3.6rem) !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.045em !important;
}

.elw-booking-widget .elw-title span {
  position: relative !important;
  display: inline-block !important;
  color: var(--elw-primary-title) !important;
}

.elw-booking-widget .elw-title span::after {
  position: absolute !important;
  right: 0 !important;
  bottom: -7px !important;
  width: 42px !important;
  height: 3px !important;
  content: "" !important;
  border-radius: 999px !important;
  background: var(--elw-accent) !important;
}

.elw-booking-widget .elw-lang-ar .elw-title span::after {
  right: auto !important;
  left: 0 !important;
}

/* ---------------- GLASS FORM CARD ---------------- */

.elw-booking-widget .elw-form-grid {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2.4vw, 28px) clamp(18px, 2.8vw, 32px) !important;
  width: 100% !important;
  padding: clamp(22px, 3.4vw, 38px) !important;
  border: 1px solid rgb(255 255 255 / 0.86) !important;
  border-radius: 34px !important;
  background:
    linear-gradient(112deg, transparent 24%, rgb(255 255 255 / 0.56) 37%, rgb(255 255 255 / 0.08) 46%, transparent 56%),
    linear-gradient(155deg, rgb(255 255 255 / 0.8), rgb(250 253 255 / 0.62) 52%, rgb(235 246 253 / 0.7)) !important;
  box-shadow:
    0 26px 54px rgb(14 32 50 / 0.12),
    0 2px 8px rgb(14 32 50 / 0.05),
    inset 0 1px 0 rgb(255 255 255 / 0.95),
    inset 0 -1px 0 rgb(255 255 255 / 0.42) !important;
  -webkit-backdrop-filter: blur(22px) saturate(145%) !important;
  backdrop-filter: blur(22px) saturate(145%) !important;
  animation: elw-form-card-enter 720ms 260ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

/* Keep consecutive glass form cards visually separate instead of letting
   their rounded edges and shadows touch. */
.elw-booking-widget .elw-form-grid ~ .elw-form-grid {
  margin-top: clamp(22px, 2.5vw, 30px) !important;
}

.elw-booking-widget .elw-form-grid::before {
  position: absolute !important;
  top: 19px !important;
  right: 26px !important;
  width: 42px !important;
  height: 3px !important;
  content: "" !important;
  border-radius: 999px !important;
  background: var(--elw-primary) !important;
  opacity: 0.82 !important;
}

.elw-booking-widget .elw-lang-ar .elw-form-grid::before {
  right: auto !important;
  left: 26px !important;
}

.elw-booking-widget .elw-col-full {
  grid-column: 1 / -1 !important;
}

.elw-booking-widget .elw-form-group {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
}

.elw-booking-widget .elw-form-label {
  display: block !important;
  margin-bottom: 8px !important;
  color: var(--elw-ink) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.035em !important;
}

/* ---------------- FIELDS ---------------- */

.elw-booking-widget input[type="text"],
.elw-booking-widget input[type="email"],
.elw-booking-widget input[type="tel"],
.elw-booking-widget input[type="number"],
.elw-booking-widget input[type="date"],
.elw-booking-widget select,
.elw-booking-widget textarea {
  width: 100% !important;
  height: 58px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 1px solid rgb(14 32 50 / 0.16) !important;
  border-radius: 16px !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  color: var(--elw-ink) !important;
  background: rgb(255 255 255 / 0.7) !important;
  box-shadow:
    0 8px 18px rgb(14 32 50 / 0.035),
    inset 0 1px 0 rgb(255 255 255 / 0.95) !important;
  font-family: inherit !important;
  font-size: 15.5px !important;
  font-weight: 550 !important;
  line-height: 1.45 !important;
  transition:
    border-color 200ms ease,
    background 200ms ease,
    box-shadow 200ms ease,
    transform 200ms ease !important;
}

.elw-booking-widget textarea {
  min-height: 148px !important;
  height: auto !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  resize: vertical !important;
}

.elw-booking-widget input::placeholder,
.elw-booking-widget textarea::placeholder {
  color: rgb(74 88 102 / 0.78) !important;
  opacity: 1 !important;
}

.elw-booking-widget input:hover,
.elw-booking-widget select:hover,
.elw-booking-widget textarea:hover {
  border-color: rgb(24 146 194 / 0.38) !important;
  background: rgb(255 255 255 / 0.84) !important;
}

.elw-booking-widget input:focus,
.elw-booking-widget select:focus,
.elw-booking-widget textarea:focus {
  border-color: var(--elw-primary) !important;
  background: rgb(255 255 255 / 0.94) !important;
  box-shadow:
    0 0 0 4px rgb(24 146 194 / 0.13),
    0 12px 26px rgb(14 32 50 / 0.08),
    inset 0 1px 0 rgb(255 255 255 / 1) !important;
  transform: translateY(-1px) !important;
}

.elw-booking-widget .wpcf7-not-valid {
  border-color: rgb(180 35 24 / 0.72) !important;
  box-shadow: 0 0 0 3px rgb(180 35 24 / 0.09) !important;
}

.elw-booking-widget select {
  cursor: pointer !important;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a6485' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-size: 18px !important;
  text-align: left !important;
  text-align-last: left !important;
}

.elw-booking-widget select option {
  color: var(--elw-ink) !important;
  background: var(--elw-white) !important;
}

.elw-booking-widget input[type="date"] {
  appearance: auto !important;
  -webkit-appearance: auto !important;
}

.elw-booking-widget .elw-lang-ar select {
  padding-right: 18px !important;
  padding-left: 50px !important;
  background-position: left 18px center !important;
  text-align: right !important;
  text-align-last: right !important;
}

.elw-booking-widget .elw-lang-en select {
  padding-right: 50px !important;
  padding-left: 18px !important;
  background-position: right 18px center !important;
}

/* ---------------- SYMPTOMS / CHECKBOX CARD ---------------- */

.elw-booking-widget .elw-symptoms-container {
  position: relative !important;
  padding: clamp(20px, 2.6vw, 30px) !important;
  margin-top: 4px !important;
  border: 1px solid rgb(255 255 255 / 0.78) !important;
  border-radius: 24px 18px 24px 18px !important;
  background: linear-gradient(140deg, rgb(255 255 255 / 0.8), rgb(246 252 255 / 0.56)) !important;
  box-shadow:
    0 12px 26px rgb(14 32 50 / 0.06),
    inset 0 1px 0 rgb(255 255 255 / 0.92) !important;
  -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
  backdrop-filter: blur(10px) saturate(120%) !important;
}

.elw-booking-widget .elw-symptoms-title {
  margin: 0 0 16px !important;
  color: var(--elw-ink) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
}

.elw-booking-widget .wpcf7-list-item {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 0 8px !important;
  padding: 9px 11px !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: rgb(255 255 255 / 0.42) !important;
  transition: border-color 180ms ease, background 180ms ease !important;
}

.elw-booking-widget .wpcf7-list-item:hover {
  border-color: rgb(24 146 194 / 0.2) !important;
  background: rgb(255 255 255 / 0.72) !important;
}

.elw-booking-widget .wpcf7-list-item > label {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  cursor: pointer !important;
}

.elw-booking-widget input[type="checkbox"] {
  flex: 0 0 auto !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  cursor: pointer !important;
  accent-color: var(--elw-primary) !important;
}

.elw-booking-widget .elw-lang-ar input[type="checkbox"] {
  margin-left: 11px !important;
}

.elw-booking-widget .elw-lang-en input[type="checkbox"] {
  margin-right: 11px !important;
}

.elw-booking-widget input[type="checkbox"]:focus-visible {
  outline: 3px solid rgb(24 146 194 / 0.2) !important;
  outline-offset: 3px !important;
}

.elw-booking-widget .wpcf7-list-item-label {
  color: var(--elw-muted) !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  cursor: pointer !important;
}

/* ---------------- VALIDATION ---------------- */

.elw-booking-widget .elw-error-text,
.elw-booking-widget .wpcf7-not-valid-tip {
  margin-top: 7px !important;
  padding: 7px 10px !important;
  border: 1px solid rgb(180 35 24 / 0.16) !important;
  border-left: 3px solid var(--elw-danger) !important;
  border-radius: 8px !important;
  color: var(--elw-danger) !important;
  background: rgb(255 245 244 / 0.9) !important;
  box-shadow: 0 3px 9px rgb(14 32 50 / 0.04) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.elw-booking-widget .elw-error-text {
  display: none;
}

.elw-booking-widget .wpcf7-not-valid-tip {
  display: block !important;
}

.elw-booking-widget .elw-lang-ar .elw-error-text,
.elw-booking-widget .elw-lang-ar .wpcf7-not-valid-tip {
  border-right: 3px solid var(--elw-danger) !important;
  border-left-width: 1px !important;
}

.elw-booking-widget .wpcf7-response-output {
  margin: 24px 0 0 !important;
  padding: 14px 16px !important;
  border: 1px solid rgb(24 146 194 / 0.28) !important;
  border-radius: 14px !important;
  color: var(--elw-ink) !important;
  background: rgb(255 255 255 / 0.78) !important;
  box-shadow: 0 10px 24px rgb(14 32 50 / 0.06) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.5 !important;
}

.elw-booking-widget .wpcf7 form.invalid .wpcf7-response-output,
.elw-booking-widget .wpcf7 form.unaccepted .wpcf7-response-output,
.elw-booking-widget .wpcf7 form.payment-required .wpcf7-response-output,
.elw-booking-widget .wpcf7 form.failed .wpcf7-response-output,
.elw-booking-widget .wpcf7 form.aborted .wpcf7-response-output {
  border-color: rgb(180 35 24 / 0.42) !important;
  color: var(--elw-danger) !important;
  background: rgb(255 245 244 / 0.9) !important;
}

.elw-booking-widget .wpcf7 form.sent .wpcf7-response-output {
  border-color: rgb(22 121 75 / 0.4) !important;
  color: var(--elw-success) !important;
  background: rgb(240 253 247 / 0.9) !important;
}

/* ---------------- SUBMIT ---------------- */

.elw-booking-widget .elw-btn-wrapper {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: clamp(26px, 4vw, 42px) !important;
}

.elw-booking-widget .elw-submit-wrap {
  position: relative !important;
  display: inline-flex !important;
  width: min(100%, 440px) !important;
}

.elw-booking-widget input[type="submit"] {
  width: 100% !important;
  min-height: 60px !important;
  margin: 0 !important;
  padding: 16px 58px 16px 28px !important;
  border: 1px solid rgb(255 255 255 / 0.24) !important;
  border-radius: 16px !important;
  color: var(--elw-white) !important;
  background: linear-gradient(135deg, var(--elw-primary), var(--elw-primary-ink)) !important;
  box-shadow:
    0 15px 30px rgb(24 146 194 / 0.28),
    inset 0 1px 0 rgb(255 255 255 / 0.22) !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  cursor: pointer !important;
  transition: transform 220ms ease, background 220ms ease, box-shadow 220ms ease !important;
}

.elw-booking-widget .elw-lang-ar input[type="submit"] {
  padding-right: 28px !important;
  padding-left: 58px !important;
}

.elw-booking-widget .elw-submit-wrap:hover input[type="submit"] {
  background: linear-gradient(135deg, #132d43, var(--elw-ink)) !important;
  box-shadow:
    0 19px 36px rgb(14 32 50 / 0.24),
    inset 0 1px 0 rgb(255 255 255 / 0.18) !important;
  transform: translateY(-3px) !important;
}

.elw-booking-widget input[type="submit"]:focus-visible {
  outline: 3px solid rgb(245 147 39 / 0.42) !important;
  outline-offset: 3px !important;
}

.elw-booking-widget input[type="submit"]:disabled {
  opacity: 0.58 !important;
  cursor: wait !important;
  transform: none !important;
}

.elw-booking-widget .elw-btn-icon {
  position: absolute !important;
  z-index: 1 !important;
  top: 50% !important;
  color: var(--elw-white) !important;
  font-size: 20px !important;
  line-height: 1 !important;
  pointer-events: none !important;
  transition: transform 220ms ease !important;
}

.elw-booking-widget .elw-lang-ar .elw-btn-icon {
  left: 24px !important;
  transform: translateY(-50%) scaleX(-1) !important;
}

.elw-booking-widget .elw-lang-en .elw-btn-icon {
  right: 24px !important;
  transform: translateY(-50%) !important;
}

.elw-booking-widget .elw-lang-ar .elw-submit-wrap:hover .elw-btn-icon,
.elw-booking-widget .elw-submit-wrap:hover .elw-lang-ar .elw-btn-icon {
  transform: translate(-5px, -50%) scaleX(-1) !important;
}

.elw-booking-widget .elw-lang-en .elw-submit-wrap:hover .elw-btn-icon,
.elw-booking-widget .elw-submit-wrap:hover .elw-lang-en .elw-btn-icon {
  transform: translate(5px, -50%) !important;
}

.elw-booking-widget .wpcf7-spinner {
  margin: 12px auto 0 !important;
  background-color: var(--elw-primary-ink) !important;
}

.elw-booking-widget .elw-form-note {
  max-width: 52ch !important;
  margin: 0 auto !important;
  color: var(--elw-muted) !important;
  font-size: 13.5px !important;
  font-weight: 550 !important;
  line-height: 1.55 !important;
  text-align: center !important;
}

/* ---------------- MOTION ---------------- */

@keyframes elw-form-stage-enter {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.992);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes elw-form-grid-fade {
  from {
    opacity: 0;
    transform: scale(1.04);
  }
  to {
    opacity: 0.5;
    transform: scale(1);
  }
}

@keyframes elw-form-card-enter {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.986);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes elw-form-item-enter {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes elw-form-pulse {
  0%,
  100% {
    box-shadow:
      0 0 0 0 rgb(24 146 194 / 0.3),
      inset 0 1px 0 rgb(255 255 255 / 0.94);
  }
  50% {
    box-shadow:
      0 0 0 8px rgb(24 146 194 / 0),
      inset 0 1px 0 rgb(255 255 255 / 0.94);
  }
}

.elw-booking-widget .elw-animate {
  animation: elw-form-item-enter 650ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

.elw-booking-widget .elw-delay-1 { animation-delay: 180ms !important; }
.elw-booking-widget .elw-delay-2 { animation-delay: 280ms !important; }
.elw-booking-widget .elw-delay-3 { animation-delay: 380ms !important; }
.elw-booking-widget .elw-delay-4 { animation-delay: 480ms !important; }
.elw-booking-widget .elw-delay-5 { animation-delay: 580ms !important; }

/* ---------------- RESPONSIVE ---------------- */

@media (max-width: 768px) {
  .elw-booking-widget .elw-form-container {
    padding: 26px !important;
    border-radius: 32px !important;
  }

  .elw-booking-widget .elw-form-grid {
    grid-template-columns: 1fr !important;
    padding: 24px !important;
    border-radius: 28px !important;
  }

  .elw-booking-widget .elw-col-full {
    grid-column: auto !important;
  }
}

@media (max-width: 520px) {
  .elw-booking-widget {
    padding: 12px !important;
  }

  .elw-booking-widget .elw-form-container {
    padding: 22px 18px !important;
    border-radius: 28px !important;
  }

  .elw-booking-widget .elwahidi-brand-line {
    gap: 8px !important;
    margin-bottom: 22px !important;
    font-size: 10px !important;
  }

  .elw-booking-widget .elwahidi-brand-mark {
    flex-basis: 28px !important;
    width: 28px !important;
    height: 28px !important;
  }

  .elw-booking-widget .elw-title {
    margin-bottom: 28px !important;
    font-size: clamp(2rem, 11vw, 2.6rem) !important;
  }

  .elw-booking-widget .elw-form-grid {
    gap: 18px !important;
    padding: 22px 16px !important;
    border-radius: 24px !important;
  }

  .elw-booking-widget .elw-form-grid ~ .elw-form-grid {
    margin-top: 16px !important;
  }

  .elw-booking-widget input[type="text"],
  .elw-booking-widget input[type="email"],
  .elw-booking-widget input[type="tel"],
  .elw-booking-widget input[type="number"],
  .elw-booking-widget input[type="date"],
  .elw-booking-widget select,
  .elw-booking-widget textarea {
    font-size: 16px !important;
  }

  .elw-booking-widget .elw-symptoms-container {
    padding: 18px 14px !important;
  }

  .elw-booking-widget .elw-submit-wrap {
    width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elw-booking-widget .elw-form-container,
  .elw-booking-widget .elw-form-container::before,
  .elw-booking-widget .elw-form-grid,
  .elw-booking-widget .elwahidi-brand-mark,
  .elw-booking-widget .elw-animate {
    animation: none !important;
  }

  .elw-booking-widget input,
  .elw-booking-widget select,
  .elw-booking-widget textarea,
  .elw-booking-widget .wpcf7-list-item,
  .elw-booking-widget .elw-btn-icon {
    transition: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e1ee8db */.elw-booking-widget {
  --elw-primary: #1892C2;
  --elw-accent: #F59327;
  --elw-black: #0F172A;
  --elw-soft-blue: #68B7EE;
  --elw-white: #FFFFFF;
  --elw-surface: #F8FAFC;
  --elw-border: #E2E8F0;
  --elw-muted: #64748B;
  
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  direction: ltr !important;
  text-align: left !important;
  background: transparent !important;
  color: var(--elw-black) !important;
  font-family: Inter, sans-serif !important;
}

.elw-booking-widget *, 
.elw-booking-widget *::before, 
.elw-booking-widget *::after {
  box-sizing: border-box !important;
}

.elw-booking-widget .elw-lang-ar {
  direction: rtl !important;
  text-align: right !important;
}

.elw-booking-widget p,
.elw-booking-widget br,
.elw-booking-widget .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
}

.elw-booking-widget .elw-form-container {
  background: var(--elw-white) !important;
  border-radius: 24px !important;
  padding: clamp(2.5rem, 5vw, 4rem) !important;
  box-shadow: 0 10px 40px -10px rgba(0,0,0,0.05), 0 1px 3px rgba(0,0,0,0.02) !important;
  border: 1px solid rgba(226, 232, 240, 0.6) !important;
}

@keyframes elwEntrance {
  0% { opacity: 0; transform: translateY(20px) scale(0.98); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

.elw-booking-widget .elw-animate {
  opacity: 0;
  animation: elwEntrance 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards !important;
}

.elw-booking-widget .elw-delay-1 { animation-delay: 0.1s !important; }
.elw-booking-widget .elw-delay-2 { animation-delay: 0.2s !important; }
.elw-booking-widget .elw-delay-3 { animation-delay: 0.3s !important; }
.elw-booking-widget .elw-delay-4 { animation-delay: 0.4s !important; }
.elw-booking-widget .elw-delay-5 { animation-delay: 0.5s !important; }

/* تصحيح الترويسة */
.elw-booking-widget .elwahidi-brand-line {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 1rem !important;
  margin-bottom: 2rem !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.elw-booking-widget .elwahidi-brand-text,
.elw-booking-widget .elwahidi-brand-location {
  white-space: nowrap !important;
  display: block !important;
}

.elw-booking-widget .elwahidi-brand-mark {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  border: 2px solid var(--elw-primary) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  animation: pulse 3s infinite cubic-bezier(0.4, 0, 0.6, 1) !important;
}

@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(24, 146, 194, 0.4); }
  50% { box-shadow: 0 0 0 8px rgba(24, 146, 194, 0); }
}

.elw-booking-widget .elwahidi-brand-mark span {
  width: 8px !important;
  height: 8px !important;
  background: var(--elw-accent) !important;
  border-radius: 50% !important;
}

.elw-booking-widget .elwahidi-brand-divider {
  flex: 1 !important;
  height: 2px !important;
  min-width: 20px !important;
  background: linear-gradient(270deg, var(--elw-surface) 0%, transparent 100%) !important;
}
.elw-booking-widget .elw-lang-en .elwahidi-brand-divider {
  background: linear-gradient(90deg, var(--elw-surface) 0%, transparent 100%) !important;
}

.elw-booking-widget .elw-title {
  font-weight: 850 !important;
  font-size: clamp(2.2rem, 4vw, 3rem) !important;
  line-height: 1.1 !important;
  margin-bottom: 3.5rem !important;
  color: var(--elw-black) !important;
}

.elw-booking-widget .elw-title span {
  position: relative !important;
  display: inline-block !important;
  color: var(--elw-primary) !important;
}

.elw-booking-widget .elw-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1.75rem 2rem !important;
}

@media (max-width: 768px) {
  .elw-booking-widget .elw-form-grid { grid-template-columns: 1fr !important; }
}

.elw-booking-widget .elw-col-full { grid-column: 1 / -1 !important; }

.elw-booking-widget .elw-form-group {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  position: relative !important;
}

.elw-booking-widget .elw-form-label {
  display: block !important;
  font-weight: 700 !important;
  margin-bottom: 0.6rem !important;
  font-size: 0.95rem !important;
  color: var(--elw-black) !important;
}

/* تصحيح الحقول ومحاذاة Dropdown */
.elw-booking-widget input[type="text"],
.elw-booking-widget input[type="tel"],
.elw-booking-widget input[type="number"],
.elw-booking-widget select,
.elw-booking-widget textarea {
  width: 100% !important;
  height: 3.5rem !important;
  padding: 0 1.25rem !important;
  border: 2px solid var(--elw-border) !important;
  background: var(--elw-surface) !important;
  color: var(--elw-black) !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  border-radius: 12px !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  margin: 0 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.01) inset !important;
}

.elw-booking-widget textarea {
  height: auto !important;
  min-height: 8rem !important;
  padding-top: 1rem !important;
  resize: vertical !important;
}

.elw-booking-widget input:hover,
.elw-booking-widget select:hover,
.elw-booking-widget textarea:hover {
  border-color: #CBD5E1 !important;
  background: var(--elw-white) !important;
}

.elw-booking-widget input:focus,
.elw-booking-widget select:focus,
.elw-booking-widget textarea:focus {
  border-color: var(--elw-primary) !important;
  background: var(--elw-white) !important;
  box-shadow: 0 0 0 4px rgba(24, 146, 194, 0.15) !important;
}

.elw-booking-widget select {
  cursor: pointer !important;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-size: 1.2rem !important;
  text-align: left !important;
  text-align-last: left !important;
}

.elw-booking-widget .elw-lang-ar select {
  background-position: left 1rem center !important;
  padding-left: 3rem !important;
  padding-right: 1.25rem !important;
  text-align: right !important;
  text-align-last: right !important;
}

.elw-booking-widget .elw-lang-en select {
  background-position: right 1rem center !important;
  padding-right: 3rem !important;
  padding-left: 1.25rem !important;
}

.elw-booking-widget .elw-symptoms-container {
  background: var(--elw-surface) !important;
  border: 1px solid var(--elw-border) !important;
  border-radius: 16px !important;
  padding: 2rem !important;
  margin-top: 2rem !important;
  box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02) !important;
}

.elw-booking-widget .elw-symptoms-title {
  font-weight: 800 !important;
  font-size: 1.1rem !important;
  margin-bottom: 1.5rem !important;
  color: var(--elw-black) !important;
}

.elw-booking-widget .wpcf7-list-item {
  display: flex !important;
  align-items: center !important;
  margin: 0 0 1rem 0 !important;
}

.elw-booking-widget input[type="checkbox"] {
  width: 1.3rem !important;
  height: 1.3rem !important;
  margin: 0 !important;
  accent-color: var(--elw-primary) !important;
  cursor: pointer !important;
}

.elw-booking-widget .elw-lang-ar input[type="checkbox"] { margin-left: 0.8rem !important; }
.elw-booking-widget .elw-lang-en input[type="checkbox"] { margin-right: 0.8rem !important; }

.elw-booking-widget .wpcf7-list-item-label {
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--elw-muted) !important;
  cursor: pointer !important;
}

/* تصحيح رسالة الخطأ (الإخفاء والتمركز العائم) */
.elw-booking-widget .elw-error-text {
  display: none;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  margin-top: 4px !important;
  z-index: 10 !important;
  color: #DC2626 !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  background: #FEF2F2 !important;
  padding: 0.5rem 0.75rem !important;
  border-radius: 6px !important;
  border-left: 3px solid #DC2626 !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
}

.elw-booking-widget .elw-lang-ar .elw-error-text {
  left: auto !important;
  right: 0 !important;
  border-left: none !important;
  border-right: 3px solid #DC2626 !important;
}

.elw-booking-widget .elw-btn-wrapper {
  margin-top: 3rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1.25rem !important;
}

.elw-booking-widget .elw-submit-wrap {
  position: relative !important;
  display: inline-flex !important;
  width: 100% !important;
  max-width: 400px !important;
}

.elw-booking-widget input[type="submit"] {
  width: 100% !important;
  background: var(--elw-primary) !important;
  color: var(--elw-white) !important;
  font-weight: 800 !important;
  font-size: 1.15rem !important;
  padding: 1.2rem 2rem !important;
  border: none !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 15px rgba(24, 146, 194, 0.25) !important;
}

.elw-booking-widget .elw-submit-wrap:hover input[type="submit"] {
  background: var(--elw-black) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 25px rgba(24, 146, 194, 0.35) !important;
}

.elw-booking-widget .elw-btn-icon {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 1.3rem !important;
  color: var(--elw-white) !important;
  pointer-events: none !important;
  transition: transform 0.3s ease !important;
}

.elw-booking-widget .elw-lang-ar .elw-btn-icon {
  left: 2rem !important;
  transform: translateY(-50%) scaleX(-1) !important;
}
.elw-booking-widget .elw-lang-en .elw-btn-icon {
  right: 2rem !important;
}

.elw-booking-widget .elw-submit-wrap:hover .elw-lang-ar .elw-btn-icon {
  transform: translate(-5px, -50%) scaleX(-1) !important;
}
.elw-booking-widget .elw-submit-wrap:hover .elw-lang-en .elw-btn-icon {
  transform: translate(5px, -50%) !important;
}

.elw-booking-widget .elw-form-note {
  color: var(--elw-muted) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  text-align: center !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d8d9e30 *//* ================================================================
   عيادة الدكتور أحمد الوحيدي — قسم متابعة منصات التواصل
   الجزء 2 من 2: الصق الكود في Elementor > Advanced > Custom CSS.
   جميع القواعد محصورة داخل .elw-social-shell.
   ================================================================ */

.elw-social-shell {
  --elw-primary: #1892c2;
  --elw-soft-blue: #68b7ee;
  --elw-accent: #f59327;
  --elw-white: #ffffff;
  --elw-ink: #0e2032;
  --elw-muted: #4a5866;
  --elw-border: rgb(14 32 50 / 0.14);
  --elw-primary-ink: #0a6485;
  --elw-soft-ink: #2a6f9c;
  --elw-accent-ink: #8a4604;
  --elw-primary-title: #0f7fa8;

  width: 100%;
  padding: clamp(12px, 3vw, 56px);
  color: var(--elw-ink);
  direction: inherit;
  text-align: start;
  font-family: "Tajawal", "Cairo", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.elw-social-shell *,
.elw-social-shell *::before,
.elw-social-shell *::after {
  box-sizing: border-box;
}

/* ---------------- STAGE ---------------- */

.elw-social-section {
  position: relative;
  isolation: isolate;
  width: min(100%, 1240px);
  min-height: 560px;
  margin: 0 auto;
  padding: clamp(28px, 4.5vw, 58px);
  overflow: hidden;
  overflow: clip;
  border: 1px solid rgb(255 255 255 / 0.84);
  border-radius: clamp(28px, 4vw, 52px);
  background: linear-gradient(150deg, #eef6fa 0%, #e2eef6 46%, #d6e7f2 100%);
  box-shadow:
    0 30px 70px rgb(14 32 50 / 0.13),
    0 4px 14px rgb(14 32 50 / 0.05),
    inset 0 1px 0 rgb(255 255 255 / 0.9);
  direction: inherit;
  text-align: start;
}

.elw-social-section__ambient,
.elw-social-section__grid {
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
}

.elw-social-section__ambient {
  background:
    radial-gradient(ellipse 46% 52% at 12% 20%, rgb(104 183 238 / 0.42), transparent 68%),
    radial-gradient(ellipse 40% 46% at 84% 24%, rgb(24 146 194 / 0.3), transparent 66%),
    radial-gradient(ellipse 38% 40% at 64% 94%, rgb(24 146 194 / 0.22), transparent 70%),
    radial-gradient(ellipse 24% 30% at 95% 82%, rgb(245 147 39 / 0.16), transparent 68%),
    radial-gradient(ellipse 30% 34% at 34% 72%, rgb(255 255 255 / 0.62), transparent 70%);
}

.elw-social-section__grid {
  opacity: 0.5;
  background-image:
    linear-gradient(to right, rgb(14 32 50 / 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(14 32 50 / 0.05) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(ellipse 72% 78% at 50% 44%, #000, transparent 80%);
  mask-image: radial-gradient(ellipse 72% 78% at 50% 44%, #000, transparent 80%);
}

.elw-social-section__content {
  position: relative;
  z-index: 2;
}

/* ---------------- HEADER ---------------- */

.elw-social-header {
  max-width: 760px;
}

.elw-social-eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  color: var(--elw-muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
}

.elw-social-eyebrow__line {
  flex: 0 0 auto;
  width: 22px;
  height: 2px;
  border-radius: 999px;
  background: var(--elw-primary);
}

.elw-social-eyebrow__dot {
  flex: 0 0 auto;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--elw-accent);
}

.elw-social-title {
  max-width: 12ch;
  margin: 0;
  color: var(--elw-ink);
  font-size: clamp(2.6rem, 5vw, 4rem);
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: 0;
}

.elw-social-title span {
  position: relative;
  display: inline-block;
  color: var(--elw-primary-title);
}

.elw-social-title span::after {
  position: absolute;
  inset-inline-end: 0;
  bottom: -8px;
  width: 46px;
  height: 3px;
  content: "";
  border-radius: 999px;
  background: var(--elw-accent);
}

.elw-social-description {
  max-width: 58ch;
  margin: 22px 0 0;
  color: var(--elw-muted);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}

/* ---------------- SOCIAL CARDS ---------------- */

.elw-social-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(16px, 2vw, 24px);
  margin-top: clamp(30px, 4vw, 46px);
}

.elw-social-card {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 330px;
  padding: clamp(24px, 3vw, 34px);
  border-radius: 34px;
  color: var(--elw-ink);
  text-decoration: none;
  outline: none;
}

.elw-social-card--instagram {
  margin-top: 24px;
}

.elw-social-card--facebook {
  margin-bottom: 24px;
}

.elw-social-card__surface {
  position: absolute;
  z-index: -1;
  inset: 0;
  border: 1px solid rgb(255 255 255 / 0.86);
  border-radius: inherit;
  background:
    linear-gradient(112deg, transparent 24%, rgb(255 255 255 / 0.58) 37%, rgb(255 255 255 / 0.08) 46%, transparent 56%),
    linear-gradient(155deg, rgb(255 255 255 / 0.8), rgb(250 253 255 / 0.62) 52%, rgb(235 246 253 / 0.7));
  box-shadow:
    0 26px 54px rgb(14 32 50 / 0.12),
    0 2px 8px rgb(14 32 50 / 0.05),
    inset 0 1px 0 rgb(255 255 255 / 0.95),
    inset 0 -1px 0 rgb(255 255 255 / 0.42);
  -webkit-backdrop-filter: blur(22px) saturate(145%);
  backdrop-filter: blur(22px) saturate(145%);
  transition: border-color 220ms ease, background 220ms ease, box-shadow 220ms ease;
}

.elw-social-card--instagram .elw-social-card__surface {
  border-radius: 44px 30px 38px 30px;
  background:
    radial-gradient(ellipse 44% 42% at 12% 90%, rgb(245 147 39 / 0.11), transparent 72%),
    linear-gradient(112deg, transparent 24%, rgb(255 255 255 / 0.58) 37%, rgb(255 255 255 / 0.08) 46%, transparent 56%),
    linear-gradient(155deg, rgb(255 255 255 / 0.82), rgb(250 253 255 / 0.62) 52%, rgb(235 246 253 / 0.72));
}

.elw-social-card--facebook .elw-social-card__surface {
  border-radius: 30px 44px 30px 38px;
  background:
    radial-gradient(ellipse 44% 42% at 88% 88%, rgb(24 146 194 / 0.12), transparent 72%),
    linear-gradient(112deg, transparent 24%, rgb(255 255 255 / 0.58) 37%, rgb(255 255 255 / 0.08) 46%, transparent 56%),
    linear-gradient(155deg, rgb(255 255 255 / 0.82), rgb(250 253 255 / 0.62) 52%, rgb(235 246 253 / 0.72));
}

.elw-social-card::after {
  position: absolute;
  z-index: 1;
  top: 20px;
  inset-inline-end: 28px;
  width: 42px;
  height: 3px;
  content: "";
  border-radius: 999px;
  opacity: 0.86;
}

.elw-social-card--instagram::after {
  background: var(--elw-accent);
}

.elw-social-card--facebook::after {
  background: var(--elw-primary);
}

.elw-social-card__top {
  display: flex;
  align-items: center;
  gap: 14px;
}

.elw-social-card__number {
  color: var(--elw-muted);
  font: 700 11px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.elw-social-card__icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid;
  border-radius: 50%;
  background: rgb(255 255 255 / 0.68);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.95),
    0 8px 20px rgb(14 32 50 / 0.06);
  transition: transform 220ms ease, background 220ms ease, box-shadow 220ms ease;
}

.elw-social-card__icon svg {
  width: 25px;
  height: 25px;
}

.elw-social-card--instagram .elw-social-card__icon {
  border-color: rgb(245 147 39 / 0.45);
  color: var(--elw-accent-ink);
}

.elw-social-card--facebook .elw-social-card__icon {
  border-color: rgb(24 146 194 / 0.4);
  color: var(--elw-primary-ink);
}

.elw-social-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 24px;
}

.elw-social-card__label {
  color: var(--elw-muted);
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
}

.elw-social-card__platform {
  margin-top: 6px;
  color: var(--elw-ink);
  font-size: clamp(2rem, 3vw, 2.55rem);
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: 0;
}

.elw-social-card--instagram .elw-social-card__platform {
  color: var(--elw-accent-ink);
}

.elw-social-card--facebook .elw-social-card__platform {
  color: var(--elw-primary-ink);
}

.elw-social-card__handle {
  margin-top: 9px;
  color: var(--elw-ink);
  font: 700 13px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.elw-social-card__copy {
  max-width: 40ch;
  margin-top: 13px;
  color: var(--elw-muted);
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.6;
}

.elw-social-card__action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 19px;
  border-top: 1px solid var(--elw-border);
  color: var(--elw-ink);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
}

.elw-social-card__arrow {
  font-size: 22px;
  line-height: 1;
  transition: transform 220ms ease, color 220ms ease;
}

.elw-social-card--instagram .elw-social-card__arrow {
  color: var(--elw-accent-ink);
}

.elw-social-card--facebook .elw-social-card__arrow {
  color: var(--elw-primary-ink);
}

.elw-social-card:hover .elw-social-card__surface,
.elw-social-card:focus-visible .elw-social-card__surface {
  border-color: rgb(24 146 194 / 0.42);
  box-shadow:
    0 32px 64px rgb(14 32 50 / 0.16),
    0 3px 10px rgb(14 32 50 / 0.06),
    inset 0 1px 0 rgb(255 255 255 / 1),
    inset 0 -1px 0 rgb(255 255 255 / 0.48);
}

.elw-social-card:hover .elw-social-card__icon,
.elw-social-card:focus-visible .elw-social-card__icon {
  background: rgb(255 255 255 / 0.9);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 1),
    0 12px 24px rgb(14 32 50 / 0.1);
  transform: translateY(-3px) scale(1.04);
}

.elw-social-card:hover .elw-social-card__arrow,
.elw-social-card:focus-visible .elw-social-card__arrow {
  transform: translate(4px, -4px);
}

.elw-social-card:focus-visible {
  outline: 3px solid rgb(24 146 194 / 0.24);
  outline-offset: 4px;
}

/* ---------------- FOOT NOTE ---------------- */

.elw-social-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  margin-top: 24px;
  padding: 12px 16px;
  border: 1px solid rgb(255 255 255 / 0.74);
  border-radius: 999px;
  color: var(--elw-muted);
  background: rgb(255 255 255 / 0.52);
  box-shadow:
    0 10px 24px rgb(14 32 50 / 0.05),
    inset 0 1px 0 rgb(255 255 255 / 0.9);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  backdrop-filter: blur(10px) saturate(120%);
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.45;
}

.elw-social-note__mark {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border: 2px solid rgb(24 146 194 / 0.3);
  border-radius: 50%;
  background: var(--elw-primary);
}

/* ---------------- SCROLL ENTRANCE ---------------- */

.elw-social-section {
  animation: elw-social-section-enter 720ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.elw-social-section__ambient {
  animation: elw-social-ambient-enter 1050ms 80ms ease-out both;
}

.elw-social-section__grid {
  transform-origin: 50% 45%;
  animation: elw-social-grid-enter 1000ms 140ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.elw-social-header {
  animation: elw-social-fade-up 660ms 190ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.elw-social-card--instagram {
  animation: elw-social-from-left 720ms 390ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.elw-social-card--facebook {
  animation: elw-social-from-right 720ms 500ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* يبدأ دخول البطاقات من جهة البداية والنهاية الصحيحتين في الصفحة العربية. */
.elw-social-section:dir(rtl) .elw-social-card--instagram {
  animation-name: elw-social-from-right;
}

.elw-social-section:dir(rtl) .elw-social-card--facebook {
  animation-name: elw-social-from-left;
}

.elw-social-note {
  animation: elw-social-fade-up 620ms 760ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.elw-social-section,
.elw-social-section .elw-social-section__ambient,
.elw-social-section .elw-social-section__grid,
.elw-social-section .elw-social-header,
.elw-social-section .elw-social-card,
.elw-social-section .elw-social-note {
  animation-play-state: paused;
}

.elw-social-section.elw-social-is-visible,
.elw-social-section.elw-social-is-visible .elw-social-section__ambient,
.elw-social-section.elw-social-is-visible .elw-social-section__grid,
.elw-social-section.elw-social-is-visible .elw-social-header,
.elw-social-section.elw-social-is-visible .elw-social-card,
.elw-social-section.elw-social-is-visible .elw-social-note {
  animation-play-state: running;
}

@keyframes elw-social-section-enter {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.992);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes elw-social-ambient-enter {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes elw-social-grid-enter {
  from {
    opacity: 0;
    transform: scale(1.04);
  }
  to {
    opacity: 0.5;
    transform: scale(1);
  }
}

@keyframes elw-social-fade-up {
  from {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes elw-social-from-left {
  from {
    opacity: 0;
    transform: translate3d(-52px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes elw-social-from-right {
  from {
    opacity: 0;
    transform: translate3d(52px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* ---------------- RESPONSIVE ---------------- */

@media (max-width: 760px) {
  .elw-social-section {
    min-height: 0;
    padding: 26px;
    border-radius: 32px;
  }

  .elw-social-cards {
    grid-template-columns: 1fr;
  }

  .elw-social-card,
  .elw-social-card--instagram,
  .elw-social-card--facebook {
    min-height: 310px;
    margin: 0;
  }

  .elw-social-card--instagram,
  .elw-social-card--facebook {
    animation-name: elw-social-fade-up;
  }
}

@media (max-width: 520px) {
  .elw-social-shell {
    padding: 12px;
  }

  .elw-social-section {
    padding: 24px 18px;
    border-radius: 28px;
  }

  .elw-social-title {
    font-size: clamp(2.25rem, 12vw, 3rem);
  }

  .elw-social-description {
    font-size: 15px;
  }

  .elw-social-card {
    min-height: 300px;
    padding: 24px 20px;
    border-radius: 26px;
  }

  .elw-social-card--instagram .elw-social-card__surface,
  .elw-social-card--facebook .elw-social-card__surface {
    border-radius: 26px;
  }

  .elw-social-card__icon {
    width: 52px;
    height: 52px;
  }

  .elw-social-note {
    align-items: flex-start;
    border-radius: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elw-social-section,
  .elw-social-section__ambient,
  .elw-social-section__grid,
  .elw-social-header,
  .elw-social-card,
  .elw-social-note {
    animation: none;
  }

  .elw-social-card__surface,
  .elw-social-card__icon,
  .elw-social-card__arrow {
    transition: none;
  }
}/* End custom CSS */