/* ApplyDirect custom styles */

/* Prevent horizontal scroll from peek/overflow effects */
html,
body {
  overflow-x: hidden;
}

/* Hero image container — bleed to right edge, overflow visible for symbol */
.ad-hero-bleed-right {
  overflow: visible !important;
}

@media (min-width: 768px) {
  .ad-hero-bleed-right {
    width: calc(100% + 48px);
    max-width: none !important;
    margin-right: -48px;
  }

  /* Only target hero photo, not symbol */
  .ad-hero-bleed-right > .elementor-widget:not(.ad-hero-symbol) img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 0 0 0 260px;
  }
}

@media (max-width: 767px) {
  .ad-hero-bleed-right {
    width: calc(100% + 16px);
    max-width: none !important;
    margin-right: -16px;
  }

  /* Hero heading — full width on mobile (override Elementor inline CSS variable) */
  .elementor-element-a100003 {
    --container-widget-width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Hero photo border-radius bottom-left on mobile */
  .ad-hero-bleed-right > .elementor-widget:not(.ad-hero-symbol) img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 0 0 0 60px;
  }
}

/* Hero symbol — Elementor native absolute positioning.
   Only add visual effects, positioning handled by Elementor.
   pointer-events: none only on frontend, not in editor */
.elementor-widget.ad-hero-symbol {
  mix-blend-mode: hard-light;
}

body:not(.elementor-editor-active) .elementor-widget.ad-hero-symbol {
  pointer-events: none;
  z-index: 0 !important;
}

/* ============================================
   Design System — Button colors
   Override --e-global-color-accent (#61CE70) → white bg, #262525 text
   ============================================ */
.elementor-widget-button .elementor-button {
  background-color: #ffffff !important;
  color: #262525 !important;
}

.elementor-widget-button .elementor-button:hover {
  background-color: #f5f5f5 !important;
  color: #262525 !important;
}

/* Header CTA và buttons có style riêng giữ nguyên (selector specificity cao hơn) */

/* ============================================
   Header (Elementor Theme Builder)
   Elementor sticky adds: .elementor-sticky--effects on scroll
   Body class .is-front-page for homepage (via functions.php)
   States:
   - Default (all pages): transparent bg
   - Front-page (not scrolled): white nav/logo/CTA
   - Inner pages (not scrolled): dark nav/logo, blue CTA
   - Scrolled (all pages): white bg + shadow, dark nav/logo, blue CTA
   ============================================ */

