/**
 * Elitek — BRM Exprés homepage soft-modern restyle
 * Scope: front page ONLY (body.home / page-id-18400)
 * Includes: rounded UI, Bruno Ace headings, sticky frosted header
 * Brand colors preserved (#10ACD5 primary). Not a yogal/ypgal clone.
 */

body.home,
body.frontpage,
body.page-id-18400 {
  --elitek-radius-sm: 12px;
  --elitek-radius-md: 18px;
  --elitek-radius-lg: 24px;
  --elitek-radius-pill: 999px;
  --elitek-shadow: 0 8px 28px rgba(16, 172, 213, 0.12);
  --elitek-shadow-soft: 0 6px 22px rgba(0, 0, 0, 0.07);
  --elitek-shadow-hover: 0 14px 36px rgba(16, 172, 213, 0.18);
  --elitek-trans: 0.25s ease;
  --elitek-header-bg: rgba(255, 255, 255, 0.18);
  --elitek-header-bg-scrolled: rgba(255, 255, 255, 0.72);
}

/* ------------------------------------------------------------------ */
/* Bruno Ace — homepage headings only                                 */
/* ------------------------------------------------------------------ */
body.home h1,
body.home h2,
body.home h3,
body.home h4,
body.home .sc_item_title,
body.home .sc_item_title_text,
body.home .sc_services_item_title,
body.home .elementor-heading-title,
body.home .trx_addons_title,
body.frontpage h1,
body.frontpage h2,
body.frontpage h3,
body.frontpage h4,
body.page-id-18400 h1,
body.page-id-18400 h2,
body.page-id-18400 h3,
body.page-id-18400 h4,
body.home .sc_layouts_title_caption,
body.home .sc_item_subtitle {
  font-family: "Bruno Ace", system-ui, sans-serif !important;
  letter-spacing: 0.01em;
}

/* ------------------------------------------------------------------ */
/* Header pill is sitewide: see elitek-brm-sitewide.css               */
/* (homepage full-bleed frosted bar removed so it does not fight it)  */
/* ------------------------------------------------------------------ */

/* Logo sizing reinforced on home (global rules also in MU-plugin) */
body.home .top_panel .sc_layouts_logo img,
body.home .top_panel .custom-logo,
body.home .top_panel .logo_image,
body.home .sc_layouts_logo .logo_image {
  max-height: 72px !important;
  height: 72px !important;
  width: auto !important;
  object-fit: contain !important;
}

/* ------------------------------------------------------------------ */
/* Buttons — pill / soft rounded CTAs                                 */
/* ------------------------------------------------------------------ */
body.home .elementor-button,
body.frontpage .elementor-button,
body.page-id-18400 .elementor-button,
body.home a.sc_button,
body.home .sc_button,
body.home .sc_services_item_more_link,
body.home .trx_addons_button,
body.home input[type="submit"],
body.home button[type="submit"],
body.home .wp-block-button__link {
  border-radius: var(--elitek-radius-pill) !important;
  transition: transform var(--elitek-trans), box-shadow var(--elitek-trans),
    background-color var(--elitek-trans), opacity var(--elitek-trans) !important;
  box-shadow: 0 4px 14px rgba(16, 172, 213, 0.22);
}

body.home .elementor-button:hover,
body.frontpage .elementor-button:hover,
body.page-id-18400 .elementor-button:hover,
body.home a.sc_button:hover,
body.home .sc_button:hover,
body.home .sc_services_item_more_link:hover,
body.home .trx_addons_button:hover {
  transform: translateY(-2px);
  box-shadow: var(--elitek-shadow-hover);
}

body.home .elementor-button.elementor-size-sm {
  padding-left: 1.35em !important;
  padding-right: 1.35em !important;
}

/* ------------------------------------------------------------------ */
/* Cards / posts / service tiles                                      */
/* ------------------------------------------------------------------ */
body.home .elementor-post,
body.home .elementor-posts-container .elementor-post,
body.home .sc_services_item,
body.home .sc_services_item_content,
body.home .e-loop-item,
body.home .swiper-slide.e-loop-item,
body.home article.post_item,
body.home .post_item {
  border-radius: var(--elitek-radius-md) !important;
  overflow: hidden;
  transition: transform var(--elitek-trans), box-shadow var(--elitek-trans);
}

