/**
 * Qasser Laura presentation layer.
 *
 * Every rule is opt-in through the ql-enhanced body class so the layer can be
 * disabled without touching Elementor content or its generated styles.
 */

body.ql-enhanced {
  --ql-primary: #312684;
  --ql-primary-soft: #5442ce;
  --ql-accent: #dc4828;
  --ql-accent-strong: #c33c20;
  --ql-ink: #29263a;
  --ql-muted: #656173;
  --ql-surface: #ffffff;
  --ql-surface-soft: #f8f7fc;
  --ql-border: rgba(49, 38, 132, 0.12);
  --ql-shadow-sm: 0 8px 24px rgba(32, 25, 78, 0.1);
  --ql-shadow-md: 0 16px 38px rgba(32, 25, 78, 0.16);
  --ql-radius-sm: 10px;
  --ql-radius-md: 16px;
  color: var(--ql-ink);
  background: var(--ql-surface);
  text-rendering: optimizeLegibility;
}

body.ql-enhanced .site-main :where(.elementor-widget-heading, .elementor-widget-theme-post-title) .elementor-heading-title {
  line-height: 1.35;
  text-wrap: balance;
}

body.ql-enhanced .site-main .elementor-widget-text-editor {
  line-height: 1.85;
}

body.ql-enhanced .elementor-widget-text-editor p:last-child {
  margin-block-end: 0;
}

body.ql-enhanced :where(a, button, input, textarea, select, summary, [role="button"], [tabindex]):focus-visible {
  outline: 3px solid #f06509;
  outline-offset: 4px;
  border-radius: 4px;
}

/* Header */
body.ql-enhanced .elementor-location-header {
  position: relative;
  z-index: 1000;
}

body.ql-enhanced .elementor-location-header .elementor-element-3e3c7d67 {
  background: linear-gradient(112deg, var(--ql-primary) 0%, #4d35bd 56%, #6400d4 100%) !important;
  border-block-end: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 7px 26px rgba(25, 17, 73, 0.18);
}

body.ql-enhanced .elementor-location-header .elementor-element-3e3c7d67.elementor-sticky--active {
  box-shadow: 0 10px 30px rgba(25, 17, 73, 0.24);
}

body.ql-enhanced .elementor-location-header .elementor-element-7946d02 img {
  width: auto;
  max-width: min(180px, 100%);
  max-height: 74px;
  object-fit: contain;
}

body.ql-enhanced .elementor-location-header .elementor-nav-menu--main .elementor-item {
  border-radius: 7px;
  transition: color 180ms ease, background-color 180ms ease;
}

body.ql-enhanced .elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
body.ql-enhanced .elementor-location-header .elementor-nav-menu--main .elementor-item:focus-visible {
  background: rgba(255, 255, 255, 0.08);
}

body.ql-enhanced .elementor-location-header .elementor-menu-toggle {
  width: 46px;
  min-height: 46px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--ql-radius-sm);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 6px 18px rgba(25, 17, 73, 0.18);
}

body.ql-enhanced .elementor-location-header .elementor-nav-menu--dropdown {
  overflow: hidden;
  border: 1px solid var(--ql-border);
  border-radius: 0 0 var(--ql-radius-md) var(--ql-radius-md);
  box-shadow: var(--ql-shadow-md) !important;
}

body.ql-enhanced .elementor-location-header .elementor-nav-menu--dropdown .elementor-item {
  min-height: 48px;
  justify-content: center;
}

/* Buttons and calls to action */
body.ql-enhanced .elementor-widget-button .elementor-button,
body.ql-enhanced .elementor-widget-slides .elementor-slide-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: var(--ql-radius-sm) !important;
  box-shadow: 0 8px 20px rgba(49, 38, 132, 0.2) !important;
  transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

body.ql-enhanced :where(
  .elementor-location-header .elementor-element-71b4084,
  .elementor-location-footer .elementor-element-ddd584d,
  .elementor-11 .elementor-element-56159f9,
  .elementor-11 .elementor-element-433b40ec,
  .elementor-11 .elementor-element-4771f75d,
  .elementor-14 .elementor-element-8c206e2,
  .elementor-14 .elementor-element-723f6e7,
  .elementor-139 .elementor-element-234a2625
) .elementor-button {
  color: #fff !important;
  fill: #fff !important;
  background-color: var(--ql-accent-strong) !important;
}