/* Header wrapper — smooth transitions */
.elementor-location-header .ad-header {
  transition: background-color 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

/* Logo — transition for filter change */
.ad-header .elementor-widget-image img {
  transition: filter 0.3s ease;
}

/* ============================================
   Default state — transparent bg, all pages
   ============================================ */
.elementor-location-header .ad-header:not(.elementor-sticky--effects) {
  background-color: transparent !important;
}

/* ============================================
   Scrolled state — white bg + shadow
   ============================================ */
.ad-header.elementor-sticky--effects {
  background-color: #fff !important;
  border-bottom: 1px solid rgba(0, 104, 160, 0.2);
  box-shadow: 0px 8px 8px -4px rgba(24, 39, 75, 0.08),
              0px 4px 6px -4px rgba(24, 39, 75, 0.12);
}

/* ============================================
   Nav/logo/CTA — default white (front-page only)
   ============================================ */

/* Header typography — override Elementor global */
.ad-header .elementor-nav-menu .elementor-item,
.ad-header .elementor-button {
  font-weight: 400 !important;
  font-size: 16px !important;
}

/* Nav text — default white on front-page */
.is-front-page .ad-header:not(.elementor-sticky--effects) .elementor-nav-menu a {
  color: #FFFFFF !important;
}
.is-front-page .ad-header:not(.elementor-sticky--effects) .elementor-nav-menu a:hover {
  opacity: 0.8;
}

/* Nav submenu dropdown — always dark text on white bg, all states */
.is-front-page .ad-header:not(.elementor-sticky--effects) .elementor-nav-menu--dropdown a,
.is-front-page .ad-header .elementor-nav-menu--dropdown a,
.ad-header .elementor-nav-menu--dropdown a {
  color: #2A2A2A !important;
  opacity: 1 !important;
}
.ad-header .elementor-nav-menu--dropdown a:hover {
  color: #0C7ABF !important;
  background-color: #f3f4f6 !important;
}
.ad-header .elementor-nav-menu--dropdown {
  background-color: #FFFFFF !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px -4px rgba(24, 39, 75, 0.12) !important;
  overflow: hidden;
}

/* ============================================
   Nav/logo/CTA — dark (inner pages default + scrolled all)
   ============================================ */

/* Nav text dark */
body:not(.is-front-page) .ad-header .elementor-nav-menu a,
.ad-header.elementor-sticky--effects .elementor-nav-menu a {
  color: #1a1a1a !important;
  opacity: 1;
}
body:not(.is-front-page) .ad-header .elementor-nav-menu a:hover,
.ad-header.elementor-sticky--effects .elementor-nav-menu a:hover {
  opacity: 0.8;
}

/* Nav submenu indicator — color #91E7FF, flip vertically on hover */
.ad-header .elementor-nav-menu .sub-arrow,
.ad-header .elementor-nav-menu .sub-arrow i,
.ad-header .elementor-nav-menu .sub-arrow svg {
  color: #91E7FF !important;
  fill: #91E7FF !important;
}
.ad-header .elementor-nav-menu .sub-arrow {
  transition: transform 0.3s ease;
}
.ad-header .elementor-nav-menu li:hover > a > .sub-arrow {
  transform: scaleY(-1);
}

/* Logo white PNG → dark via CSS filter */
body:not(.is-front-page) .ad-header .elementor-widget-image img,
.ad-header.elementor-sticky--effects .elementor-widget-image img {
  filter: brightness(0) saturate(100%) invert(20%) sepia(50%) saturate(500%) hue-rotate(180deg);
}

/* CTA button: blue bg */
body:not(.is-front-page) .ad-header .elementor-widget-button .elementor-button,
.ad-header.elementor-sticky--effects .elementor-widget-button .elementor-button {
  background-color: #0C7ABF !important;
  color: #fff !important;
  border-color: #0C7ABF !important;
}
body:not(.is-front-page) .ad-header .elementor-widget-button .elementor-button:hover,
.ad-header.elementor-sticky--effects .elementor-widget-button .elementor-button:hover {
  background-color: #065A8E !important;
  border-color: #065A8E !important;
}

/* Header actions — override Elementor's align-self:stretch on widgets */
.ad-header__actions > .elementor-widget {
  align-self: center !important;
}
/* Ensure 32px gap between button and search on desktop */
.ad-header__actions.e-con {
  gap: 32px !important;
}
.ad-header__search .ad-search-icon {
  color: #FFFFFF;
  display: flex;
  cursor: pointer;
}
.ad-header__search .ad-search-icon svg {
  display: block;
}

/* Search icon dark */
body:not(.is-front-page) .ad-header .ad-header__search .ad-search-icon,
.ad-header.elementor-sticky--effects .ad-header__search .ad-search-icon {
  color: #1a1a1a !important;
}

/* Hamburger toggle dark */
body:not(.is-front-page) .ad-header .elementor-menu-toggle,
.ad-header.elementor-sticky--effects .elementor-menu-toggle {
  color: #1a1a1a !important;
}
body:not(.is-front-page) .ad-header .elementor-menu-toggle::before,
.ad-header.elementor-sticky--effects .elementor-menu-toggle::before {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 8.5H21M3 15.5H21' stroke='%231a1a1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

/* ============================================
   Layout — header offset (88px desktop, 72px mobile)
   ============================================ */
.site-main {
  padding-top: 88px;
}

/* Front-page: pull hero up behind transparent header */
.is-front-page .site-main {
  padding-top: 0;
  margin-top: -88px;
}

/* Sector pages: pull gradient hero up behind transparent header */
.is-category-detail-page .site-main {
  padding-top: 0;
}

/* Desktop: nav-menu before button (DOM order is button→nav for mobile-first) */
.ad-header__actions .elementor-widget-nav-menu { order: -1 !important; }
/* Remove right padding on last nav item (About Us) to tighten gap to button */
.ad-header .elementor-nav-menu > li:last-child > a {
  padding-right: 0 !important;
}

/* ============================================
   Tablet & Mobile (≤1024px)
   ============================================ */

@media (max-width: 1024px) {
  .site-main {
    padding-top: 72px;
  }

  .is-front-page .site-main {
    margin-top: -72px;
  }

  .is-category-detail-page .site-main {
    padding-top: 0;
  }

  /* Sector hero shape: bottom-right on mobile */
  .sector-hero-shape {
    top: auto !important;
    bottom: 0 !important;
  }

  /* Header mobile: reset order to DOM order (button→hamburger) */
  .ad-header__actions .elementor-widget-nav-menu { order: 0 !important; }

  /* Header mobile: force hide search icon */
  .ad-header .ad-header__search {
    display: none !important;
  }

  /* Header mobile: shrink nav-menu to hamburger toggle size only */
  .ad-header .elementor-widget-nav-menu {
    --container-widget-width: 24px !important;
    --container-widget-flex-grow: 0 !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    max-width: 24px !important;
    overflow: visible !important;
  }
  /* Hide dropdown until hamburger is clicked */
  .ad-header .elementor-nav-menu--dropdown {
    display: none;
  }
  .ad-header .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown {
    display: block;
  }

  /* Header mobile: override Elementor generated CSS variables */
  .ad-header.e-con {
    --flex-wrap-mobile: nowrap !important;
    --container-widget-flex-grow: 0 !important;
    --container-widget-width: auto !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  .ad-header__actions.e-con {
    --flex-wrap-mobile: nowrap !important;
    --container-widget-flex-grow: 0 !important;
    --container-widget-width: auto !important;
    --justify-content: flex-end !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin-left: auto !important;
    width: auto !important;
    flex-shrink: 0 !important;
  }


  /* Header mobile: custom 2-line hamburger icon */
  .ad-header .elementor-menu-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0 !important;
    background: none !important;
    border: none !important;
  }
  .ad-header .elementor-menu-toggle i,
  .ad-header .elementor-menu-toggle svg.e-font-icon-svg {
    display: none !important;
  }
  .ad-header .elementor-menu-toggle::before {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 8.5H21M3 15.5H21' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
  }
}

/* Focus visible for accessibility */
.ad-header a:focus-visible,
.ad-header button:focus-visible {
  outline: 2px solid #0C7ABF;
  outline-offset: 2px;
  border-radius: 4px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .elementor-location-header .ad-header,
  .ad-header .elementor-widget-image img {
    transition: none;
  }
}

/* ============================================
   Mobile Overlay Menu
   ============================================ */

/* Overlay — hidden by default */
.ad-mobile-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background: linear-gradient(235.66deg, #0068A0 25%, #012C43 100%);
  z-index: 9998;
  padding-top: 72px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  flex-direction: column;
}

/* Activate on tablet & mobile */
@media (max-width: 1024px) {
  .ad-mobile-overlay.is-open {
    display: flex;
    animation: ad-overlay-fade-in 0.2s ease-out;
  }
  .ad-mobile-overlay.is-closing {
    animation: ad-overlay-fade-out 0.2s ease-in forwards;
  }
}

@keyframes ad-overlay-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes ad-overlay-fade-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

/* Body lock when overlay open (JS sets position:fixed for iOS Safari) */
body.ad-overlay-open {
  overflow: hidden !important;
  width: 100%;
}

/* Header override when overlay is open — transparent to blend with gradient */
body.ad-overlay-open .elementor-location-header .ad-header {
  background-color: transparent !important;
  box-shadow: none !important;
  border-bottom: none !important;
}
body.ad-overlay-open .ad-header .elementor-widget-image img {
  filter: none !important;
}
body.ad-overlay-open .ad-header .elementor-widget-button .elementor-button {
  background-color: #fff !important;
  color: #1a1a1a !important;
  border-color: #fff !important;
}
body.ad-overlay-open .ad-header .ad-header__search .ad-search-icon {
  color: #fff !important;
}

/* Hamburger → × close icon (high specificity to override scrolled state) */
@media (max-width: 1024px) {
  body.ad-overlay-open .ad-header .elementor-menu-toggle::before {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 6L18 18M18 6L6 18' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }
}

/* ---- Search bar (decorative) ---- */
.ad-mobile-overlay__search {
  padding: 24px 24px 8px;
}
.ad-mobile-overlay__search-inner {
  display: flex;
  border-radius: 8px;
  overflow: hidden;
  height: 48px;
}
.ad-mobile-overlay__search-inner input {
  flex: 1;
  border: none;
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  font-size: 15px;
  padding: 0 16px;
  outline: none;
}
.ad-mobile-overlay__search-inner input::placeholder {
  color: rgba(255, 255, 255, 0.6);
}
.ad-mobile-overlay__search-inner button {
  width: 48px;
  border: none;
  background: #0C7ABF;
  cursor: default;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* ---- Menu list ---- */
.ad-mobile-overlay__nav {
  flex: 1;
  padding: 8px 0;
}
.ad-mobile-overlay__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ad-mobile-overlay__item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  font-weight: 400;
  padding: 14px 24px;
  transition: background-color 0.15s ease;
}
.ad-mobile-overlay__item a:hover,
.ad-mobile-overlay__item a:focus {
  background-color: rgba(255, 255, 255, 0.08);
}
.ad-mobile-overlay__text {
  flex: 1;
}
.ad-mobile-overlay__arrow {
  flex-shrink: 0;
  opacity: 0.6;
}

/* Submenu (hidden in DOM, cloned by JS) */
.ad-mobile-overlay__submenu {
  display: none;
}

/* ---- Back button (State B) ---- */
.ad-mobile-overlay__back {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 14px 24px;
  background: none;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  text-align: left;
}
.ad-mobile-overlay__back:hover {
  background-color: rgba(255, 255, 255, 0.08);
}

/* ---- State transitions ---- */
.ad-mobile-overlay__main.is-hidden,
.ad-mobile-overlay__sub.is-hidden,
.ad-mobile-overlay__search.is-hidden {
  display: none;
}
.is-fading-in {
  animation: ad-overlay-fade-in 0.2s ease-out;
}

/* ---- Focus visible ---- */
.ad-mobile-overlay a:focus-visible,
.ad-mobile-overlay button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -2px;
  border-radius: 4px;
}

/* ---- Reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
  .ad-mobile-overlay.is-open,
  .ad-mobile-overlay.is-closing,
  .is-fading-in {
    animation: none;
  }
}

/* ============================================
   Phase 2+ styles below
   ============================================ */

/* ============================================
   Section 2: Tabs
   Elementor nested-tabs CSS override strategy:
   - Colors: via CSS custom properties (Elementor reads these)
   - Border/layout: direct rules with !important (Elementor sets border-style:none)
   - Icon colors: via --n-tabs-icon-color-* vars
   Reference: widget-nested-tabs.min.css source
   ============================================ */

/* CSS variables — Elementor reads these for text/bg/icon colors */
.elementor-widget-n-tabs .e-n-tabs {
  --n-tabs-title-color: #6b7280;
  --n-tabs-title-color-hover: #262525;
  --n-tabs-title-color-active: #262525;
  --n-tabs-title-background-color: transparent;
  --n-tabs-title-background-color-hover: transparent;
  --n-tabs-title-background-color-active: transparent;
  --n-tabs-icon-color: #6b7280;
  --n-tabs-icon-color-hover: #262525;
  --n-tabs-icon-color-active: #2196F3;
  --n-tabs-title-flex-grow: 1;
  --n-tabs-title-flex-shrink: 1;
  --n-tabs-title-flex-basis: 0;
}

/* Tab bar — full-width border-bottom */
.elementor-widget-n-tabs .e-n-tabs-heading {
  border-bottom: 1px solid #E5E7EB !important;
}

/* Each tab — equal width, reserve space for active indicator */
.elementor-widget-n-tabs .e-n-tab-title {
  justify-content: center !important;
  border-style: solid !important;
  border-width: 0 0 4px 0 !important;
  border-color: transparent !important;
  margin-bottom: -1px !important;
}

/* Active tab — blue bottom indicator */
.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"] {
  border-color: transparent transparent #0194E4 transparent !important;
}

/* Mobile: 3 tabs 1 hàng ngang, icon+text xếp dọc */
@media (max-width: 767px) {
  .elementor-widget-n-tabs .e-n-tabs-heading {
    display: flex !important;
    flex-direction: row !important;
  }

  .elementor-widget-n-tabs .e-n-tab-title {
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 12px 8px !important;
  }
}

/* ============================================
   Section 3: Who's using Apply Direct?
   Logo marquee + stats cards on gradient bg
   ============================================ */

/* --- Marquee --- */
.ad-marquee {
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 6%,
    black 94%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 6%,
    black 94%,
    transparent 100%
  );
}