body.home .elementor-post,
body.home .sc_services_item,
body.home .e-loop-item {
  box-shadow: var(--elitek-shadow-soft);
}

body.home .elementor-post:hover,
body.home .sc_services_item:hover,
body.home .e-loop-item:hover {
  transform: translateY(-3px);
  box-shadow: var(--elitek-shadow);
}

body.home .sc_services_item_content {
  border-radius: var(--elitek-radius-md) !important;
  background-size: cover;
  background-position: center;
}

body.home .sc_services.sc_services_strong .sc_services_item {
  border-radius: var(--elitek-radius-md);
}

/* ------------------------------------------------------------------ */
/* Images & media                                                     */
/* ------------------------------------------------------------------ */
body.home .elementor-widget-image img,
body.home .elementor-widget-image .elementor-widget-container,
body.home .post_featured img,
body.home .attachment-full,
body.home .wp-post-image,
body.home .elementor-post__thumbnail img,
body.home .elementor-cta__bg-wrapper,
body.home .elementor-background-overlay {
  border-radius: var(--elitek-radius-md);
}

body.home .elementor-element-1f119c4,
body.home .elementor-element-7fcc93c {
  --border-radius: var(--elitek-radius-lg) !important;
  border-radius: var(--elitek-radius-lg) !important;
  overflow: hidden;
  position: relative;
  --margin-top: 36px !important;
  --margin-bottom: 36px !important;
  margin-top: 36px !important;
  margin-bottom: 36px !important;
  --padding-top: 36px !important;
  --padding-bottom: 36px !important;
  --padding-left: 22px !important;
  --padding-right: 22px !important;
  padding: 36px 22px !important;
}

/* Darker gradient scrim on stacked photo panels */
body.home .elementor-element-1f119c4::before,
body.home .elementor-element-7fcc93c::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.35) 0%,
    rgba(0, 0, 0, 0.45) 40%,
    rgba(0, 0, 0, 0.72) 100%
  ) !important;
  opacity: 1 !important;
  pointer-events: none;
  z-index: 1;
}

body.home .elementor-element-1f119c4 > *:not(::before),
body.home .elementor-element-7fcc93c > *:not(::before) {
  position: relative;
  z-index: 2;
}

body.home .elementor-element-1f119c4 .elementor-widget,
body.home .elementor-element-7fcc93c .elementor-widget,
body.home .elementor-element-1f119c4 .e-con,
body.home .elementor-element-7fcc93c .e-con {
  position: relative;
  z-index: 2;
}

/* Vertical breathing room between major homepage sections */
body.home .elementor-18400 > .e-con.e-parent:not(.sc_layouts_row),
body.home .elementor > .e-con.e-parent:not(.sc_layouts_row) {
  margin-block: 2rem !important;
}

body.home .elementor-18400 > .e-con.e-parent + .e-con.e-parent {
  margin-top: 2.25rem !important;
}

body.home .e-con.e-con-boxed > .e-con-inner {
  border-radius: var(--elitek-radius-sm);
}

/* ------------------------------------------------------------------ */
/* Carousel / slider chrome                                           */
/* ------------------------------------------------------------------ */
body.home .elementor-swiper-button-prev,
body.home .elementor-swiper-button-next,
body.home .swiper-button-prev,
body.home .swiper-button-next {
  border-radius: var(--elitek-radius-pill) !important;
  box-shadow: var(--elitek-shadow-soft) !important;
  transition: transform var(--elitek-trans), box-shadow var(--elitek-trans);
}

body.home .elementor-swiper-button-prev:hover,
body.home .elementor-swiper-button-next:hover {
  transform: scale(1.05);
  box-shadow: var(--elitek-shadow) !important;
}

body.home .swiper-pagination-bullet {
  border-radius: var(--elitek-radius-pill);
}

/* ------------------------------------------------------------------ */
/* Icons / forms / footer                                             */
/* ------------------------------------------------------------------ */
body.home .elementor-icon-box-wrapper,
body.home .sc_icon,
body.home .trx_addons_icon {
  border-radius: var(--elitek-radius-sm);
}