body.ql-enhanced .elementor-button .elementor-button-text {
  white-space: nowrap;
}

/* Home hero */
body.ql-enhanced.home .elementor-element-788df71 .swiper-slide {
  height: clamp(570px, 70vh, 728px) !important;
  min-height: 570px;
}

body.ql-enhanced.home .elementor-element-788df71 .swiper-slide-bg {
  background-position: center center;
}

body.ql-enhanced.home .elementor-element-788df71 .elementor-background-overlay {
  opacity: 1 !important;
  background: linear-gradient(120deg, rgba(18, 14, 51, 0.82) 0%, rgba(49, 38, 132, 0.58) 58%, rgba(220, 72, 40, 0.2) 100%) !important;
}

body.ql-enhanced.home .elementor-element-788df71 .swiper-slide-inner {
  padding-inline: clamp(20px, 5vw, 72px) !important;
}

body.ql-enhanced.home .elementor-element-788df71 .swiper-slide-contents {
  width: 100%;
  max-width: min(760px, calc(100% - 40px)) !important;
  margin-inline: auto;
  text-shadow: 0 3px 16px rgba(0, 0, 0, 0.52) !important;
}

body.ql-enhanced.home .elementor-element-788df71 .elementor-slide-heading {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  line-height: 1.3 !important;
  text-wrap: balance;
}

body.ql-enhanced.home .elementor-element-788df71 .elementor-slide-description {
  max-width: 680px;
  margin-inline: auto;
  font-size: clamp(1rem, 1.8vw, 1.25rem) !important;
  line-height: 1.9;
}

body.ql-enhanced.home .elementor-element-788df71 .elementor-slide-button {
  min-width: 168px;
  color: #fff !important;
  background: linear-gradient(135deg, var(--ql-accent-strong), var(--ql-primary)) !important;
}

/* Product presentation */
body.ql-enhanced.home .elementor-356 .elementor-element-60dca78,
body.ql-enhanced.page-id-16 .elementor-139 .elementor-element-70f95b7a {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: var(--ql-radius-md) !important;
  box-shadow: var(--ql-shadow-md) !important;
  transition: transform 220ms ease, box-shadow 220ms ease;
}

body.ql-enhanced.page-id-16 .elementor-element-d40b00f .elementor-loop-container {
  gap: 28px !important;
}

body.ql-enhanced.page-id-16 .elementor-139 .elementor-element-26183039 .elementor-heading-title {
  font-size: clamp(1.7rem, 3.4vw, 2.45rem) !important;
  line-height: 1.35;
}

/* Home service/value panels */
body.ql-enhanced.home :where(.elementor-element-f3dbb31, .elementor-element-c625413) {
  border: 1px solid var(--ql-border);
  border-radius: var(--ql-radius-md) !important;
  box-shadow: var(--ql-shadow-sm) !important;
}

body.ql-enhanced.home :where(
  .elementor-element-38061b3c,
  .elementor-element-2a18761a,
  .elementor-element-77fc93ba,
  .elementor-element-9488e2b,
  .elementor-element-28dd1e8f
) {
  overflow: hidden;
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(28, 20, 76, 0.2) !important;
}

/* Blog cards */
body.ql-enhanced .elementor-widget-posts .elementor-post {
  overflow: hidden;
  border: 1px solid var(--ql-border) !important;
  border-radius: var(--ql-radius-md) !important;
  background: var(--ql-surface);
  box-shadow: var(--ql-shadow-sm) !important;
  transition: transform 220ms ease, box-shadow 220ms ease;
}

body.ql-enhanced .elementor-widget-posts .elementor-post__thumbnail {
  overflow: hidden;
}

body.ql-enhanced .elementor-widget-posts .elementor-post__thumbnail img {
  filter: none !important;
  transition: transform 360ms ease;
}

body.ql-enhanced .elementor-widget-posts .elementor-post__text {
  padding-inline: 22px !important;
  padding-block-end: 22px !important;
}

body.ql-enhanced .elementor-widget-posts .elementor-post__title,
body.ql-enhanced .elementor-widget-posts .elementor-post__title a {
  line-height: 1.5;
}