.ad-marquee__track {
  display: flex !important;
  gap: 24px;
  width: max-content !important;
  flex-wrap: nowrap !important;
}

.ad-marquee.is-ready .ad-marquee__track {
  animation: ad-marquee-scroll 30s linear infinite;
  will-change: transform;
}

.ad-marquee__item {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 12px;
  padding: 16px 24px;
  min-width: 160px;
  height: 72px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.ad-marquee__item img {
  max-height: 40px;
  max-width: 120px;
  object-fit: contain;
}

@keyframes ad-marquee-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* --- Description text opacity --- */
.ad-whos-using .elementor-widget-text-editor p {
  opacity: 0.88;
}

/* --- Stat cards — glass morphism --- */
.ad-stat-card {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.20) !important;
  border-radius: 20px !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.ad-stat-card .elementor-heading-title {
  font-variant-numeric: tabular-nums;
}

.ad-stat-card .elementor-widget-text-editor p {
  opacity: 0.88;
}

/* --- Mobile: stats peek carousel --- */
@media (max-width: 767px) {
  .ad-stats-cards {
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
    scrollbar-width: none;
  }

  .ad-stats-cards::-webkit-scrollbar {
    display: none;
  }

  .ad-stat-card {
    flex: 0 0 75% !important;
    scroll-snap-align: start;
    min-width: 0;
  }
}

/* --- Reduced motion (marquee) --- */
@media (prefers-reduced-motion: reduce) {
  .ad-marquee__track {
    animation: none !important;
  }
}

/* =============================================
   Section 5: Testimonial Carousel
   ============================================= */

/* Fixed logo — override Elementor generated .elementor-element-a500003 width */
.elementor-element.elementor-element-a500003 {
  width: 318px !important;
  min-width: 318px !important;
  flex-shrink: 0 !important;
}

.ad-testimonial-logo.elementor-widget-image img {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
}

@media (max-width: 768px) {
  .elementor-element.elementor-element-a500003 {
    width: 130px !important;
    min-width: 130px !important;
  }
}

/* Hide carousel image area — no Elementor toggle exists; CSS is the only option */
.ad-testimonial .elementor-testimonial__image {
  display: none;
}

/* Carousel slide min-height to prevent layout shift between slides */
.ad-testimonial .swiper-slide {
  min-height: 300px;
}

/* Label styling (per-slide label in content field) */
.ad-testimonial .ad-testimonial-label {
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 600;
  color: #6B7280 !important;
  margin: 0 0 16px 0 !important;
  line-height: 1.4;
}

/* Quote typography */
.ad-testimonial .elementor-testimonial__text {
  font-size: 18px;
  line-height: 1.65;
  color: #1A1A1A;
  max-width: 640px;
}

.ad-testimonial .elementor-testimonial__text p {
  margin: 0 0 12px 0;
}

.ad-testimonial .elementor-testimonial__text p:last-child {
  margin-bottom: 0;
}

/* Author styling */
.ad-testimonial .elementor-testimonial__name {
  font-weight: 700;
  color: #1A1A1A;
  font-size: 16px;
}

.ad-testimonial .elementor-testimonial__title {
  font-weight: 400;
  color: #6B7280;
  font-size: 14px;
}

/* Dot indicators */
.ad-testimonial .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #A5DCE5;
  opacity: 0.6;
  transition: all 0.3s ease;
}

.ad-testimonial .swiper-pagination-bullet-active {
  background: #0C7ABF;
  opacity: 1;
  transform: scale(1.4);
}

/* Citation spacing */
.ad-testimonial .elementor-testimonial__cite {
  margin-top: 24px;
}

/* --- Section 5: Mobile --- */
@media (max-width: 768px) {
  .elementor-widget-testimonial-carousel .swiper-slide {
    padding: 0 !important;
  }

  .ad-testimonial .elementor-testimonial__text {
    font-size: 16px;
    max-width: 100%;
  }

  .ad-testimonial .swiper-pagination {
    text-align: center;
  }
}

/* --- Reduced motion (testimonial) --- */
@media (prefers-reduced-motion: reduce) {
  .ad-testimonial .swiper-wrapper {
    transition-duration: 0ms !important;
  }
}

/* =============================================
   Section 6: Case Studies Carousel
   loop-carousel (case studies) with peek effect, arrows, dots
   ============================================= */

/* Peek Carousel — reusable class, wrap loop-carousel widget in container with css_classes="ad-peek-carousel" */

/* Content container — max-width 1280px, centered */
.ad-peek-carousel .elementor-section {
  overflow: visible !important;
}

.ad-peek-carousel .elementor-element-a600002 {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  overflow: visible !important;
}

/* Carousel widget — flush right, left-aligned with heading */
.ad-peek-carousel .elementor-widget-loop-carousel {
  padding-left: calc((100% - 1280px) / 2 + 24px) !important;
}

@media (max-width: 1280px) {
  .ad-peek-carousel .elementor-widget-loop-carousel {
    padding-left: 24px !important;
  }
}

/* Body text max-width */
.ad-peek-carousel .elementor-element-a600005 {
  max-width: 680px;
}

/* Mobile: heading + paragraph full width */
@media (max-width: 767px) {
  .ad-peek-carousel .elementor-element-a600004,
  .ad-peek-carousel .elementor-element-a600005 {
    --container-widget-width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Reset default <p> margins within Case Studies */
.ad-peek-carousel .elementor-widget-text-editor p {
  margin-block: 0;
}

.ad-peek-carousel .elementor-widget-loop-carousel,
.ad-peek-carousel .elementor-widget-loop-carousel .elementor-widget-container {
  overflow: visible !important;
}

/* Card — border-radius 16px all 4 corners, position relative for absolute children */
.ad-peek-carousel .ad-case-card {
  position: relative !important;
  border-radius: 16px !important;
  min-height: 480px !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  .ad-peek-carousel .ad-case-card {
    min-height: 214px !important;
  }
}

.ad-peek-carousel .ad-case-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(0deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)),
    linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 15%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0.5) 100%);
  pointer-events: none;
  border-radius: inherit;
}