body.home .elementor-view-stacked .elementor-icon {
  border-radius: var(--elitek-radius-pill) !important;
}

body.home .footer_wrap {
  border-top-left-radius: var(--elitek-radius-lg);
  border-top-right-radius: var(--elitek-radius-lg);
}

body.home input[type="text"],
body.home input[type="email"],
body.home input[type="tel"],
body.home input[type="search"],
body.home input[type="url"],
body.home input[type="number"],
body.home textarea,
body.home select,
body.home .elementor-field-textual {
  border-radius: var(--elitek-radius-sm) !important;
}

@media (max-width: 767px) {
  body.home,
  body.frontpage,
  body.page-id-18400 {
    --elitek-radius-md: 14px;
    --elitek-radius-lg: 18px;
    --elitek-header-bg: rgba(255, 255, 255, 0.72);
    --elitek-header-bg-scrolled: rgba(255, 255, 255, 0.9);
  }

  body.home .top_panel .sc_layouts_logo img,
  body.home .top_panel .custom-logo,
  body.home .top_panel .logo_image,
  body.home .sc_layouts_logo .logo_image {
    max-height: 48px !important;
    height: 48px !important;
  }

  /* Extra gap when photo/service cards stack on mobile */
  body.home .elementor-element-1f119c4,
  body.home .elementor-element-7fcc93c {
    --margin-top: 22px !important;
    --margin-bottom: 22px !important;
    margin-top: 22px !important;
    margin-bottom: 22px !important;
  }

  body.home .sc_services_columns_wrap .trx_addons_column-1_3,
  body.home .sc_services_columns_wrap .trx_addons_column-1_2-tablet {
    margin-bottom: 0.55rem !important;
  }

  body.home .elementor-18400 > .e-con.e-parent:not(.sc_layouts_row) {
    margin-block: 0.85rem !important;
  }

  body.home .elementor-button:hover,
  body.home .sc_services_item:hover,
  body.home .elementor-post:hover,
  body.home .e-loop-item:hover {
    transform: none;
  }

  body.home .footer_wrap {
    border-top-left-radius: var(--elitek-radius-md);
    border-top-right-radius: var(--elitek-radius-md);
  }
}


/* ------------------------------------------------------------------ */
/* Readability: darker scrims on photo cards / overlays (home only)   */
/* ------------------------------------------------------------------ */
body.home .sc_services_item {
  margin-bottom: 0.35rem;
}

/* Keep ThemeREX strong-card aspect (::before spacer); content must fill it */
body.home .sc_services.sc_services_strong .sc_services_item {
  overflow: hidden;
}
body.home .sc_services_item_content {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden;
  margin: 0 !important;
}

body.home .sc_services_item_content::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.82) 0%,
    rgba(0, 0, 0, 0.45) 42%,
    rgba(0, 0, 0, 0.15) 70%,
    rgba(0, 0, 0, 0.05) 100%
  );
  z-index: 1;
  pointer-events: none;
  border-radius: inherit;
}

body.home .sc_services_item_content_inner,
body.home .sc_services_item_content_inner_bottom {
  position: relative;
  z-index: 2;
  padding: 1.15rem 1.05rem 1.25rem !important;
}

body.home .sc_services_item_title,
body.home .sc_services_item_title a {
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55);
  color: #fff !important;
}

body.home .sc_services_columns_wrap {
  gap: 1.15rem 1.15rem !important;
  row-gap: 1.15rem !important;
}

body.home .sc_services_columns_wrap.trx_addons_columns_wrap {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

body.home .sc_services_columns_wrap > [class*="trx_addons_column-"] {
  padding-left: 0.55rem !important;
  padding-right: 0.55rem !important;
  margin-bottom: 1rem !important;
}

/* Loop carousel photo cards + hero: stronger overlay */
body.home .elementor-element-3201de3,
body.home .e-loop-item .elementor-element-3201de3 {
  --overlay-opacity: 0.55 !important;
  position: relative;
  border-radius: var(--elitek-radius-md) !important;
  overflow: hidden;
  padding: 24px 18px !important;
}

body.home .elementor-element-3201de3::before,
body.home .e-loop-item .elementor-element-3201de3::before {
  background-color: rgba(0, 0, 0, 0.55) !important;
  opacity: var(--overlay-opacity, 0.55) !important;
  background-image: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.75) 0%,
    rgba(0, 0, 0, 0.35) 55%,
    rgba(0, 0, 0, 0.2) 100%
  ) !important;
}

