/*
 * Deep Elementor visual override.
 * Goal: make existing Elementor content look as close as possible to the Lovable reference.
 */

body .elementor,
body .elementor-page,
body .elementor-location-single,
body .elementor-location-archive {
  --e-global-color-primary: hsl(var(--primary)) !important;
  --e-global-color-secondary: hsl(var(--foreground)) !important;
  --e-global-color-text: hsl(var(--muted-foreground)) !important;
  --e-global-color-accent: hsl(var(--gold)) !important;
  --e-global-color-c1f2f0c: hsl(var(--background)) !important;

  --e-global-typography-primary-font-family: "Playfair Display", serif !important;
  --e-global-typography-secondary-font-family: "DM Sans", sans-serif !important;
  --e-global-typography-text-font-family: "DM Sans", sans-serif !important;
  --e-global-typography-accent-font-family: "DM Sans", sans-serif !important;
}

body .elementor :where(p, li, a, span, label, input, textarea, select, button, .elementor-icon-list-item, .elementor-counter-title, .elementor-price-table__features-list li) {
  font-family: "DM Sans", sans-serif !important;
}

body .elementor :where(h1, h2, h3, h4, h5, h6, .elementor-heading-title) {
  font-family: "Playfair Display", serif !important;
  color: hsl(var(--foreground)) !important;
  letter-spacing: -0.02em !important;
  line-height: 1.12 !important;
}

body .elementor :where(p, li, .elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-widget-theme-post-content, .elementor-widget-post-info, .elementor-icon-box-description, .elementor-image-box-description, .elementor-testimonial-content, .elementor-widget-accordion .elementor-tab-content, .elementor-widget-toggle .elementor-tab-content) {
  color: hsl(var(--muted-foreground)) !important;
  line-height: 1.65 !important;
}

body .elementor a {
  color: hsl(var(--primary));
}

body .elementor a:hover {
  color: hsl(var(--foreground));
}

/* Layout rhythm */
body .elementor-section,
body .elementor-container,
body .e-con,
body .e-parent {
  --container-max: 1280px;
}

body .elementor-section.elementor-section-boxed > .elementor-container,
body .e-con.e-con-boxed > .e-con-inner {
  width: min(100% - 2rem, var(--container-max)) !important;
  max-width: var(--container-max) !important;
}

body .elementor-top-section,
body .elementor > .e-con {
  padding-block: clamp(56px, 7vw, 96px) !important;
}

body .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
body .e-con > .elementor-element,
body .e-con > .e-con {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

body.home .elementor > .elementor-section:nth-of-type(odd),
body.home .elementor > .e-con:nth-of-type(odd) {
  background: hsl(var(--background)) !important;
}

body.home .elementor > .elementor-section:nth-of-type(even),
body.home .elementor > .e-con:nth-of-type(even) {
  background: hsl(var(--section-alt)) !important;
}

/* Hero: turn first Elementor section into full-bleed hero close to reference */
body.home .elementor > .elementor-section:first-of-type,
body.home .elementor > .e-con:first-of-type {
  position: relative !important;
  overflow: hidden !important;
  min-height: max(720px, calc(92svh - var(--header-height))) !important;
  padding-block: clamp(110px, 13vw, 170px) !important;
  background: hsl(var(--hero-overlay)) !important;
}

body.home .elementor > .elementor-section:first-of-type::before,
body.home .elementor > .e-con:first-of-type::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(22, 26, 33, 0.74) 0%, rgba(22, 26, 33, 0.55) 42%, rgba(22, 26, 33, 0.46) 100%);
  z-index: 1;
  pointer-events: none;
}

body.home .elementor > .elementor-section:first-of-type > .elementor-container,
body.home .elementor > .e-con:first-of-type > .e-con-inner,
body.home .elementor > .e-con:first-of-type {
  position: relative !important;
  z-index: 2 !important;
  min-height: inherit !important;
  align-items: center !important;
}

body.home .elementor > .elementor-section:first-of-type .elementor-column:last-child,
body.home .elementor > .elementor-section:first-of-type .elementor-column:last-child > .elementor-element-populated,
body.home .elementor > .elementor-section:first-of-type .elementor-widget-image,
body.home .elementor > .elementor-section:first-of-type .elementor-widget-image .elementor-widget-container,
body.home .elementor > .elementor-section:first-of-type .elementor-widget-image img {
  height: 100% !important;
}