/* Background image — absolute, full container, border-radius all 4 corners. */
.ad-peek-carousel, .ad-peek-carousel img {
  width: 100%;
}

.ad-peek-carousel .ad-case-card .ad-case-bg {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  flex-grow: 1 !important;
  z-index: 0;
  pointer-events: none;
  border-radius: 16px !important;
  overflow: hidden;
}

.ad-peek-carousel .ad-case-card .ad-case-bg .elementor-widget-container,
.ad-peek-carousel .elementor-widget-image.ad-case-bg,
.ad-peek-carousel .elementor-widget-theme-post-featured-image.ad-case-bg {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  border-radius: 16px !important;
  overflow: hidden;
}

.ad-peek-carousel .ad-case-card .ad-case-bg img {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
  border-radius: 16px !important;
}

/* Logo — absolute overlay, top-left 40px */
.ad-peek-carousel .ad-case-card .ad-case-logo {
  position: absolute !important;
  top: 40px !important;
  left: 40px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 2;
}

.ad-peek-carousel .ad-case-card .ad-case-logo img {
  width: 112px !important;
  height: 64px !important;
  object-fit: contain;
}

/* Bottom content — text left, button right, 40px from edges */
.ad-peek-carousel .ad-case-card .ad-case-bottom {
  position: absolute !important;
  top: auto !important;
  left: 40px !important;
  right: auto !important;
  bottom: 40px !important;
  width: calc(100% - 80px) !important;
  max-width: none !important;
  padding: 0 !important;
  z-index: 2;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 24px !important;
}

/* Excerpt text white + flex grow */
.ad-peek-carousel .ad-case-bottom .elementor-widget-theme-post-excerpt,
.ad-peek-carousel .ad-case-bottom .elementor-widget-theme-post-excerpt p {
  color: #FFFFFF !important;
}

.ad-peek-carousel .ad-case-bottom .elementor-widget-theme-post-excerpt {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}

/* Button shrink-to-fit, stick right */
.ad-peek-carousel .ad-case-bottom .elementor-widget-button {
  flex-shrink: 0 !important;
}

@media (max-width: 767px) {
  .ad-peek-carousel .ad-case-card .ad-case-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 24px !important;
  }

  .ad-peek-carousel .ad-case-card .ad-case-logo {
    top: 24px;
    left: 24px;
  }

  .ad-peek-carousel .ad-case-card .ad-case-logo img {
    width: 71px !important;
    height: 40px !important;
  }
}

/* Peek effect — override Swiper slides-per-view for fractional peek */
.ad-peek-carousel {
  --swiper-slides-to-display: 1.4 !important;
}

.ad-peek-carousel .elementor-loop-container,
.ad-peek-carousel .swiper {
  overflow: visible !important;
  clip-path: inset(0 -200% 0 0);
}

.ad-peek-carousel .swiper-slide {
  overflow: visible !important;
  height: auto !important;
}

/* Equal height: all slides + inner elements stretch to tallest slide */
.ad-peek-carousel .swiper-wrapper {
  align-items: stretch !important;
}

.ad-peek-carousel .swiper-slide > .e-loop-item,
.ad-peek-carousel .swiper-slide > .e-loop-item > .ad-case-card {
  height: 100% !important;
}

@media (max-width: 1024px) {
  .ad-peek-carousel {
    --swiper-slides-to-display: 1.2 !important;
  }
}

@media (max-width: 767px) {
  .ad-peek-carousel {
    --swiper-slides-to-display: 1.1 !important;
  }
}

/* Navigation — arrows + dots below carousel in a row */
.ad-peek-carousel .elementor-swiper-button-prev,
.ad-peek-carousel .elementor-swiper-button-next {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
}

.ad-peek-carousel .swiper-pagination {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  width: auto !important;
  flex: 0 0 auto !important;
  display: flex !important;
  gap: 8px;
}

/* Nav row: carousel widget itself is the flex container (no .elementor-widget-container in optimized markup) */
.ad-peek-carousel .elementor-widget-loop-carousel {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center;
  gap: 16px;
}

/* Carousel takes full width row */
.ad-peek-carousel .elementor-widget-loop-carousel > .elementor-loop-container {
  width: 100%;
  flex: 0 0 100%;
}

/* View all — sits in the nav row, pushed to right */
.ad-peek-carousel > .elementor-element-a600040 {
  position: absolute !important;
  bottom: 56px !important;
  right: calc((100% - 1280px) / 2 + 24px) !important;
  padding: 0 !important;
  width: auto !important;
  z-index: 5;
}

.ad-peek-carousel {
  position: relative !important;
}

@media (max-width: 1280px) {
  .ad-peek-carousel > .elementor-element-a600040 {
    right: 24px !important;
  }
}

/* Mobile/tablet: View all stays absolute, aligned with nav row */
@media (max-width: 1024px) {
  .ad-peek-carousel > .elementor-element-a600040 {
    right: 24px !important;
  }
}

/* Arrow styling — white bg, blue border + icon */
.ad-peek-carousel .elementor-swiper-button {
  width: 44px;
  height: 44px;
  border: 1px solid #0068A0 !important;
  border-radius: 50%;
  background: #FFFFFF !important;
  color: #0068A0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, color 0.2s ease;
}

.ad-peek-carousel .elementor-swiper-button:hover {
  background: #0068A0 !important;
  color: #FFFFFF !important;
}

.ad-peek-carousel .elementor-swiper-button.swiper-button-disabled {
  opacity: 0.4;
  pointer-events: none;
}

.ad-peek-carousel .elementor-swiper-button svg {
  fill: #0068A0 !important;
}

.ad-peek-carousel .elementor-swiper-button:hover svg {
  fill: #FFFFFF !important;
}

/* Dot styling — match testimonial pattern */
.ad-peek-carousel .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #A5DCE5;
  opacity: 0.5;
  transition: all 0.3s ease;
}

.ad-peek-carousel .swiper-pagination-bullet-active {
  background: #0C7ABF;
  opacity: 1;
  transform: scale(1.3);
}

/* Focus visible for accessibility */
.ad-peek-carousel .elementor-swiper-button:focus-visible,
.ad-peek-carousel .elementor-button:focus-visible {
  outline: 2px solid #0C7ABF;
  outline-offset: 2px;
}

/* View all — underline on hover */
.ad-peek-carousel .ad-case-view-all .elementor-button-link:hover {
  text-decoration: underline;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .ad-peek-carousel .swiper-wrapper {
    transition-duration: 0ms !important;
  }
}

/* =============================================
   Section 7: CTA Bottom
   ============================================= */

/* Image Mask - Large curve on the bottom left corner, preserve ratio 1.2478 */
.elementor-element-a700009 img {
  border-radius: 0 0 0 260px !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1.2478 !important;
  object-fit: cover !important;
  display: block !important;
}

@media (max-width: 768px) {
  /* Mobile: border-radius handled by container a700008 (overflow: hidden) */
  .elementor-element-a700009 img {
    border-radius: 0 !important;
  }

  /* Buttons container — force row on mobile */
  .elementor-element-a700005 {
    flex-direction: row !important;
  }
}

/* Section 7 — Book a demo button: blue fill */
.elementor-element-a700006 .elementor-button {
  background-color: #0194E4 !important;
  color: #FFFFFF !important;
}

