/* 
Theme Name: Hello Elementor Child
Description: Hello Elementor Child
Template: hello-elementor
Version: 2.0.0
*/

/* ==========================================================================
   FRIGO KING USA — Design refinements
   ========================================================================== */

/* --- Base ---------------------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}
body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.elementor-heading-title {
  margin: 0 !important;
}
.elementor-widget-text-editor p {
  margin: 0;
}

/* ==========================================================================
   EYEBROW ACCENT BARS
   ========================================================================== */
.fk-eyebrow .elementor-heading-title {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  line-height: 1.2;
  margin-bottom: 14px !important;
}
.fk-eyebrow .elementor-heading-title::before {
  content: "";
  flex-shrink: 0;
  width: 26px;
  height: 2px;
  background: #f0581f;
  border-radius: 2px;
  display: block;
}
#support .fk-eyebrow .elementor-heading-title::before,
#presence .fk-eyebrow .elementor-heading-title::before,
#final-cta .fk-eyebrow .elementor-heading-title::before {
  background: #ff7a45;
}

/* ==========================================================================
   CENTERED H2 UNDERLINE
   ========================================================================== */
.fk-section-h2 .elementor-heading-title {
  position: relative;
  padding-bottom: 22px;
  display: inline-block;
}
.fk-section-h2 .elementor-heading-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: #f0581f;
  border-radius: 2px;
}

/* ==========================================================================
   HERO
   ========================================================================== */
#hero-section h1 {
  letter-spacing: -0.015em !important;
  line-height: 0.98 !important;
  font-family: "Open Sans", sans-serif !important;
  font-weight: 800 !important;
}
/* Form card should not overflow hero section */
#hero-section .elementor-widget-form {
  width: 100%;
}

/* ==========================================================================
   WHY SECTION — image fills column
   ========================================================================== */
#why .elementor-widget-image img {
  width: 100% !important;
  height: auto;
  display: block;
  border-radius: 12px;
}
/* Large orange numbers 01-04 */
#why
  .e-grid
  .e-con
  .elementor-widget-heading:first-child
  .elementor-heading-title {
  font-size: 40px !important;
  font-family: "Open Sans", sans-serif !important;
  font-weight: 800 !important;
  color: #f0581f !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
  display: block !important;
}

/* ==========================================================================
   PRODUCTS — media area + card tag overlay
   ========================================================================== */
#products .e-con.e-con-full > .e-con.e-con-full:first-child {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: linear-gradient(160deg, #f3f5f7, #e7ebef);
  align-items: center;
  justify-content: center;
  position: relative;
}
#products
  .e-con.e-con-full
  > .e-con.e-con-full:first-child
  .elementor-widget-image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
#products
  .e-con.e-con-full
  > .e-con.e-con-full:first-child
  .elementor-widget-image
  img {
  width: 80% !important;
  height: auto !important;
  object-fit: contain;
  filter: drop-shadow(0 12px 18px rgba(16, 30, 46, 0.18));
  display: block;
  margin: auto;
}
.fk-card-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 5;
}
.fk-card-tag .elementor-heading-title {
  display: inline-block !important;
  background: rgba(8, 19, 32, 0.78) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 5px 10px !important;
  border-radius: 4px !important;
  white-space: nowrap !important;
  margin: 0 !important;
}
#products .e-con.e-con-full > .e-con.e-con-full:first-child {
  position: relative;
}
#products .e-grid > .e-con-inner > .e-con:hover {
  transform: translateY(-5px);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  box-shadow: 0 18px 40px -20px rgba(16, 30, 46, 0.35);
}

/* ==========================================================================
   SUPPORT — photo badge + icon-box
   ========================================================================== */
.fk-support-photo {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 18px 40px -20px rgba(16, 30, 46, 0.45);
}
.fk-support-photo .elementor-widget-image img {
  width: 100% !important;
  display: block;
}
.fk-support-photo .elementor-widget-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(8, 19, 32, 0.4), transparent 60%);
  pointer-events: none;
}
.fk-support-photo .elementor-widget-text-editor {
  position: absolute;
  bottom: 14px;
  left: 14px;
  z-index: 2;
  margin: 0 !important;
  padding: 0 !important;
}
.fk-now-usa-badge {
  display: inline-block !important;
  background: #f0581f;
  color: #fff !important;
  font-family: "Open Sans", sans-serif;
  font-weight: 800;
  font-size: 14px;
  padding: 8px 14px;
  border-radius: 5px;
  margin: 0 !important;
  line-height: 1.2;
}
#support .elementor-widget-icon-box {
  border-top: 1px solid #233a55;
  padding: 18px 0 !important;
}
#support .elementor-widget-icon-box:first-child {
  border-top: none;
  padding-top: 0 !important;
}
#support .elementor-icon-box-icon .elementor-icon {
  background: rgba(240, 88, 31, 0.14);
  border-radius: 9px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 16px;
}