body.home .elementor > .elementor-section:first-of-type .elementor-column:last-child {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  z-index: 0 !important;
  margin: 0 !important;
}

body.home .elementor > .elementor-section:first-of-type .elementor-column:last-child img {
  width: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: saturate(0.95) contrast(1.03) !important;
}

body.home .elementor > .elementor-section:first-of-type .elementor-column:first-child,
body.home .elementor > .elementor-section:first-of-type .elementor-column:nth-child(1) {
  position: relative !important;
  z-index: 3 !important;
  width: min(760px, 100%) !important;
  max-width: min(760px, 100%) !important;
}

body.home .elementor > .elementor-section:first-of-type .elementor-widget-heading .elementor-heading-title {
  color: hsl(var(--primary-foreground)) !important;
  font-size: clamp(2.5rem, 6.4vw, 6rem) !important;
  line-height: 1.04 !important;
  margin-bottom: 14px !important;
}

body.home .elementor > .elementor-section:first-of-type .elementor-widget-text-editor,
body.home .elementor > .elementor-section:first-of-type .elementor-widget-text-editor p,
body.home .elementor > .elementor-section:first-of-type .elementor-widget-icon-list,
body.home .elementor > .elementor-section:first-of-type .elementor-icon-list-item,
body.home .elementor > .elementor-section:first-of-type .elementor-icon-list-text {
  color: hsl(var(--primary-foreground) / 0.83) !important;
}

body.home .elementor > .elementor-section:first-of-type .elementor-widget-button .elementor-button,
body.home .elementor > .elementor-section:first-of-type .elementor-button {
  box-shadow: 0 10px 26px hsl(var(--primary) / 0.34) !important;
}

/* Generic section titles closer to reference */
body .elementor .elementor-widget-heading h2,
body .elementor .elementor-widget-heading h3,
body .elementor .elementor-widget-heading .elementor-heading-title {
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
}

body .elementor .elementor-widget-heading + .elementor-widget-text-editor p {
  font-size: clamp(0.98rem, 1.2vw, 1.12rem) !important;
}

/* Buttons */
body .elementor .elementor-button,
body .elementor .elementor-widget-button .elementor-button,
body .elementor .elementor-search-form__submit,
body .elementor .elementor-button-link {
  border-radius: 12px !important;
  border: 1px solid hsl(var(--primary)) !important;
  background: hsl(var(--primary)) !important;
  color: hsl(var(--primary-foreground)) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  padding: 14px 24px !important;
  transition: transform 0.16s ease, background-color 0.2s ease !important;
}

body .elementor .elementor-button:hover,
body .elementor .elementor-widget-button .elementor-button:hover,
body .elementor .elementor-search-form__submit:hover,
body .elementor .elementor-button-link:hover {
  background: hsl(var(--primary) / 0.92) !important;
  color: hsl(var(--primary-foreground)) !important;
  transform: translateY(-1px) !important;
}

body .elementor .elementor-button:active,
body .elementor .elementor-widget-button .elementor-button:active,
body .elementor .elementor-search-form__submit:active,
body .elementor .elementor-button-link:active {
  transform: translateY(0) !important;
}

/* Cards and content blocks */
body .elementor .elementor-icon-box-wrapper,
body .elementor .elementor-image-box-wrapper,
body .elementor .elementor-widget-testimonial .elementor-testimonial-wrapper,
body .elementor .elementor-widget-call-to-action .elementor-cta,
body .elementor .elementor-widget-price-table .elementor-price-table,
body .elementor .elementor-widget-counter .elementor-counter,
body .elementor .elementor-widget-progress .elementor-progress-wrapper,
body .elementor .elementor-widget-accordion .elementor-accordion-item,
body .elementor .elementor-widget-toggle .elementor-toggle-item,
body .elementor .elementor-widget-tabs .elementor-tab-content,
body .elementor .elementor-widget-tabs .elementor-tabs-wrapper,
body .elementor .elementor-post,
body .elementor .e-loop-item,
body .elementor .swiper-slide {
  border: 1px solid hsl(var(--border)) !important;
  border-radius: 16px !important;
  background: hsl(var(--card)) !important;
  box-shadow: var(--shadow-soft) !important;
  overflow: hidden !important;
}