/* Section 7 — Image container: full viewport width on mobile, ratio 1.2478 */
@media (max-width: 768px) {
  /* Container is the clip boundary — border-radius here */
  .elementor-element-a700008 {
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    max-width: none !important;
    padding: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    overflow: hidden !important;
    border-radius: 0 0 0 120px !important;
  }

  /* Inner wrappers: no clipping, no padding */
  .elementor-element-a700008 .ad-cta-bottom-image,
  .elementor-element-a700008 .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    border-radius: 0 !important;
  }

  /* Image fills container exactly, ratio preserved */
  .elementor-element-a700008 img {
    width: 100% !important;
    height: calc(100vw / 1.2478) !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
  }
}

/* Section 7 — Buttons equal width on mobile (flex: 1 each) */
@media (max-width: 768px) {
  .elementor-element-a700006,
  .elementor-element-a700007 {
    flex: 1 !important;
  }

  .elementor-element-a700006 .elementor-button,
  .elementor-element-a700007 .elementor-button {
    width: 100% !important;
    text-align: center;
    justify-content: center;
  }
}

/* =============================================
   Footer — Elementor Theme Builder
   ============================================= */

/* ── Outer wrapper ── */
.ad-footer {
  background: linear-gradient(235.66deg, #0194E4 25%, #00679F 100%) !important;
  color: #ffffff;
  width: 100%;
}

/* ── TOP ROW: Logo + Nav + Social (inside .ad-footer__top container) ── */

/* Image widget (logo) — remove bottom gap */
.ad-footer__top .elementor-widget-image .elementor-widget-container {
  line-height: 0;
}

/* Nav-menu widget — force white text, pipe separators */
.ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu > li {
  display: flex;
  align-items: center;
}
.ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu > li + li::before {
  content: "";
  color: rgba(255, 255, 255, 0.45);
  margin: 0 10px;
  font-size: 14px;
  line-height: 1;
  pointer-events: none;
  user-select: none;
}
.ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu a {
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 400;
  text-decoration: none;
  transition: opacity 0.2s ease;
  background: transparent !important;
}
.ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu a:hover {
  opacity: 0.75;
  background: transparent !important;
}
/* Mobile hamburger toggle white */
.ad-footer__top .elementor-menu-toggle {
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.5) !important;
}
/* Hide burger menu on tablet — show nav items inline */
@media (max-width: 1024px) {
  .ad-footer__top .elementor-menu-toggle {
    display: none !important;
  }
  .ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu--main {
    display: block !important;
  }
}
/* Hide sub-menu arrow in footer nav */
.ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu .sub-arrow,
.ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu .sub-arrow i,
.ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu li.menu-item-has-children > a > .sub-arrow {
  display: none !important;
}
/* Force white on all nav link states including Elementor global color */
.ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu a,
.ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu a:visited,
.ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu a:link,
.ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu > li > a {
  color: #ffffff !important;
  background-color: transparent !important;
}

/* Social icons — HTML widget with inline SVG */
.ad-footer__social .ad-footer__social-icons {
  display: flex !important;
  flex-direction: row !important;
  gap: 16px;
  align-items: center;
}
.ad-footer__social .ad-footer__social-icons a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(255, 255, 255, 0.55) !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.ad-footer__social .ad-footer__social-icons a:hover {
  background-color: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.9) !important;
}
.ad-footer__social .ad-footer__social-icons svg {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
}

/* ── NEWSLETTER BLOCK (inside .ad-footer__newsletter container) ── */
.ad-footer__newsletter {
  /* background, border-radius, shadow set in Elementor JSON */
  align-items: center !important;
}

/* heading widget — "Get direct updates" */
.ad-footer__newsletter .elementor-widget-heading {
  flex-shrink: 0;
}
.ad-footer__newsletter .elementor-widget-heading .elementor-heading-title {
  color: #1A1A1A;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  margin: 0;
}

/* Hide "Email" field label */
.ad-footer__newsletter .elementor-field-label {
  display: none !important;
}

/* Form widget — flex:1 to fill remaining space in newsletter row */
.ad-footer__newsletter .elementor-widget-form {
  flex: 1 1 0% !important;
  min-width: 0 !important;
}
.ad-footer__newsletter .elementor-widget-form .elementor-widget-container {
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 !important;
}

/* Form fields wrapper — single row on desktop */
.ad-footer__newsletter .elementor-form-fields-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 10px !important;
}