/* ==========================================================================
   TECHNOLOGY
   ========================================================================== */
#tech .elementor-widget-image img {
  width: 100% !important;
  border-radius: 12px;
  box-shadow: 0 18px 40px -20px rgba(16, 30, 46, 0.45);
}

/* ==========================================================================
   TRAINING
   ========================================================================== */
#training .e-con-boxed > .e-con-inner > .e-con {
  background: #fff;
  border: 1px solid #e4e8ed;
  border-top: 3px solid #f0581f;
  border-radius: 12px;
  box-shadow: 0 4px 20px -8px rgba(16, 30, 46, 0.18);
  overflow: hidden;
  padding: clamp(28px, 4vw, 48px) !important;
}

/* ==========================================================================
   CREDIBILITY / PRESENCE
   ========================================================================== */
#presence .e-grid > .e-con-inner > .e-con:last-child {
  background: #fff;
  border-radius: 12px;
  padding: 14px !important;
  overflow: hidden;
  display: flex;
  align-items: center;
}
#presence .elementor-widget-image img {
  width: 100% !important;
  display: block;
  border-radius: 6px;
}
/* Metric number styling */
#presence
  .e-grid
  .e-con
  .e-con:nth-child(n)
  .elementor-widget-heading:first-child
  .elementor-heading-title {
  font-size: 36px !important;
  font-family: "Open Sans", sans-serif !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  display: block !important;
}

/* ==========================================================================
   RESOURCES
   ========================================================================== */
#resources .e-grid > .e-con-inner > .e-con {
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s;
}
#resources .e-grid > .e-con-inner > .e-con:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 40px -20px rgba(16, 30, 46, 0.35);
  border-color: transparent !important;
}

/* ==========================================================================
   FINAL CTA
   ========================================================================== */
#final-cta h2.elementor-heading-title {
  color: #fff !important;
}
#final-cta .fk-section-h2 .elementor-heading-title::after {
  background: #ff7a45;
}

/* ==========================================================================
   HEADER NAV
   ========================================================================== */
/* Portal Login button: hide below 900px to free up space */
@media (max-width: 900px) {
  .elementor-template-type-header .elementor-widget-button:first-child {
    display: none;
  }
}
/* Tighten Request a Quote button on small screens */
@media (max-width: 600px) {
  .elementor-template-type-header .elementor-widget-button .elementor-button {
    padding: 10px 14px !important;
    font-size: 12px !important;
  }
}
/* Nav min-height */
.elementor-template-type-header .e-con.e-con-boxed {
  min-height: 64px;
}

/* ==========================================================================
   RESPONSIVE — Tablet ≤1024px
   Override Elementor's --e-con-grid-template-columns CSS custom property
   ========================================================================== */
@media (max-width: 1024px) {
  /* Training card inner */
  #training .e-grid {
    --e-con-grid-template-columns: 1fr !important;
  }
  /* Products 3→2 */
  #products > .e-con > .e-con-inner > .e-con > .e-con-inner > .e-grid,
  #products .e-con-boxed .e-grid:last-of-type {
    --e-con-grid-template-columns: 1fr 1fr !important;
  }
  /* Resources 4→2 */
  #resources .e-con-boxed .e-grid:first-of-type {
    --e-con-grid-template-columns: 1fr 1fr !important;
  }
  /* Section padding reduction */
  #hero-section .e-grid.e-con-boxed,
  #why .e-grid.e-con-boxed,
  #support .e-grid.e-con-boxed,
  #tech .e-grid.e-con-boxed {
    --padding-top: 52px !important;
    --padding-bottom: 52px !important;
  }
}

/* ==========================================================================
   RESPONSIVE — Mobile ≤767px
   ========================================================================== */