body .elementor .elementor-widget-image-box .elementor-image-box-img img,
body .elementor .elementor-widget-image-carousel img,
body .elementor .elementor-widget-media-carousel img,
body .elementor .elementor-widget-image img,
body .elementor .elementor-post__thumbnail img,
body .elementor .e-loop-item img {
  border-radius: 12px !important;
}

body .elementor .elementor-widget-image-box .elementor-image-box-content,
body .elementor .elementor-widget-icon-box .elementor-icon-box-content,
body .elementor .elementor-widget-testimonial .elementor-testimonial-content,
body .elementor .elementor-post__text {
  padding: 0 !important;
}

body .elementor .elementor-widget-icon-box .elementor-icon,
body .elementor .elementor-widget-image-box .elementor-image-box-img,
body .elementor .elementor-widget-icon-list .elementor-icon-list-icon,
body .elementor .elementor-widget-accordion .elementor-accordion-icon,
body .elementor .elementor-widget-toggle .elementor-toggle-icon,
body .elementor .elementor-tab-title .elementor-tab-icon {
  color: hsl(var(--primary)) !important;
}

body .elementor .elementor-accordion-title,
body .elementor .elementor-toggle-title,
body .elementor .elementor-tab-title,
body .elementor .elementor-tab-title a {
  color: hsl(var(--foreground)) !important;
  font-family: "DM Sans", sans-serif !important;
  font-weight: 700 !important;
}

body .elementor .elementor-active .elementor-accordion-title,
body .elementor .elementor-active .elementor-toggle-title,
body .elementor .elementor-tab-title.elementor-active,
body .elementor .elementor-tab-title.elementor-active a {
  color: hsl(var(--primary)) !important;
}

/* Forms */
body .elementor .elementor-form-fields-wrapper,
body .elementor form {
  width: 100%;
}

body .elementor .elementor-field-group > label,
body .elementor .elementor-form-fields-wrapper label {
  color: hsl(var(--foreground)) !important;
  font-family: "DM Sans", sans-serif !important;
  font-weight: 600 !important;
}

body .elementor input[type="text"],
body .elementor input[type="email"],
body .elementor input[type="url"],
body .elementor input[type="tel"],
body .elementor input[type="number"],
body .elementor input[type="search"],
body .elementor input[type="date"],
body .elementor input[type="password"],
body .elementor textarea,
body .elementor select,
body .elementor .elementor-field,
body .elementor .elementor-search-form__input {
  border: 1px solid hsl(var(--input)) !important;
  border-radius: 10px !important;
  background: hsl(var(--background)) !important;
  color: hsl(var(--foreground)) !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
}

body .elementor input:focus,
body .elementor textarea:focus,
body .elementor select:focus,
body .elementor .elementor-field:focus,
body .elementor .elementor-search-form__input:focus {
  outline: 0 !important;
  border-color: hsl(var(--primary)) !important;
  box-shadow: 0 0 0 3px hsl(var(--primary) / 0.18) !important;
}

/* Booking widget inside Elementor sections */
body .elementor .elementor-widget-shortcode .cric-widget,
body .elementor .elementor-shortcode .cric-widget,
body .elementor .cric-widget {
  border: 1px solid hsl(var(--border)) !important;
  border-radius: 16px !important;
  background: hsl(var(--card)) !important;
  box-shadow: var(--shadow-card) !important;
}

/* Misc typography cleanup */
body .elementor blockquote {
  border-left: 4px solid hsl(var(--primary)) !important;
  background: hsl(var(--card)) !important;
  color: hsl(var(--foreground)) !important;
  border-radius: 0 12px 12px 0 !important;
  padding: 18px 20px !important;
}

body .elementor hr,
body .elementor .elementor-divider-separator {
  border-color: hsl(var(--border)) !important;
}

body .elementor .elementor-pagination,
body .elementor .page-numbers {
  color: hsl(var(--muted-foreground)) !important;
}

body .elementor .elementor-pagination .page-numbers.current,
body .elementor .elementor-pagination .page-numbers:hover,
body .elementor .page-numbers.current,
body .elementor .page-numbers:hover {
  color: hsl(var(--primary)) !important;
}