body.ql-enhanced .elementor-widget-posts .elementor-post__meta-data {
  color: var(--ql-muted) !important;
}

body.ql-enhanced .elementor-widget-posts .elementor-post__title a:hover,
body.ql-enhanced .elementor-widget-posts .elementor-post__read-more:hover {
  color: var(--ql-accent-strong) !important;
}

/* The single-post template contains a second title widget before the content. */
body.ql-enhanced.single-post .elementor-element-3f573649 {
  display: none !important;
}

/* Branch cards */
body.ql-enhanced.page-id-341 :where(
  .elementor-element-94b705b,
  .elementor-element-79d1d06,
  .elementor-element-405096a,
  .elementor-element-42ce4ae,
  .elementor-element-ec90678,
  .elementor-element-761ee5f
) {
  overflow: hidden;
  border: 1px solid var(--ql-border);
  border-radius: var(--ql-radius-md) !important;
  background: var(--ql-surface);
  box-shadow: var(--ql-shadow-sm) !important;
  transition: transform 220ms ease, box-shadow 220ms ease;
}

body.ql-enhanced.page-id-341 .elementor-widget-html iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  border-radius: 12px;
}

/* About page */
body.ql-enhanced.page-id-14 .elementor-element-e8e435c img {
  border-radius: var(--ql-radius-md);
  box-shadow: var(--ql-shadow-md);
}

body.ql-enhanced.page-id-14 :where(.elementor-element-965f1d6, .elementor-element-56f8adf) {
  border: 1px solid var(--ql-border);
  border-radius: var(--ql-radius-md) !important;
  box-shadow: var(--ql-shadow-sm) !important;
}

body.ql-enhanced.page-id-14 :where(
  .elementor-element-09807fe,
  .elementor-element-0019946,
  .elementor-element-7d8d70e,
  .elementor-element-4102dc7,
  .elementor-element-8ffdc16
) {
  overflow: hidden;
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(28, 20, 76, 0.2) !important;
}

/* Footer and contact strip */
body.ql-enhanced .elementor-location-footer .elementor-element-b5c7fc0 {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 18px !important;
  box-shadow: var(--ql-shadow-md);
}

body.ql-enhanced .elementor-location-footer .elementor-element-b5c7fc0::before {
  background-color: rgba(49, 38, 132, 0.86) !important;
}

body.ql-enhanced .elementor-location-footer .elementor-element-764b155a {
  text-shadow: 0 3px 15px rgba(0, 0, 0, 0.46) !important;
}

body.ql-enhanced .elementor-location-footer .elementor-element-541b3fd4 {
  border-block-start: 3px solid var(--ql-accent);
  background: linear-gradient(180deg, #fff 0%, var(--ql-surface-soft) 100%);
  box-shadow: 0 -8px 28px rgba(32, 25, 78, 0.08) !important;
}

body.ql-enhanced .elementor-location-footer .elementor-element-70c03178 img {
  width: auto;
  max-width: min(220px, 100%);
  height: auto;
}

body.ql-enhanced .elementor-location-footer .elementor-element-7ef571fb .elementor-item {
  min-height: 36px;
  text-decoration: none !important;
  transition: color 180ms ease, transform 180ms ease;
}

body.ql-enhanced .elementor-location-footer .elementor-icon-box-title,
body.ql-enhanced .elementor-location-footer .elementor-icon-box-title a {
  line-height: 1.55;
  overflow-wrap: anywhere;
}

body.ql-enhanced .elementor-location-footer .elementor-icon {
  transition: transform 180ms ease, box-shadow 180ms ease;
}

/* Pointer-only motion keeps touch interactions stable. */
@media (hover: hover) and (pointer: fine) {
  body.ql-enhanced .elementor-widget-button .elementor-button:hover,
  body.ql-enhanced .elementor-widget-slides .elementor-slide-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(49, 38, 132, 0.26) !important;
  }

  body.ql-enhanced.home .elementor-356 .elementor-element-60dca78:hover,
  body.ql-enhanced.page-id-16 .elementor-139 .elementor-element-70f95b7a:hover,
  body.ql-enhanced .elementor-widget-posts .elementor-post:hover,
  body.ql-enhanced.page-id-341 :where(
    .elementor-element-94b705b,
    .elementor-element-79d1d06,
    .elementor-element-405096a,
    .elementor-element-42ce4ae,
    .elementor-element-ec90678,
    .elementor-element-761ee5f
  ):hover {
    transform: translateY(-5px);
    box-shadow: var(--ql-shadow-md) !important;
  }

  body.ql-enhanced .elementor-widget-posts .elementor-post:hover .elementor-post__thumbnail img {
    transform: scale(1.035);
  }

  body.ql-enhanced .elementor-location-footer .elementor-icon-box-wrapper:hover .elementor-icon {
    transform: translateY(-2px);
    box-shadow: 0 7px 16px rgba(49, 38, 132, 0.18);
  }
}