@media (max-width: 767px) {
  /* All main 2-column section grids → 1 column */
  #why .e-grid,
  #support .e-grid,
  #tech .e-grid,
  #presence .e-grid:not(.e-con.e-con) {
    --e-con-grid-template-columns: 1fr !important;
  }
  /* Products 3→1 */
  #products .e-grid {
    --e-con-grid-template-columns: 1fr !important;
  }
  /* Resources 4→1 */
  #resources .e-grid {
    --e-con-grid-template-columns: 1fr !important;
  }
  /* Portal callout */
  #resources .e-grid:last-of-type {
    --e-con-grid-template-columns: 1fr !important;
  }
  /* Section padding tight on mobile */
  #hero-section .e-grid.e-con-boxed,
  #why .e-grid.e-con-boxed,
  #products .e-con.e-con-boxed > .e-con-inner,
  #support .e-grid.e-con-boxed,
  #tech .e-grid.e-con-boxed,
  #training .e-con.e-con-boxed > .e-con-inner,
  #presence .e-con.e-con-boxed > .e-con-inner,
  #resources .e-con.e-con-boxed > .e-con-inner,
  #final-cta .e-con.e-con-boxed > .e-con-inner {
    --padding-top: 44px !important;
    --padding-bottom: 44px !important;
  }
  /* Hero: content first, form below */
  #hero-section .e-grid.e-con-boxed {
    --e-con-grid-template-columns: 1fr !important;
  }
  /* Why: image above content */
  #why .e-grid > .e-con-inner > .e-con:first-child {
    order: -1;
  }
  /* Support: photo above content */
  #support .e-grid > .e-con-inner > .e-con:first-child {
    order: -1;
  }
  /* Presence metrics 2-col stays 2-col on mobile */
  #presence .e-grid {
    --e-con-grid-template-columns: 1fr !important;
  }
  /* Training inner card */
  #training .e-grid {
    --e-con-grid-template-columns: 1fr !important;
  }
  #training .e-con-boxed > .e-con-inner > .e-con {
    padding: 28px !important;
  }
  /* Typography scale-down */
  .fk-eyebrow .elementor-heading-title {
    font-size: 11px !important;
  }
}

/* ==========================================================================
   GLOBAL TYPOGRAPHY
   ========================================================================== */
h2.elementor-heading-title {
  letter-spacing: -0.02em !important;
}
h1.elementor-heading-title {
  letter-spacing: -0.015em !important;
}

.header-home {
  background: linear-gradient(
    90deg,
    rgba(0, 22, 46, 0.95) 0%,
    rgba(0, 22, 46, 0.85) 40%,
    rgba(0, 22, 46, 0.35) 70%,
    rgba(0, 22, 46, 0) 100%
  );
}

header,
.elementor-location-header {
  position: relative;
  z-index: 9999;
}

/* Add your custom styles here */
.frigoking-energy-overlay {
  position: relative;
  overflow: visible;
  /* isolation:isolate; */
}

/* azul dominante */
.frigoking-energy-overlay::before {
  content: "";
  position: absolute;
  inset: 0;

  background: linear-gradient(
    180deg,
    rgba(4, 22, 46, 0.98) 0%,
    rgba(4, 22, 46, 0.95) 40%,
    rgba(4, 22, 46, 0.9) 65%,
    rgba(4, 22, 46, 0.75) 85%,
    rgba(4, 22, 46, 0.55) 100%
  );

  mix-blend-mode: multiply;

  z-index: 1;
  pointer-events: none;
}

/* glow laranja apenas na base */
.frigoking-energy-overlay::after {
  content: "";
  position: absolute;

  bottom: -60%;
  left: -30%;

  width: 160%;
  height: 120%;

  background:
    radial-gradient(
      circle at 30% 95%,
      rgba(241, 90, 35, 0.7) 0%,
      rgba(241, 90, 35, 0.35) 15%,
      rgba(241, 90, 35, 0.12) 30%,
      transparent 45%
    ),
    radial-gradient(
      circle at 55% 100%,
      rgba(255, 130, 60, 0.5) 0%,
      rgba(255, 130, 60, 0.2) 18%,
      transparent 35%
    );

  filter: blur(80px);

  mix-blend-mode: screen;

  opacity: 0.85;

  z-index: 2;
  pointer-events: none;
}

/* Container Principal com Overlay */
.frigo-overlay {
  position: relative;
  overflow: hidden;
}

.frigo-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(241, 90, 35, 0.75) 0%,
    rgba(241, 90, 35, 0.55) 10%,
    rgba(241, 90, 35, 0.25) 25%,
    rgba(0, 22, 46, 0.55) 60%,
    rgba(0, 22, 46, 0.92) 100%
  );
  pointer-events: none;
}