/* Internal sections that must match the home card/FAQ system */
body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-38cfe370,
  .elementor-element-62a8485c,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-3761708b,
  .elementor-element-190bb0e7,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43,
  .elementor-element-6b4b0bd1,
  .elementor-element-14617dba,
  .elementor-element-7339956b,
  .elementor-element-274f0aa5,
  .elementor-element-57bbbde4,
  .elementor-element-62b4a02
) {
  padding-block: clamp(64px, 8vw, 96px) !important;
}

body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-38cfe370,
  .elementor-element-62a8485c,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-3761708b,
  .elementor-element-190bb0e7,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43,
  .elementor-element-6b4b0bd1,
  .elementor-element-14617dba,
  .elementor-element-7339956b,
  .elementor-element-274f0aa5,
  .elementor-element-57bbbde4,
  .elementor-element-62b4a02
) > .elementor-widget-heading {
  max-width: 760px !important;
  width: min(100%, 760px) !important;
  margin-inline: auto !important;
  text-align: center !important;
}

body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-38cfe370,
  .elementor-element-62a8485c,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-3761708b,
  .elementor-element-190bb0e7,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43,
  .elementor-element-6b4b0bd1,
  .elementor-element-14617dba,
  .elementor-element-7339956b,
  .elementor-element-274f0aa5,
  .elementor-element-57bbbde4,
  .elementor-element-62b4a02
) > .elementor-widget-heading .elementor-heading-title {
  margin: 0 !important;
}

body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43
) > .elementor-widget-heading + .elementor-widget-heading {
  margin-top: var(--space-3) !important;
}

body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43
) > .elementor-widget-heading + .elementor-widget-heading .elementor-heading-title {
  color: hsl(var(--muted-foreground)) !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: clamp(1rem, 1.35vw, 1.18rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.6 !important;
}

body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-38cfe370,
  .elementor-element-62a8485c,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-3761708b,
  .elementor-element-190bb0e7,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43,
  .elementor-element-6b4b0bd1,
  .elementor-element-14617dba,
  .elementor-element-7339956b,
  .elementor-element-274f0aa5,
  .elementor-element-57bbbde4,
  .elementor-element-62b4a02
) > .e-con:last-child {
  margin-top: var(--space-8) !important;
}

body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-38cfe370,
  .elementor-element-62a8485c,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-3761708b,
  .elementor-element-190bb0e7,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43
) > .e-con:last-child {
  width: min(100%, 1120px) !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
  gap: var(--space-6) !important;
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
}

body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-38cfe370,
  .elementor-element-62a8485c,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-3761708b,
  .elementor-element-190bb0e7,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43
) > .e-con:last-child > .e-con,
body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-38cfe370,
  .elementor-element-62a8485c,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-3761708b,
  .elementor-element-190bb0e7,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43
) > .e-con:last-child > .elementor-widget {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43
) > .e-con:last-child > .e-con {
  display: flex !important;
  flex-direction: column !important;
}

body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43
) > .e-con:last-child > .e-con > .elementor-widget,
body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-38cfe370,
  .elementor-element-62a8485c,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-3761708b,
  .elementor-element-190bb0e7,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43
) > .e-con:last-child > .elementor-widget {
  width: 100% !important;
  max-width: none !important;
}

body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-38cfe370,
  .elementor-element-62a8485c,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-3761708b,
  .elementor-element-190bb0e7,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43
) :is(.elementor-image-box-wrapper, .elementor-icon-box-wrapper) {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  text-align: left !important;
  padding: var(--space-6) !important;
  border: 1px solid hsl(var(--border)) !important;
  border-radius: var(--radius-lg) !important;
  background: hsl(var(--card)) !important;
  box-shadow: var(--shadow-soft) !important;
}

body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-38cfe370,
  .elementor-element-62a8485c,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-3761708b,
  .elementor-element-190bb0e7,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43
) :is(.elementor-image-box-content, .elementor-icon-box-content) {
  display: grid !important;
  gap: var(--space-3) !important;
  width: 100% !important;
  padding: 0 !important;
}

body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-38cfe370,
  .elementor-element-62a8485c,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-3761708b,
  .elementor-element-190bb0e7,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43
) :is(.elementor-image-box-title, .elementor-icon-box-title) {
  margin: 0 !important;
  font-size: clamp(1.18rem, 1.7vw, 1.42rem) !important;
  line-height: 1.15 !important;
}