body.home .elementor-element-66bdea0 {
  --overlay-opacity: 0.62 !important;
}

body.home .elementor-element-66bdea0::before {
  content: "" !important;
  background-color: rgba(0, 0, 0, 0.5) !important;
  opacity: 1 !important;
  background-image: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.4) 0%,
    rgba(0, 0, 0, 0.5) 40%,
    rgba(0, 0, 0, 0.72) 100%
  ) !important;
}

body.home .elementor-element-66bdea0 {
  margin-bottom: 2rem !important;
}

body.home .elementor-18400 .e-con.e-parent[data-element_type="container"] {
  margin-bottom: 1.25rem;
}

/* Generic Elementor background overlays a bit stronger on home */
body.home .elementor-background-overlay {
  opacity: max(0.45, var(--overlay-opacity, 0.45)) !important;
}

/* CTA / title blocks sitting on photos: ensure readable */
body.home .elementor-element-1f119c4 .elementor-heading-title,
body.home .elementor-element-7fcc93c .elementor-heading-title,
body.home .elementor-element-1f119c4 .sc_item_title,
body.home .elementor-element-7fcc93c .sc_item_title,
body.home .elementor-element-3201de3 .elementor-heading-title,
body.home .elementor-element-3201de3 .sc_item_title {
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55);
}



/* Extra section separation (feedback pass) */
body.home .elementor-18400 > .e-con.e-parent {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}
body.home .elementor-18400 > .e-con.e-parent:first-child {
  margin-top: 0 !important;
}
body.home .content_wrap_fullscreen .content,
body.home .page_content_wrap .content {
  row-gap: 1.5rem;
}
body.home .elementor-widget-button {
  margin-block: 0.75rem !important;
}
body.home .elementor-widget-heading {
  margin-bottom: 0.5rem !important;
}

@media (prefers-reduced-motion: reduce) {
  body.home .elementor-button,
  body.home .sc_services_item,
  body.home .elementor-post,
  body.home .e-loop-item,
  body.home .top_panel .sc_layouts_row {
    transition: none !important;
  }
}


/* Force visible gaps between Elementor parent sections (beat --margin-*:0) */
body.home .elementor-18400 > .e-con.e-parent {
  margin-block-start: 2.25rem !important;
  margin-block-end: 2.25rem !important;
  --margin-top: 2.25rem !important;
  --margin-bottom: 2.25rem !important;
}
body.home .elementor-18400 > .e-con.e-parent:first-child {
  margin-block-start: 0 !important;
  --margin-top: 0 !important;
}
body.home .elementor-element-66bdea0 {
  margin-block-end: 2.5rem !important;
  --margin-bottom: 2.5rem !important;
}


/* Named homepage sections — explicit separation */
body.home .elementor-element-ef002b5,
body.home .elementor-element-ca6f4ce {
  margin-block-start: 2.5rem !important;
  margin-block-end: 2.5rem !important;
  --margin-top: 2.5rem !important;
  --margin-bottom: 2.5rem !important;
  --padding-top: 1.5rem !important;
  --padding-bottom: 1.5rem !important;
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}
body.home .elementor-element-ca6f4ce .e-con.e-child,
body.home .elementor-element-ca6f4ce > .e-con-inner > .e-con {
  margin-block: 1.25rem !important;
}
body.home .elementor-element-1f119c4 + .elementor-element,
body.home .elementor-element-7fcc93c + .elementor-element {
  margin-block-start: 1.75rem !important;
}