/* Email field group — fill remaining space */
.ad-footer__newsletter .elementor-field-group.elementor-field-type-email {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Submit field group — shrink to fit */
.ad-footer__newsletter .elementor-field-group.elementor-field-type-submit {
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Email input styling */
.ad-footer__newsletter .elementor-field-group input[type="email"] {
  width: 100% !important;
  box-sizing: border-box !important;
  height: 48px;
  padding: 10px 14px 10px 40px !important;
  background: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  color: #1A1A1A !important;
  outline: none !important;
}
.ad-footer__newsletter .elementor-field-group input[type="email"]::placeholder {
  color: #9CA3AF !important;
}
.ad-footer__newsletter .elementor-field-group input[type="email"]:focus {
  box-shadow: 0 0 0 3px rgba(1, 148, 228, 0.25) !important;
}

/* Email icon in input — overlay using background SVG */
.ad-footer__newsletter .elementor-field-group:has(input[type="email"]) {
  position: relative;
}
.ad-footer__newsletter .elementor-field-group:has(input[type="email"])::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath opacity='0.12' d='M13.8351 12.7154C13.1739 13.1783 12.8433 13.4097 12.4837 13.4993C12.1661 13.5785 11.8339 13.5785 11.5163 13.4993C11.1567 13.4097 10.8261 13.1783 10.1649 12.7154L2 7C2 5.34315 3.34315 4 5 4H19C20.6569 4 22 5.34315 22 7L13.8351 12.7154Z' fill='%230194E4'/%3E%3Cpath d='M21.5 18L14.8571 12M9.14286 12L2.50003 18M2 7L10.1649 12.7154C10.8261 13.1783 11.1567 13.4097 11.5163 13.4993C11.8339 13.5785 12.1661 13.5785 12.4837 13.4993C12.8433 13.4097 13.1739 13.1783 13.8351 12.7154L22 7M6.8 20H17.2C18.8802 20 19.7202 20 20.362 19.673C20.9265 19.3854 21.3854 18.9265 21.673 18.362C22 17.7202 22 16.8802 22 15.2V8.8C22 7.11984 22 6.27976 21.673 5.63803C21.3854 5.07354 20.9265 4.6146 20.362 4.32698C19.7202 4 18.8802 4 17.2 4H6.8C5.11984 4 4.27976 4 3.63803 4.32698C3.07354 4.6146 2.6146 5.07354 2.32698 5.63803C2 6.27976 2 7.11984 2 8.8V15.2C2 16.8802 2 17.7202 2.32698 18.362C2.6146 18.9265 3.07354 19.3854 3.63803 19.673C4.27976 20 5.11984 20 6.8 20Z' stroke='%230194E4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
  z-index: 1;
}

/* Subscribe button */
.ad-footer__newsletter .elementor-button[type="submit"] {
  background-color: #ffffff !important;
  color: #1A1A1A !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 24px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  height: 48px;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.ad-footer__newsletter .elementor-button[type="submit"]:hover {
  background-color: #f0f0f0 !important;
}
/* Desktop / tablet: two columns 50% / 50% (heading left, form right) */
@media (min-width: 768px) {
  .ad-footer__newsletter {
    flex-direction: row !important;
    align-items: center !important;
  }

  .ad-footer__newsletter .elementor-widget-heading,
  .ad-footer__newsletter .elementor-widget-form {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }

  .ad-footer__newsletter .elementor-form-fields-wrapper {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .ad-footer__newsletter .elementor-field-group.elementor-field-type-email {
    width: auto !important;
  }

  .ad-footer__newsletter .elementor-field-group.elementor-field-type-submit {
    width: auto !important;
  }

  .ad-footer__newsletter .elementor-button[type="submit"] {
    width: auto !important;
  }
}

/* ── BOTTOM ROW (inside .ad-footer__bottom container) ── */

/* Copyright text — white, small */
.ad-footer__bottom .elementor-widget-text-editor p {
  color: #ffffff !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* Legal icon-list widget */
.ad-footer__bottom .elementor-widget-icon-list .elementor-icon-list-items {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 20px !important;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
}
.ad-footer__bottom .elementor-widget-icon-list .elementor-icon-list-item {
  margin: 0 !important;
  padding: 0 !important;
}
.ad-footer__bottom .elementor-widget-icon-list .elementor-icon-list-item > a {
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  white-space: nowrap;
  transition: opacity 0.2s ease;
}
.ad-footer__bottom .elementor-widget-icon-list .elementor-icon-list-item > a:hover {
  opacity: 0.75 !important;
  text-decoration: underline !important;
}
.ad-footer__bottom .elementor-widget-icon-list .elementor-icon-list-icon { display: none !important; }

/* ── Focus Visible ── */
.ad-footer a:focus-visible,
.ad-footer button:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
  border-radius: 4px;
}

/* ── Mobile (≤767px) ── */
@media (max-width: 767px) {

  /* Force show nav items on mobile — override Elementor hamburger */
  .ad-footer__top .elementor-menu-toggle {
    display: none !important;
  }
  .ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu--main {
    display: block !important;
  }
  /* Remove Elementor default widget gap on nav-menu */
  .ad-footer__top .elementor-widget-nav-menu {
    margin: 0 !important;
    padding: 0 !important;
  }
  .ad-footer__top .elementor-widget-nav-menu .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
  }
  /* True 2-column grid for nav items */
  .ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
  }
  .ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu > li {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
  }
  /* Reset all desktop ::before pipes */
  .ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu > li + li::before {
    content: none !important;
    display: none !important;
  }
  /* Add pipe AFTER 1st and 3rd item (left column cells) */
  .ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu > li:nth-child(1)::after,
  .ad-footer__top .elementor-widget-nav-menu .elementor-nav-menu > li:nth-child(3)::after {
    content: "" !important;
    color: rgba(255, 255, 255, 0.45) !important;
    margin-left: 12px !important;
    font-size: 14px !important;
    pointer-events: none !important;
    flex-shrink: 0 !important;
  }

  /* Social icons — keep horizontal row on mobile */
  .ad-footer__top .elementor-widget-icon-list .elementor-icon-list-items {
    flex-direction: row !important;
  }

  /* Newsletter: heading full-width, form stacks */
  .ad-footer__newsletter {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .ad-footer__newsletter .elementor-widget-heading .elementor-heading-title {
    white-space: normal !important;
    font-size: 32px !important;
  }
  .ad-footer__newsletter .elementor-form-fields-wrapper {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  .ad-footer__newsletter .elementor-field-group.elementor-field-type-email {
    width: 100% !important;
  }
  .ad-footer__newsletter .elementor-field-group.elementor-field-type-submit {
    width: 100% !important;
  }
  .ad-footer__newsletter .elementor-button[type="submit"] {
    width: 100% !important;
    border-radius: 50px !important;
    text-align: center !important;
  }

  /* Legal links: row, allow wrap */
  .ad-footer__bottom .elementor-widget-icon-list .elementor-icon-list-items {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
  }
}

/* ── Reduced Motion ── */
@media (prefers-reduced-motion: reduce) {
  .ad-footer__top .elementor-nav-menu a,
  .ad-footer__top .elementor-widget-icon-list .elementor-icon-list-item > a,
  .ad-footer__newsletter .elementor-field-group input,
  .ad-footer__newsletter .elementor-button,
  .ad-footer__bottom .elementor-widget-icon-list .elementor-icon-list-item > a {
    transition: none !important;
  }
}

/* ═══════════════════════════════════════════════
   SECTOR PAGES — Career Sites
   ═══════════════════════════════════════════════ */

/* ── Hero: Breadcrumb ── */
.sector-breadcrumb {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.7);
}
.sector-breadcrumb a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.2s ease;
}
.sector-breadcrumb a:hover {
  color: #ffffff;
}
/* ── Hero: SECTORS Badge ── */
.sector-label {
  display: inline-block;
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* ── Feature Sections: Bullet Lists ── */
.sector-features ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sector-features ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 12px;
  color: #1a1a1a;
  font-size: 16px;
  line-height: 1.6;
}
.sector-features ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #0C7ABF;
}

/* ── CTA: Large Blue Heading ── */
.sector-cta-heading .elementor-heading-title {
  color: #0C7ABF !important;
}

/* ── Bottom CTA: Button overrides ── */
.sector-btn-book .elementor-button {
  background-color: #0194E4 !important;
  color: #FFFFFF !important;
  border-color: #0194E4 !important;
}
.sector-btn-book .elementor-button:hover {
  background-color: #0077b6 !important;
  border-color: #0077b6 !important;
}
.sector-btn-guide .elementor-button {
  background-color: #FFFFFF !important;
  color: #1a1a1a !important;
  border-color: #0194E480 !important;
}

/* ── Sector headings: font-weight 400 ── */
body.is-category-detail-page .elementor-heading-title {
  font-weight: 400 !important;
}

/* ═══════════════════════════════════════════════
   BLOG & RESOURCES PAGE
   ═══════════════════════════════════════════════ */

/* ── Hero image full-width ── */
.ad-blog-hero-image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  max-height: 500px;
}

/* ── Card hover ── */
.ad-blog-card {
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.ad-blog-card:hover {
  box-shadow: 0 8px 24px -4px rgba(24, 39, 75, 0.12);
  transform: translateY(-2px);
}

/* ── Card image ── */
.ad-blog-card__image img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  width: 100%;
  display: block;
}

/* ── Card title ── */
.ad-blog-card .elementor-heading-title a {
  color: #1A1A1A;
  text-decoration: none;
}
.ad-blog-card .elementor-heading-title a:hover {
  color: #0C7ABF;
}

/* ── Read more button (cyan pill) ── */
.ad-read-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #3CC0ED;
  color: #FFFFFF !important;
  padding: 10px 24px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease;
  cursor: pointer;
  white-space: nowrap;
}
.ad-read-more-btn:hover {
  background: #0C7ABF;
  text-decoration: none;
}

/* ── Date: hide icon, text only ── */
.ad-blog-card .elementor-icon-list-icon {
  display: none !important;
}
.ad-blog-card .elementor-icon-list-text a {
  color: #9CA3AF !important;
  text-decoration: none;
}

/* ── Pagination ── */
.ad-blog-grid .e-load-more-anchor,
.ad-blog-grid nav.elementor-pagination {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 8px;
}
.ad-blog-grid .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #6B7280;
  border: 1px solid #E5E7EB;
  text-decoration: none;
  transition: all 0.2s ease;
}
.ad-blog-grid .page-numbers.current {
  background: #0C7ABF;
  color: #FFFFFF;
  border-color: #0C7ABF;
}
.ad-blog-grid .page-numbers:hover:not(.current) {
  border-color: #0C7ABF;
  color: #0C7ABF;
}

/* ── Focus & a11y ── */
.ad-blog-card a:focus-visible {
  outline: 2px solid #0C7ABF;
  outline-offset: 2px;
  border-radius: 4px;
}