body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-38cfe370,
  .elementor-element-62a8485c,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-3761708b,
  .elementor-element-190bb0e7,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43
) :is(.elementor-image-box-title a, .elementor-icon-box-title a, .elementor-icon-box-title span) {
  color: hsl(var(--foreground)) !important;
  text-decoration: none !important;
}

body .elementor :is(
  .elementor-element-3ed5af20,
  .elementor-element-6b93618e,
  .elementor-element-38cfe370,
  .elementor-element-62a8485c,
  .elementor-element-14ea4ba5,
  .elementor-element-781e9dee,
  .elementor-element-3761708b,
  .elementor-element-190bb0e7,
  .elementor-element-52f8ac9d,
  .elementor-element-45b52f43
) :is(.elementor-image-box-description, .elementor-icon-box-description) {
  margin: 0 !important;
  color: hsl(var(--muted-foreground)) !important;
  font-size: 0.96rem !important;
  line-height: 1.65 !important;
}

body .elementor :is(
  .elementor-element-6b4b0bd1,
  .elementor-element-14617dba,
  .elementor-element-7339956b,
  .elementor-element-274f0aa5,
  .elementor-element-57bbbde4,
  .elementor-element-62b4a02
) > .e-con:last-child {
  width: min(100%, 980px) !important;
  margin-inline: auto !important;
}

body .elementor :is(
  .elementor-element-6b4b0bd1,
  .elementor-element-14617dba,
  .elementor-element-7339956b,
  .elementor-element-274f0aa5,
  .elementor-element-57bbbde4,
  .elementor-element-62b4a02
) .elementor-toggle {
  display: grid !important;
  gap: var(--space-4) !important;
}

body .elementor :is(
  .elementor-element-6b4b0bd1,
  .elementor-element-14617dba,
  .elementor-element-7339956b,
  .elementor-element-274f0aa5,
  .elementor-element-57bbbde4,
  .elementor-element-62b4a02
) .elementor-toggle-item {
  margin: 0 !important;
  border: 1px solid hsl(var(--border)) !important;
  border-radius: var(--radius-lg) !important;
  background: hsl(var(--card)) !important;
  box-shadow: var(--shadow-soft) !important;
  overflow: hidden !important;
}

body .elementor :is(
  .elementor-element-6b4b0bd1,
  .elementor-element-14617dba,
  .elementor-element-7339956b,
  .elementor-element-274f0aa5,
  .elementor-element-57bbbde4,
  .elementor-element-62b4a02
) .elementor-tab-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: var(--space-4) !important;
  padding: 24px 28px !important;
  border: 0 !important;
  background: transparent !important;
}

body .elementor :is(
  .elementor-element-6b4b0bd1,
  .elementor-element-14617dba,
  .elementor-element-7339956b,
  .elementor-element-274f0aa5,
  .elementor-element-57bbbde4,
  .elementor-element-62b4a02
) .elementor-toggle-icon {
  display: none !important;
}

body .elementor :is(
  .elementor-element-6b4b0bd1,
  .elementor-element-14617dba,
  .elementor-element-7339956b,
  .elementor-element-274f0aa5,
  .elementor-element-57bbbde4,
  .elementor-element-62b4a02
) .elementor-toggle-title {
  flex: 1 1 auto !important;
  color: hsl(var(--foreground)) !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: clamp(1rem, 1.3vw, 1.18rem) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}

body .elementor :is(
  .elementor-element-6b4b0bd1,
  .elementor-element-14617dba,
  .elementor-element-7339956b,
  .elementor-element-274f0aa5,
  .elementor-element-57bbbde4,
  .elementor-element-62b4a02
) .elementor-tab-title::after {
  content: "";
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
  margin-left: var(--space-4);
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  color: hsl(var(--muted-foreground));
  transform: rotate(45deg);
  transform-origin: center;
  transition: transform 0.2s ease, color 0.2s ease;
}

body .elementor :is(
  .elementor-element-6b4b0bd1,
  .elementor-element-14617dba,
  .elementor-element-7339956b,
  .elementor-element-274f0aa5,
  .elementor-element-57bbbde4,
  .elementor-element-62b4a02
) .elementor-toggle-item.elementor-active .elementor-tab-title::after,
body .elementor :is(
  .elementor-element-6b4b0bd1,
  .elementor-element-14617dba,
  .elementor-element-7339956b,
  .elementor-element-274f0aa5,
  .elementor-element-57bbbde4,
  .elementor-element-62b4a02
) .elementor-tab-title.elementor-active::after {
  color: hsl(var(--primary));
  transform: rotate(-135deg);
}