/* ------------------------------------------------------------------ */
/* Mobile tighten — kill large white band after services cards        */
/* Desktop spacing above remains unchanged.                           */
/* ------------------------------------------------------------------ */
@media (max-width: 767px) {
  /* Parent sections: keep a little air, not a white canyon */
  body.home .elementor-18400 > .e-con.e-parent {
    margin-block-start: 0.85rem !important;
    margin-block-end: 0.85rem !important;
    --margin-top: 0.85rem !important;
    --margin-bottom: 0.85rem !important;
  }
  body.home .elementor-18400 > .e-con.e-parent:first-child {
    margin-block-start: 0 !important;
    --margin-top: 0 !important;
  }

  body.home .elementor-element-ef002b5,
  body.home .elementor-element-ca6f4ce {
    margin-block-start: 0.75rem !important;
    margin-block-end: 0.75rem !important;
    --margin-top: 0.75rem !important;
    --margin-bottom: 0.75rem !important;
    --padding-top: 0.5rem !important;
    --padding-bottom: 0.5rem !important;
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  body.home .elementor-element-ca6f4ce .e-con.e-child,
  body.home .elementor-element-ca6f4ce > .e-con-inner > .e-con {
    margin-block: 0.5rem !important;
  }

  body.home .elementor-element-66bdea0 {
    margin-bottom: 1rem !important;
    margin-block-end: 1rem !important;
    --margin-bottom: 1rem !important;
  }

  /* Photo panels: less outer chrome on mobile */
  body.home .elementor-element-1f119c4,
  body.home .elementor-element-7fcc93c {
    --margin-top: 12px !important;
    --margin-bottom: 12px !important;
    margin-top: 12px !important;
    margin-bottom: 12px !important;
    --padding-top: 18px !important;
    --padding-bottom: 18px !important;
    --padding-left: 14px !important;
    --padding-right: 14px !important;
    padding: 18px 14px !important;
  }

  body.home .elementor-element-1f119c4 + .elementor-element,
  body.home .elementor-element-7fcc93c + .elementor-element {
    margin-block-start: 0.75rem !important;
  }

  /* Services stack (Mensajería / Valijas / Paquetería…): tight gaps */
  body.home .sc_services_columns_wrap {
    gap: 0.65rem 0.65rem !important;
    row-gap: 0.65rem !important;
  }
  body.home .sc_services_columns_wrap > [class*="trx_addons_column-"],
  body.home .sc_services_columns_wrap .trx_addons_column-1_3,
  body.home .sc_services_columns_wrap .trx_addons_column-1_2-tablet {
    margin-bottom: 0.55rem !important;
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
  body.home .sc_services_item {
    margin-bottom: 0 !important;
  }
  body.home .sc_services_item_content {
    min-height: 0 !important;
    height: 100% !important;
  }
  /* Slightly shorter tall cards on mobile (theme ::before padding-top %) */
  body.home .sc_services.sc_services_strong .sc_services_item::before {
    padding-top: 100% !important; /* square-ish; filled by absolute content */
  }
  body.home .elementor-widget-trx_sc_services,
  body.home .elementor-element-f47378e {
    margin-bottom: 0.5rem !important;
  }
  body.home .elementor-widget-button {
    margin-block: 0.45rem !important;
  }
}


/* ------------------------------------------------------------------ */
/* 2026-10-06 — Home service cards (widget f47378e): equal-size grid  */
/* Elementor already sets 3 cols desktop / 2 tablet; the gap above    */
/* made 3×33% overflow and wrap to 2 (left-aligned). Grid fixes it.   */
/* ------------------------------------------------------------------ */
body.home .elementor-element-f47378e .sc_services_columns_wrap.trx_addons_columns_wrap {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.15rem !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding-inline: 20px !important; /* section is ~5px wider than viewport; keep card edges visible */
}
/* Column-wrap flex parent collapsed the widget height (cards overflowed the next section on mobile) */
body.home .elementor-element-49b239b {
  flex-wrap: nowrap !important;
}
body.home .elementor-element-f47378e,
body.home .elementor-element-f47378e > .elementor-widget-container {
  height: auto !important;
}
body.home .elementor-element-f47378e .sc_services_columns_wrap > [class*="trx_addons_column-"] {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.home .elementor-element-f47378e .sc_services_columns_wrap > [class*="trx_addons_column-"] > .sc_services_item {
  margin: 0 !important;
  height: 100%;
}
@media (max-width: 1024px) {
  body.home .elementor-element-f47378e .sc_services_columns_wrap.trx_addons_columns_wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 767px) {
  body.home .elementor-element-f47378e .sc_services_columns_wrap.trx_addons_columns_wrap {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.65rem !important;
    padding-inline: 0 !important;
  }
}