/* ── Card excerpt: max 5 lines with ellipsis ── */
.ad-blog-card .elementor-widget-theme-post-excerpt {
  display: -webkit-box !important;
  -webkit-line-clamp: 5 !important;
  line-clamp: 5 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* ── Mobile ── */
@media (max-width: 767px) {
  .ad-blog-card .elementor-widget-theme-post-excerpt {
    font-size: 13px;
  }
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  .ad-blog-card {
    transition: none;
  }
}

/* ==============================================
   BLOG SINGLE POST DETAIL
   ============================================== */

/* ── Hero Featured Image ── */
.ad-single-post__hero .elementor-image img,
.ad-single-post__hero-image img {
  width: 100%;
  max-height: 500px;
  object-fit: cover;
  display: block;
}

/* Hide hero section when no featured image */
.ad-single-post__hero:empty,
.ad-single-post__hero .elementor-widget-theme-post-featured-image .elementor-widget-container:empty {
  display: none;
}

/* ── Content Container ── */
.ad-single-post__content {
  max-width: 800px !important;
  margin: 0 auto;
}

/* ── Category Tag ── */
.ad-category-pill {
  display: inline-block;
  background: #3CC0ED;
  color: #ffffff;
  padding: 4px 14px;
  border-radius: 50px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none;
  line-height: 1.4;
  transition: background 0.2s;
}

.ad-category-pill:hover {
  background: #0C7ABF;
  color: #ffffff;
}

/* ── Post Title ── */
.ad-single-post__title .elementor-heading-title {
  color: #04466E !important;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.2;
  margin-top: 16px;
  margin-bottom: 8px;
}

/* ── Post Meta (Date) ── */
.ad-post-date {
  color: #9CA3AF;
  font-size: 14px;
}

/* ── Post Content Body ── */
.ad-single-post__body {
  margin-top: 32px;
}

.ad-single-post__body p {
  font-size: 16px;
  line-height: 1.8;
  color: #1a1a1a;
  margin-bottom: 1.5em;
}

.ad-single-post__body h2 {
  font-size: 28px;
  font-weight: 700;
  color: #04466E;
  margin-top: 2em;
  margin-bottom: 0.75em;
  line-height: 1.3;
}

.ad-single-post__body h3 {
  font-size: 22px;
  font-weight: 600;
  color: #04466E;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.3;
}

.ad-single-post__body h4 {
  font-size: 18px;
  font-weight: 600;
  color: #04466E;
  margin-top: 1.25em;
  margin-bottom: 0.5em;
}

.ad-single-post__body ul,
.ad-single-post__body ol {
  padding-left: 1.5em;
  margin-bottom: 1.5em;
}

.ad-single-post__body li {
  font-size: 16px;
  line-height: 1.8;
  color: #1a1a1a;
  margin-bottom: 0.5em;
}

.ad-single-post__body blockquote {
  border-left: 4px solid #3CC0ED;
  padding: 16px 24px;
  margin: 2em 0;
  background: #f0f9ff;
  border-radius: 0 8px 8px 0;
}

.ad-single-post__body blockquote p {
  font-style: italic;
  color: #065A8E;
  margin-bottom: 0;
}

.ad-single-post__body img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 1.5em 0;
}

.ad-single-post__body a {
  color: #0C7ABF;
  text-decoration: underline;
}

.ad-single-post__body a:hover {
  color: #065A8E;
}

.ad-single-post__body strong {
  font-weight: 600;
}

/* ── Back to Blog Button ── */
.ad-single-post__back-btn .elementor-button {
  background: transparent;
  color: #0C7ABF;
  border: 2px solid #0C7ABF;
  border-radius: 50px;
  padding: 10px 28px;
  font-size: 14px;
  font-weight: 600;
  margin-top: 32px;
  transition: background 0.2s, color 0.2s;
}

.ad-single-post__back-btn .elementor-button:hover {
  background: #0C7ABF;
  color: #ffffff;
}

/* ── Responsive: Tablet ── */
@media (max-width: 1024px) {
  .ad-single-post__title .elementor-heading-title {
    font-size: 36px;
  }

  .ad-single-post__body h2 {
    font-size: 24px;
  }

  .ad-single-post__body h3 {
    font-size: 20px;
  }
}

/* ── Responsive: Mobile ── */
@media (max-width: 768px) {
  .ad-single-post__hero .elementor-image img,
  .ad-single-post__hero-image img {
    max-height: 300px;
  }

  .ad-single-post__title .elementor-heading-title {
    font-size: 28px;
  }

  .ad-single-post__body h2 {
    font-size: 22px;
  }

  .ad-single-post__body h3 {
    font-size: 18px;
  }

  .ad-single-post__body p,
  .ad-single-post__body li {
    font-size: 15px;
  }

  .ad-single-post__body blockquote {
    padding: 12px 16px;
  }
}

/* ── Accessibility ── */
.is-single-post a:focus-visible {
  outline: 2px solid #0C7ABF;
  outline-offset: 2px;
  border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .ad-single-post__back-btn .elementor-button {
    transition: none;
  }
}
}

/* ===============================================
   CUSTOMERS PAGE
   =============================================== */

/* ── Marquee: customer logos ── */
.ad-customers-marquee .ad-marquee__item img {
  height: 60px;
  width: auto;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.7;
  transition: filter 0.3s ease, opacity 0.3s ease;
}
.ad-customers-marquee .ad-marquee__item img:hover {
  filter: grayscale(0%);
  opacity: 1;
}

/* ── Testimonial section ── */
.ad-customers-testimonial blockquote,
.ad-customers-testimonial .elementor-widget-text-editor {
  max-width: 700px;
}

/* ── Case study: bullet list styling ── */
.ad-customers-case-study ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ad-customers-case-study ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
  line-height: 1.7;
}
.ad-customers-case-study ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #0C7ABF;
}

/* ── Case study: download button hover ── */
.ad-customers-case-study .elementor-button:hover {
  background-color: #065A8E !important;
}

/* ── Responsive: Tablet ── */
@media (max-width: 1024px) {
  .ad-customers-marquee .ad-marquee__item img {
    height: 50px;
  }
}

/* ── Responsive: Mobile ── */
@media (max-width: 768px) {
  .ad-customers-marquee .ad-marquee__item img {
    height: 40px;
  }
}

/* ── Accessibility ── */
.ad-customers-case-study .elementor-button:focus-visible {
  outline: 2px solid #0C7ABF;
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .ad-customers-marquee .ad-marquee__item img {
    transition: none;
  }
  .ad-customers-case-study .elementor-button {
    transition: none;
  }
}

/* ===============================================
   ABOUT US PAGE
   =============================================== */

/* ── Image wrapper: allow overflow for accent lines ── */
.ad-about-img-wrapper {
  overflow: visible !important;
}

/* ── Corner accent base (shared) ── */
.ad-about-img {
  position: relative !important;
  overflow: visible !important;
}
.ad-about-img::before,
.ad-about-img::after {
  content: "";
  position: absolute;
  width: 40px;
  height: 40px;
  border-color: #3CC0ED;
  border-style: solid;
  border-width: 0;
  pointer-events: none;
  z-index: 1;
}

/* ── Accent variant: top-left + bottom-right ── */
.ad-about-img--accent-tl::before {
  top: -12px;
  left: -12px;
  border-top-width: 3px;
  border-left-width: 3px;
  border-top-left-radius: 4px;
}
.ad-about-img--accent-tl::after {
  bottom: -12px;
  right: -12px;
  border-bottom-width: 3px;
  border-right-width: 3px;
  border-bottom-right-radius: 4px;
}