@media (max-width: 1024px) {
  body.ql-enhanced.home .elementor-element-788df71 .swiper-slide {
    height: 580px !important;
    min-height: 580px;
  }

  body.ql-enhanced .elementor-location-header .elementor-element-7946d02 img {
    max-height: 64px;
  }

  body.ql-enhanced.page-id-16 .elementor-element-d40b00f .elementor-loop-container {
    gap: 22px !important;
  }
}

@media (max-width: 767px) {
  body.ql-enhanced .elementor-location-header .elementor-element-254c20b8 {
    gap: 12px;
  }

  body.ql-enhanced .elementor-location-header .elementor-element-0147683 {
    display: none !important;
  }

  body.ql-enhanced .elementor-location-header .elementor-element-efd55ba,
  body.ql-enhanced .elementor-location-header .elementor-element-559292af {
    width: calc(50% - 6px) !important;
    margin-inline: 0 !important;
  }

  body.ql-enhanced .elementor-location-header .elementor-element-efd55ba {
    justify-content: flex-start;
  }

  body.ql-enhanced .elementor-location-header .elementor-element-559292af {
    align-items: flex-end;
  }

  body.ql-enhanced .elementor-location-header .elementor-element-7946d02 img {
    max-width: 132px;
    max-height: 64px;
  }

  body.ql-enhanced.home .elementor-element-788df71 .swiper-slide {
    height: clamp(480px, 66svh, 530px) !important;
    min-height: 480px;
  }

  body.ql-enhanced.home .elementor-element-788df71 .swiper-slide-inner {
    padding: 0 20px 24px !important;
  }

  body.ql-enhanced.home .elementor-element-788df71 .swiper-slide-contents {
    max-width: 100% !important;
  }

  body.ql-enhanced.home .elementor-element-788df71 .swiper-slide-inner .elementor-slide-heading:not(:last-child) {
    margin-block-end: 18px;
  }

  body.ql-enhanced.home .elementor-element-788df71 .swiper-slide-inner .elementor-slide-description:not(:last-child) {
    margin-block-end: 26px;
  }

  body.ql-enhanced.home .elementor-element-ecb66a9 {
    --margin-top: -90px;
  }

  body.ql-enhanced :where(
    .elementor-11 .elementor-element-6fa93d6,
    .elementor-11 .elementor-element-4c2034d4,
    .elementor-11 .elementor-element-65db84f1,
    .elementor-14 .elementor-element-e8d6ce2,
    .elementor-16 .elementor-element-c362603,
    .elementor-341 .elementor-element-b77527e
  ) {
    --padding-top: 64px;
    --padding-bottom: 52px;
  }

  body.ql-enhanced.page-id-16 .elementor-element-d40b00f .elementor-loop-container {
    gap: 20px !important;
  }

  body.ql-enhanced .elementor-widget-posts .elementor-post__text {
    padding-inline: 18px !important;
    padding-block-end: 20px !important;
  }

  body.ql-enhanced .elementor-location-footer .elementor-element-b5c7fc0 {
    border-inline: 0;
    border-radius: 0 !important;
  }

  body.ql-enhanced .elementor-location-footer .elementor-element-541b3fd4 {
    padding-inline: 18px;
  }

  body.ql-enhanced .elementor-location-footer .elementor-element-70c03178 img {
    max-width: 180px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ql-enhanced *,
  body.ql-enhanced *::before,
  body.ql-enhanced *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  body.ql-enhanced .elementor-invisible {
    visibility: visible !important;
  }
}