.frigoking-energy-overlay::before {
  z-index: 1;
}

.frigoking-energy-overlay::after {
  z-index: 2;
}

.divisor-fade .elementor-divider-separator {
  border-top-style: solid;
  border-top-width: 1px;
  border-image: linear-gradient(to right, transparent, #f15a23, transparent) 1;
}

.linha-processo {
  position: relative;
}

.linha-processo::before {
  content: "";
  position: absolute;
  left: 36px;
  top: 0;
  bottom: 60px !important;
  margin-bottom: 30px;
  width: 2px;
  background: linear-gradient(
    to bottom,
    transparent,
    #e2e5e8,
    #e2e5e8,
    transparent
  );
}

.linha-processo-horizontal {
  position: relative;
}

.linha-processo-horizontal::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 62px;
  height: 2px;

  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.35) 25%,
    rgba(255, 255, 255, 0.6) 50%,
    rgba(255, 255, 255, 0.35) 75%,
    transparent 100%
  );

  z-index: 0;
}

.gradiente-secao {
  background: linear-gradient(
    to bottom,
    transparent,
    #e2e5e8 20%,
    #e2e5e8 80%,
    transparent
  );
}

/* ============================= */
/* SECTION */
/* ============================= */

.product-grid-section {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 20px;
  position: relative;
  overflow: visible;
}

/* ============================= */
/* GRID SUPERIOR */
/* ============================= */

.product-grid-top {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 80px;
  align-items: end;
}

/* ============================= */
/* GRID INFERIOR */
/* ============================= */

.product-grid-bottom {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 80px;
  align-items: start;
}

/* ============================= */
/* IMAGEM */
/* ============================= */

.product-grid-image {
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;

  margin-bottom: -90px;
  transform: translateY(-40px);
}

.product-grid-image img {
  width: 880px;
  max-width: 100%;
  height: auto;
}

/* ============================= */
/* CALLOUT */
/* ============================= */

.callout-box {
  max-width: 320px;
  position: relative;
}

.callout-box h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
}

.callout-box p {
  font-size: 16px;
  line-height: 1.6;
}

/* ============================= */
/* ALINHAMENTO */
/* ============================= */

.product-grid-top .callout-box:nth-child(1),
.product-grid-bottom .callout-box:nth-child(1) {
  text-align: left;
}

.product-grid-top .callout-box:nth-child(2),
.product-grid-bottom .callout-box:nth-child(2) {
  text-align: center;
}

.product-grid-top .callout-box:nth-child(3),
.product-grid-bottom .callout-box:nth-child(3) {
  text-align: left;
}

/* ============================= */
/* LINHAS */
/* ============================= */

.callout-box::after {
  content: "";
  position: absolute;
  width: 90px;
  height: 1px;
  background: #d0d0d0;
  top: 50%;
}

/* esquerda */

.product-grid-top .callout-box:nth-child(1)::after,
.product-grid-bottom .callout-box:nth-child(1)::after {
  right: -100px;
}

/* direita */

.product-grid-top .callout-box:nth-child(3)::after,
.product-grid-bottom .callout-box:nth-child(3)::after {
  left: -100px;
}

/* centro */

.product-grid-top .callout-box:nth-child(2)::after {
  width: 1px;
  height: 120px;
  left: 50%;
  bottom: -140px;
}

.product-grid-bottom .callout-box:nth-child(2)::after {
  width: 1px;
  height: 120px;
  left: 50%;
  top: -90px;
}

/* ============================= */
/* TABLET */
/* ============================= */

@media (max-width: 1024px) {
  .product-grid-section {
    padding: 80px 20px;
  }

  .product-grid-top,
  .product-grid-bottom {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .callout-box {
    max-width: 100%;
    text-align: left !important;
  }

  .callout-box::after {
    display: none;
  }

  .product-grid-image {
    transform: none;
    margin: 40px 0;
  }

  .product-grid-image img {
    width: 100%;
    max-width: 620px;
  }
}

/* ============================= */
/* MOBILE */
/* ============================= */

@media (max-width: 767px) {
  .product-grid-section {
    padding: 60px 20px;
  }

  .product-grid-image img {
    max-width: 480px;
  }

  .callout-box h3 {
    font-size: 17px;
  }

  .callout-box p {
    font-size: 15px;
  }
}

.premium-mega-menu,
.premium-mega-content {
  position: relative;
  z-index: 999999 !important;
}