/* ── Accent variant: top-right + bottom-left (mirror) ── */
.ad-about-img--accent-tr::before {
  top: -12px;
  right: -12px;
  border-top-width: 3px;
  border-right-width: 3px;
  border-top-right-radius: 4px;
}
.ad-about-img--accent-tr::after {
  bottom: -12px;
  left: -12px;
  border-bottom-width: 3px;
  border-left-width: 3px;
  border-bottom-left-radius: 4px;
}

/* ── Section reverse: default order on mobile, reversed on desktop ── */
.ad-about-section--reverse > .e-con:first-child {
  order: 2 !important;
}
.ad-about-section--reverse > .e-con:last-child {
  order: 1 !important;
}
@media (max-width: 768px) {
  .ad-about-section--reverse > .e-con:first-child,
  .ad-about-section--reverse > .e-con:last-child {
    order: unset !important;
  }
}

/* ── Responsive: smaller accents on mobile ── */
@media (max-width: 768px) {
  .ad-about-img::before,
  .ad-about-img::after {
    width: 28px;
    height: 28px;
  }
}

/* ── Team section ── */
.ad-about-team {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ── Team card ── */
.ad-about-team__card {
  background: #FFFFFF !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 16px !important;
  padding: 0 !important;
  overflow: hidden !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.ad-about-team__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px -8px rgba(6, 90, 142, 0.15);
  border-color: #3CC0ED !important;
}

/* ── Team photo: full-width top ── */
.ad-about-team__card .elementor-widget-image {
  width: 100% !important;
  margin-bottom: 0 !important;
}
.ad-about-team__card .elementor-widget-image img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  object-position: top center !important;
  border-radius: 16px 16px 0 0 !important;
  display: block;
}

/* ── Team info area (below photo) ── */
.ad-about-team__card .elementor-widget-heading,
.ad-about-team__card .elementor-widget-text-editor {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* ── Team name ── */
.ad-about-team__card .elementor-widget-heading .elementor-heading-title {
  margin-top: 4px;
}

/* ── Team role: pill badge ── */
.ad-about-team__role .elementor-widget-container {
  display: flex;
  justify-content: center;
}
.ad-about-team__role p {
  display: inline-block;
  background: #E2FDFF;
  color: #0C7ABF !important;
  padding: 4px 16px;
  border-radius: 50px;
  font-style: italic;
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* ── Team bio ── */
.ad-about-team__bio {
  margin-top: 8px;
  padding-bottom: 24px !important;
}

/* ── Responsive: Mobile ── */
@media (max-width: 768px) {
  .ad-about-team__card .elementor-widget-image img {
    height: 220px !important;
  }
  .ad-about-team__card .elementor-widget-heading,
  .ad-about-team__card .elementor-widget-text-editor {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ── Team card: keyboard focus ── */
.ad-about-team__card:focus-within {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px -8px rgba(6, 90, 142, 0.15);
  border-color: #3CC0ED !important;
}

/* ── Accessibility ── */
@media (prefers-reduced-motion: reduce) {
  .ad-about-team__card {
    transition: none;
  }
  .ad-about-team__card:hover,
  .ad-about-team__card:focus-within {
    transform: none;
  }
}

/* ===============================================
   FOOTER: ACKNOWLEDGEMENT
   =============================================== */

/* ── Separator line + italic text ── */
.ad-footer__acknowledgement {
  border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
  padding-top: 24px !important;
  margin-top: 8px !important;
}
.ad-footer__acknowledgement .elementor-widget-text-editor p {
  font-style: italic !important;
  color: rgba(255, 255, 255, 0.75) !important;
}

/* ===============================================
   NEWSLETTER POPUP
   =============================================== */

/* ── Popup modal — wider container ── */
.elementor-popup-modal .dialog-widget-content {
  max-width: 1100px !important;
  width: 90vw !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #E8F4FD !important;
}
.elementor-popup-modal .dialog-message {
  width: 100% !important;
}
.elementor-popup-modal .ad-popup-newsletter {
  background-color: #E8F4FD !important;
  border-radius: 0 !important;
  padding: 48px !important;
  width: 100% !important;
}

/* ── Close button inside popup ── */
.elementor-popup-modal .dialog-close-button {
  top: 20px !important;
  right: 20px !important;
  font-size: 24px !important;
  color: #1a1a1a !important;
  opacity: 0.7 !important;
  transition: opacity 0.2s ease !important;
  z-index: 10 !important;
  position: absolute !important;
}
.elementor-popup-modal .dialog-close-button:hover {
  opacity: 1 !important;
}

/* ── Left column: heading ── */
.ad-popup-newsletter__info .elementor-heading-title {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  line-height: 1.25 !important;
}

/* ── Left column: privacy text ── */
.ad-popup-newsletter__info .elementor-text-editor {
  font-size: 13px !important;
  color: #6b7280 !important;
  line-height: 1.6 !important;
}
.ad-popup-newsletter__info .elementor-text-editor a {
  color: #0C7ABF !important;
  text-decoration: underline !important;
}
.ad-popup-newsletter__info .elementor-text-editor a:hover {
  color: #065A8E !important;
}

/* ── Hide form labels (use placeholders only) ── */
.ad-popup-newsletter__form .elementor-field-label {
  display: none !important;
}

/* ── Form fields ── */
.ad-popup-newsletter__form .elementor-field {
  border: 1px solid #d1d5db !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  font-size: 15px !important;
  background: #ffffff !important;
  color: #1a1a1a !important;
  font-family: 'DM Sans', sans-serif !important;
}
.ad-popup-newsletter__form .elementor-field::placeholder {
  color: #9CA3AF !important;
}
.ad-popup-newsletter__form .elementor-field:focus {
  border-color: #0C7ABF !important;
  box-shadow: 0 0 0 3px rgba(12, 122, 191, 0.15) !important;
  outline: none !important;
}

/* ── Subscribe button ── */
.ad-popup-newsletter__form .elementor-button[type="submit"],
.ad-popup-newsletter__form .e-form__buttons__wrapper .elementor-button {
  background-color: #0C7ABF !important;
  color: #ffffff !important;
  border-radius: 50px !important;
  padding: 14px 40px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  font-family: 'DM Sans', sans-serif !important;
  border: none !important;
  width: 100% !important;
  transition: background-color 0.2s ease !important;
}
.ad-popup-newsletter__form .elementor-button[type="submit"]:hover,
.ad-popup-newsletter__form .e-form__buttons__wrapper .elementor-button:hover {
  background-color: #065A8E !important;
}

/* ── Success message ── */
.ad-popup-newsletter__form .elementor-message-success {
  color: #065A8E !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-align: center !important;
  padding: 16px !important;
}

/* ── Mobile responsive ── */
@media (max-width: 767px) {
  .elementor-popup-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 99999 !important;
  }
  .elementor-popup-modal .dialog-widget-content {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    max-width: 100vw !important;
    width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }
  .elementor-popup-modal .dialog-message {
    height: 100% !important;
    overflow-y: auto !important;
    width: 100% !important;
  }
  .elementor-popup-modal .ad-popup-newsletter {
    padding: 48px 20px 32px !important;
    border-radius: 0 !important;
    flex-direction: column !important;
    gap: 24px !important;
    min-height: 100vh !important;
  }
  .ad-popup-newsletter__info,
  .ad-popup-newsletter__form {
    width: 100% !important;
  }
  .ad-popup-newsletter__info .elementor-heading-title {
    font-size: 24px !important;
  }
  .elementor-popup-modal .dialog-close-button {
    top: 12px !important;
    right: 12px !important;
  }
}