body .elementor :is(
  .elementor-element-6b4b0bd1,
  .elementor-element-14617dba,
  .elementor-element-7339956b,
  .elementor-element-274f0aa5,
  .elementor-element-57bbbde4,
  .elementor-element-62b4a02
) .elementor-tab-content {
  border-top: 0 !important;
  padding: 0 28px 24px !important;
  background: transparent !important;
  color: hsl(var(--muted-foreground)) !important;
}

body .elementor :is(
  .elementor-element-6b4b0bd1,
  .elementor-element-14617dba,
  .elementor-element-7339956b,
  .elementor-element-274f0aa5,
  .elementor-element-57bbbde4,
  .elementor-element-62b4a02
) .elementor-tab-content > *:first-child {
  margin-top: 0 !important;
}

body .elementor :is(
  .elementor-element-6b4b0bd1,
  .elementor-element-14617dba,
  .elementor-element-7339956b,
  .elementor-element-274f0aa5,
  .elementor-element-57bbbde4,
  .elementor-element-62b4a02
) .elementor-tab-content > *:last-child {
  margin-bottom: 0 !important;
}

/* Mobile */
@media (max-width: 1024px) {
  body .elementor-section.elementor-section-boxed > .elementor-container,
  body .e-con.e-con-boxed > .e-con-inner {
    width: min(100% - 1.2rem, var(--container-max)) !important;
  }

  body .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
  body .e-con > .elementor-element,
  body .e-con > .e-con {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.home .elementor > .elementor-section:first-of-type,
  body.home .elementor > .e-con:first-of-type {
    min-height: max(620px, calc(86svh - var(--header-height))) !important;
    padding-block: clamp(96px, 18vw, 140px) !important;
  }

  body.home .elementor > .elementor-section:first-of-type .elementor-widget-heading .elementor-heading-title {
    font-size: clamp(2.2rem, 9vw, 4rem) !important;
  }

  body .elementor :is(
    .elementor-element-3ed5af20,
    .elementor-element-6b93618e,
    .elementor-element-38cfe370,
    .elementor-element-62a8485c,
    .elementor-element-14ea4ba5,
    .elementor-element-781e9dee,
    .elementor-element-3761708b,
    .elementor-element-190bb0e7,
    .elementor-element-52f8ac9d,
    .elementor-element-45b52f43
  ) > .e-con:last-child {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.home .elementor > .elementor-section:first-of-type,
  body.home .elementor > .e-con:first-of-type {
    min-height: max(560px, calc(84svh - var(--header-height))) !important;
  }

  body .elementor-top-section,
  body .elementor > .e-con {
    padding-block: clamp(44px, 12vw, 72px) !important;
  }

  body .elementor .elementor-widget-heading h2,
  body .elementor .elementor-widget-heading h3,
  body .elementor .elementor-widget-heading .elementor-heading-title {
    font-size: clamp(1.75rem, 8vw, 2.6rem) !important;
  }

  body .elementor :is(
    .elementor-element-3ed5af20,
    .elementor-element-6b93618e,
    .elementor-element-38cfe370,
    .elementor-element-62a8485c,
    .elementor-element-14ea4ba5,
    .elementor-element-781e9dee,
    .elementor-element-3761708b,
    .elementor-element-190bb0e7,
    .elementor-element-52f8ac9d,
    .elementor-element-45b52f43
  ) :is(.elementor-image-box-wrapper, .elementor-icon-box-wrapper) {
    padding: var(--space-5) !important;
  }

  body .elementor :is(
    .elementor-element-6b4b0bd1,
    .elementor-element-14617dba,
    .elementor-element-7339956b,
    .elementor-element-274f0aa5,
    .elementor-element-57bbbde4,
    .elementor-element-62b4a02
  ) .elementor-tab-title {
    padding: 20px 22px !important;
  }

  body .elementor :is(
    .elementor-element-6b4b0bd1,
    .elementor-element-14617dba,
    .elementor-element-7339956b,
    .elementor-element-274f0aa5,
    .elementor-element-57bbbde4,
    .elementor-element-62b4a02
  ) .elementor-tab-content {
    padding: 0 22px 20px !important;
  }
}
