/* Marfil Catering & Services - Replica exacta de Avada Theme */

/* Google Fonts - exactas del original */
@import url('https://fonts.googleapis.com/css2?family=Maven+Pro:wght@400;500;700&family=PT+Sans:wght@400;700&family=Roboto:ital,wght@0,400;0,700;1,400;1,700&display=swap');

/* Font Awesome 5 */
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/fontawesome/fa-solid-900.woff2') format('woff2'),
       url('../fonts/fontawesome/fa-solid-900.woff') format('woff');
}
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/fontawesome/fa-regular-400.woff2') format('woff2'),
       url('../fonts/fontawesome/fa-regular-400.woff') format('woff');
}
@font-face {
  font-family: 'Font Awesome 5 Brands';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/fontawesome/fa-brands-400.woff2') format('woff2'),
       url('../fonts/fontawesome/fa-brands-400.woff') format('woff');
}

/* icomoon */
@font-face {
  font-family: 'icomoon';
  src: url('../fonts/icomoon/icomoon.woff') format('woff'),
       url('../fonts/icomoon/icomoon.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

/* =============================================
   CSS Variables - Exactas del fusion-styles CSS
   ============================================= */
:root {
  /* Layout */
  --site_width: 1100px;
  --sidebar_width: 23%;
  --sidebar_gutter: 6%;
  --side_header_width: 280px;
  --main_padding-top: 55px;
  --main_padding-bottom: 40px;
  --hundredp_padding: 30px;

  /* Primary Colors */
  --primary_color: #c00f32;
  --primary_color-2a: rgba(192,15,50,0.2);
  --primary_color-7a: rgba(192,15,50,0.7);
  --link_color: #c00f32;

  /* Header */
  --header_bg_color: #ffffff;
  --header_border_color: #e5e5e5;
  --header_top_bg_color: #c00f32;
  --header_sticky_bg_color: #ffffff;
  --header_sticky_menu_color: #333333;
  --header_sticky_nav_font_size: 14px;
  --header_sticky_nav_padding: 35px;

  /* Logo */
  --logo_alignment: left;
  --logo_background_color: #e10707;
  --logo_margin-top: 31px;

  /* Navigation */
  --nav_height: 84px;
  --nav_padding: 45px;
  --nav_highlight_border: 3px;
  --nav_typography-color: #330000;
  --nav_typography-font-family: "Maven Pro";
  --nav_typography-font-size: 14px;
  --nav_typography-font-weight: 500;
  --nav_dropdown_font_size: 13px;
  --menu_highlight_background: #e10707;
  --menu_hover_first_color: #c00f32;
  --menu_sub_color: #333333;
  --menu_sub_bg_color: #f2efef;
  --menu_sub_sep_color: #dcdadb;
  --menu_bg_hover_color: #f8f8f8;
  --dropdown_menu_width: 180px;
  --dropdown_menu_top_border_size: 3px;

  /* Mobile Menu */
  --mobile_header_bg_color: #ffffff;
  --mobile_menu_background_color: #f9f9f9;
  --mobile_menu_border_color: #dadada;
  --mobile_menu_hover_color: #f6f6f6;
  --mobile_menu_toggle_color: #dadada;
  --mobile_menu_nav_height: 35px;
  --mobile_nav_padding: 25px;

  /* Flyout Menu */
  --flyout_menu_background_color: rgba(255,255,255,0.95);
  --flyout_menu_icon_color: #333333;
  --flyout_menu_icon_font_size: 20px;
  --flyout_menu_icon_hover_color: #e10707;
  --flyout_menu_item_padding: 28px;

  /* Body */
  --body_typography-color: #3f0000;
  --body_typography-font-family: Roboto;
  --body_typography-font-size: 15px;
  --body_typography-font-weight: 400;
  --body_typography-line-height: 1.5;

  /* Headings */
  --h1_typography-font-family: "Maven Pro";
  --h1_typography-font-size: 34px;
  --h1_typography-font-weight: 700;
  --h1_typography-color: #333333;
  --h2_typography-font-family: "Maven Pro";
  --h2_typography-font-size: 18px;
  --h2_typography-font-weight: 500;
  --h2_typography-color: #333333;
  --h3_typography-font-family: "Maven Pro";
  --h3_typography-font-size: 16px;
  --h3_typography-font-weight: 400;
  --h4_typography-font-family: "Maven Pro";
  --h4_typography-font-size: 13px;
  --h4_typography-font-weight: 400;

  /* Page Title Bar */
  --page_title_bg_color: #f6f6f6;
  --page_title_border_color: #d2d3d4;
  --page_title_color: #333333;
  --page_title_font_size: 18px;
  --page_title_height: 87px;
  --page_title_mobile_height: 70px;
  --page_title_subheader_color: #333333;
  --page_title_subheader_font_size: 14px;
  --breadcrumbs_font_size: 10px;
  --breadcrumbs_text_color: #333333;

  /* Buttons */
  --button_font_size: 13px;
  --button_line_height: 16px;
  --button_padding: 11px 23px;
  --button_typography-font-family: "Maven Pro";
  --button_typography-font-weight: 500;
  --button_text_transform: none;
  --button_gradient_top_color: #c00f32;
  --button_gradient_bottom_color: #c00f32;
  --button_gradient_top_color_hover: #d6425f;
  --button_gradient_bottom_color_hover: #d6425f;
  --button_accent_color: #f4f4f4;
  --button_accent_hover_color: #f4f4f4;
  --button_bevel_color: #780404;
  --button_border_width: 3px;
  --button_border_radius: 3px;
  --button_border_color: #a80d2c;
  --button_border_hover_color: #780404;

  /* Forms */
  --form_bg_color: #ffffff;
  --form_border_color: #d2d2d2;
  --form_border_radius: 0px;
  --form_border_width: 1px;
  --form_input_height: 29px;
  --form_text_color: #aaa9a9;
  --form_text_size: 13px;

  /* Footer */
  --footer_bg_color: #363839;
  --footer_area_padding-top: 43px;
  --footer_area_padding-bottom: 40px;
  --footer_border_color: #e9eaee;
  --footer_border_size: 12px;
  --footer_divider_color: #505152;
  --footer_divider_line_size: 1px;
  --footer_headings_color: #dddddd;
  --footer_headings_font-family: "PT Sans";
  --footer_headings_font-size: 13px;
  --footer_headings_font-weight: 400;
  --footer_link_color: #bfbfbf;
  --footer_link_color_hover: #e10707;
  --footer_text_color: #8c8989;
  --footer_widgets_padding: 15px;

  /* Copyright */
  --copyright_bg_color: #282a2b;
  --copyright_border_color: #4b4c4d;
  --copyright_border_size: 1px;
  --copyright_font_size: 12px;
  --copyright_link_color: #ffffff;
  --copyright_link_color_hover: #e10707;
  --copyright_padding-top: 18px;
  --copyright_padding-bottom: 16px;
  --copyright_text_color: #ffffff;

  /* Separators */
  --sep_color: #e0dede;
  --title_border_color: #e0dede;

  /* Content */
  --content_bg_color: #ffffff;
  --bg_color: #d7d6d6;

  /* Other UI */
  --accordian_active_color: #e10707;
  --tagline_font_color: #747474;
  --tagline_font_size: 16px;
  --meta_font_size: 12px;
  --totop_border_radius: 4px;
}

/* =============================================
   Reset & Base - Avada style
   ============================================= */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  font-family: var(--body_typography-font-family), Arial, Helvetica, sans-serif;
  font-size: var(--body_typography-font-size);
  font-weight: var(--body_typography-font-weight);
  line-height: var(--body_typography-line-height);
  color: var(--body_typography-color);
  background-color: var(--bg_color);
  -webkit-font-smoothing: subpixel-antialiased;
}

a {
  color: var(--link_color);
  text-decoration: none;
  transition: all .2s;
}

a:hover {
  color: var(--menu_highlight_background);
}

img {
  max-width: 100%;
  height: auto;
  border: none;
}

ul, ol { list-style: none; margin: 0; padding: 0; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--h1_typography-font-family), Arial, Helvetica, sans-serif;
  color: var(--h1_typography-color);
  margin: 0;
  padding: 0;
}
h1 { font-size: var(--h1_typography-font-size); font-weight: var(--h1_typography-font-weight); line-height: 1.4; margin-top: 0.67em; margin-bottom: 0.67em; }
h2 { font-size: var(--h2_typography-font-size); font-weight: var(--h2_typography-font-weight); line-height: 1.5; margin-top: 0; margin-bottom: 1.1em; }
h3 { font-size: var(--h3_typography-font-size); font-weight: var(--h3_typography-font-weight); line-height: 1.5; margin-top: 1em; margin-bottom: 1em; }
h4 { font-size: var(--h4_typography-font-size); font-weight: var(--h4_typography-font-weight); line-height: 1.5; margin-top: 1.33em; margin-bottom: 1.33em; }

p { margin: 0 0 20px; }

.clearfix::after { content: ""; display: table; clear: both; }

/* =============================================
   Avada Wrapper Structure
   ============================================= */
#boxed-wrapper {
  overflow: hidden;
}

.fusion-sides-frame { display: none; }

#wrapper.fusion-wrapper {
  width: 100%;
  background-color: var(--content_bg_color);
}

.fusion-row {
  max-width: var(--site_width);
  margin: 0 auto;
  padding: 0 var(--hundredp_padding);
}

/* =============================================
   Header Wrapper
   ============================================= */
.fusion-header-wrapper {
  position: relative;
  z-index: 10000;
}

/* Top Header Bar */
.fusion-top-header {
  background-color: var(--header_top_bg_color);
  font-size: 11px;
  padding: 6px 0;
  color: #fff;
}

.fusion-top-header .fusion-row {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.fusion-top-header a {
  color: rgba(255,255,255,0.9);
  font-size: 11px;
}

.fusion-top-header a:hover {
  color: #fff;
}

/* Main Header */
.fusion-header {
  background-color: var(--header_bg_color);
  border-bottom: 1px solid var(--header_border_color);
  transition: background-color .25s ease;
}

.fusion-header .fusion-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--nav_height);
  overflow: hidden;
}

/* Sticky Header */
.fusion-header-wrapper.fusion-is-sticky .fusion-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  background-color: var(--header_sticky_bg_color);
  box-shadow: 0 1px 3px rgba(0,0,0,.1);
}

.fusion-header-sticky-height {
  display: none;
}

.fusion-is-sticky .fusion-header-sticky-height {
  display: block;
  height: var(--nav_height);
}

/* =============================================
   Logo
   ============================================= */
.fusion-logo {
  margin-top: var(--logo_margin-top);
  margin-bottom: 0;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.fusion-logo-background {
  display: flex;
  align-items: center;
}

.fusion-logo a.fusion-logo-link {
  display: flex;
  align-items: center;
}

.fusion-logo .fusion-standard-logo {
  height: auto;
  max-height: 50px;
}

/* =============================================
   Main Navigation
   ============================================= */
.fusion-main-menu {
  display: flex;
  align-items: center;
}

.fusion-main-menu > ul.fusion-menu {
  display: flex;
  margin: 0;
  padding: 0;
}

.fusion-main-menu > ul.fusion-menu > li {
  position: relative;
}

.fusion-main-menu > ul.fusion-menu > li > a {
  display: flex;
  align-items: center;
  height: var(--nav_height);
  padding: 0 var(--nav_padding);
  color: var(--nav_typography-color);
  font-family: var(--nav_typography-font-family), Arial, Helvetica, sans-serif;
  font-size: var(--nav_typography-font-size);
  font-weight: var(--nav_typography-font-weight);
  text-decoration: none;
  border-top: var(--nav_highlight_border) solid transparent;
  transition: border-color .2s, color .2s;
}

.fusion-main-menu > ul.fusion-menu > li > a:hover,
.fusion-main-menu > ul.fusion-menu > li.current-menu-item > a {
  color: var(--menu_hover_first_color);
  border-top-color: var(--menu_highlight_background);
}

/* Dropdown */
.fusion-main-menu > ul.fusion-menu > li > ul.sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: var(--dropdown_menu_width);
  background: var(--menu_sub_bg_color);
  border-top: var(--dropdown_menu_top_border_size) solid var(--menu_highlight_background);
  z-index: 1000;
  padding: 0;
  box-shadow: 0 2px 5px rgba(0,0,0,.1);
}

.fusion-main-menu > ul.fusion-menu > li:hover > ul.sub-menu {
  display: block;
}

.fusion-main-menu > ul.fusion-menu > li > ul.sub-menu > li > a {
  display: block;
  padding: 7px 20px;
  color: var(--menu_sub_color);
  font-size: var(--nav_dropdown_font_size);
  border-bottom: 1px solid var(--menu_sub_sep_color);
  transition: background .2s;
}

.fusion-main-menu > ul.fusion-menu > li > ul.sub-menu > li > a:hover {
  background: var(--menu_bg_hover_color);
}

/* Mobile menu toggle */
.fusion-mobile-menu-toggle {
  display: none;
  cursor: pointer;
  padding: 10px;
}

.fusion-mobile-menu-toggle .fusion-toggle-icon-line {
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--flyout_menu_icon_color);
  margin: 5px 0;
  transition: transform .3s, opacity .3s;
}

.fusion-mobile-menu-toggle.active .fusion-toggle-icon-line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.fusion-mobile-menu-toggle.active .fusion-toggle-icon-line:nth-child(2) {
  opacity: 0;
}
.fusion-mobile-menu-toggle.active .fusion-toggle-icon-line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* =============================================
   Page Title Bar
   ============================================= */
.fusion-page-title-bar {
  background-color: var(--page_title_bg_color);
  background-image: url('../img/page_title_bg.png');
  background-repeat: repeat;
  border-bottom: 1px solid var(--page_title_border_color);
  min-height: var(--page_title_height);
  display: flex;
  align-items: center;
}

.fusion-page-title-bar .fusion-page-title-row {
  width: 100%;
  max-width: var(--site_width);
  margin: 0 auto;
  padding: 0 var(--hundredp_padding);
}

.fusion-page-title-bar .fusion-page-title-captions h1 {
  font-size: var(--page_title_font_size);
  color: var(--page_title_color);
  margin: 0;
  line-height: 1.4;
}

.fusion-page-title-bar .fusion-page-title-secondary {
  font-size: var(--breadcrumbs_font_size);
  color: var(--breadcrumbs_text_color);
  margin-top: 3px;
}

.fusion-page-title-bar .fusion-page-title-secondary a {
  color: var(--breadcrumbs_text_color);
}

/* =============================================
   Main Content
   ============================================= */
#main {
  padding-top: var(--main_padding-top);
  padding-bottom: var(--main_padding-bottom);
}

#main > .fusion-row {
  max-width: var(--site_width);
}

#content {
  width: 100%;
}

.post-content {
  padding: 0;
}

/* =============================================
   Fusion Builder Elements
   ============================================= */

/* Full Width Container */
.fusion-fullwidth {
  padding: 50px 0;
  position: relative;
  overflow: hidden;
}

.fusion-fullwidth .fusion-row {
  max-width: var(--site_width);
}

.fusion-fullwidth.fullwidth-bg-dark {
  background-color: #292f36;
  color: #fff;
}

.fusion-fullwidth.fullwidth-bg-dark h2,
.fusion-fullwidth.fullwidth-bg-dark h3 {
  color: #fff;
}

.fusion-fullwidth.fullwidth-bg-dark p {
  color: rgba(255,255,255,.8);
}

.fusion-fullwidth.fullwidth-bg-primary {
  background-color: var(--primary_color);
  color: #fff;
}

.fusion-fullwidth.fullwidth-bg-primary h2,
.fusion-fullwidth.fullwidth-bg-primary h3 {
  color: #fff;
}

.fusion-fullwidth.fullwidth-bg-primary p {
  color: rgba(255,255,255,.9);
}

.fusion-fullwidth.fullwidth-bg-gray {
  background-color: #f6f6f6;
}

/* Columns Layout */
.fusion-columns {
  display: flex;
  flex-wrap: wrap;
}

.fusion-column {
  padding-left: 15px;
  padding-right: 15px;
}

.fusion-column.fusion-one-fifth { width: 20%; }
.fusion-column.fusion-one-fourth { width: 25%; }
.fusion-column.fusion-one-third { width: 33.333%; }
.fusion-column.fusion-one-half { width: 50%; }
.fusion-column.fusion-two-thirds { width: 66.666%; }
.fusion-column.fusion-three-fourths { width: 75%; }
.fusion-column.fusion-full-width { width: 100%; }

/* Section Separator */
.fusion-section-separator {
  width: 60px;
  height: 3px;
  background-color: var(--primary_color);
  margin: 10px 0 20px;
}

.fusion-section-separator.separator-center {
  margin-left: auto;
  margin-right: auto;
}

.fusion-section-separator.separator-white {
  background-color: #fff;
}

/* Title with separator */
.fusion-title {
  margin-bottom: 30px;
}

.fusion-title h2 {
  position: relative;
}

.fusion-title.fusion-title-center {
  text-align: center;
}

.fusion-title.fusion-title-center h2::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background-color: var(--primary_color);
  margin: 15px auto 0;
}

.fullwidth-bg-dark .fusion-title.fusion-title-center h2::after,
.fullwidth-bg-primary .fusion-title.fusion-title-center h2::after {
  background-color: #fff;
}

.fusion-title .fusion-title-tagline {
  color: var(--tagline_font_color);
  font-size: var(--tagline_font_size);
  margin-top: 10px;
}

.fusion-title-center .fusion-title-tagline {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* =============================================
   Content Boxes (Service Icons)
   ============================================= */
.fusion-content-boxes {
  display: flex;
  flex-wrap: wrap;
}

.fusion-content-box-shortcode {
  text-align: center;
  padding: 20px 15px;
  transition: transform .3s;
}

.fusion-content-box-shortcode:hover {
  transform: translateY(-5px);
}

.fusion-content-box-shortcode .content-box-icon-img {
  width: 120px;
  height: 120px;
  margin: 0 auto 20px;
}

.fusion-content-box-shortcode .content-box-heading {
  font-family: var(--h4_typography-font-family);
  font-size: 14px;
  font-weight: 500;
  color: var(--h1_typography-color);
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: .5px;
}

.fusion-content-box-shortcode p {
  font-size: 13px;
  line-height: 1.6;
}

/* =============================================
   Image with Text (About, Services)
   ============================================= */
.fusion-image-text {
  display: flex;
  align-items: center;
  gap: 50px;
}

.fusion-image-text.reverse {
  flex-direction: row-reverse;
}

.fusion-image-text .fusion-image-wrapper {
  flex: 1;
  min-width: 0;
}

.fusion-image-text .fusion-image-wrapper img {
  width: 100%;
  height: auto;
  border-radius: 0;
  display: block;
}

.fusion-image-text .fusion-text-wrapper {
  flex: 1;
  min-width: 0;
}

.fusion-image-text .fusion-text-wrapper h2,
.fusion-image-text .fusion-text-wrapper h3 {
  margin-top: 0;
}

/* =============================================
   Image Frames
   ============================================= */
.fusion-imageframe {
  overflow: hidden;
  display: block;
}

.fusion-imageframe img {
  display: block;
  width: 100%;
}

/* =============================================
   Buttons
   ============================================= */
.fusion-button {
  display: inline-block;
  padding: var(--button_padding);
  font-family: var(--button_typography-font-family), Arial, Helvetica, sans-serif;
  font-size: var(--button_font_size);
  font-weight: var(--button_typography-font-weight);
  line-height: var(--button_line_height);
  text-transform: var(--button_text_transform);
  color: var(--button_accent_color);
  background: var(--button_gradient_top_color);
  border: var(--button_border_width) solid var(--button_border_color);
  border-radius: var(--button_border_radius);
  cursor: pointer;
  transition: all .2s;
  text-decoration: none;
  letter-spacing: 0;
}

.fusion-button:hover {
  background: var(--button_gradient_top_color_hover);
  border-color: var(--button_border_hover_color);
  color: var(--button_accent_hover_color);
}

.fusion-button.button-outline {
  background: transparent;
  border-color: #fff;
  color: #fff;
}

.fusion-button.button-outline:hover {
  background: #fff;
  color: var(--primary_color);
}

.fusion-button.button-outline-dark {
  background: transparent;
  border-color: var(--primary_color);
  color: var(--primary_color);
}

.fusion-button.button-outline-dark:hover {
  background: var(--primary_color);
  color: #fff;
}

/* =============================================
   Hero / Slider Area
   ============================================= */
.fusion-slider-container {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #1a171b;
}

.fusion-slider-bg {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-size: cover;
  background-position: center;
  opacity: .4;
}

.fusion-slider-overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(135deg, rgba(26,23,27,.7), rgba(192,15,50,.3));
}

.fusion-slider-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 60px var(--hundredp_padding);
  max-width: 800px;
}

.fusion-slider-content h1 {
  color: #fff;
  font-size: 42px;
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.fusion-slider-content p {
  font-size: 18px;
  color: rgba(255,255,255,.9);
  margin-bottom: 30px;
  line-height: 1.6;
}

/* =============================================
   Service Image Cards (4-column grid)
   ============================================= */
.fusion-portfolio-grid {
  display: flex;
  flex-wrap: wrap;
}

.fusion-portfolio-item {
  position: relative;
  overflow: hidden;
  flex: 1 1 25%;
  min-height: 300px;
}

.fusion-portfolio-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s;
}

.fusion-portfolio-item:hover img {
  transform: scale(1.05);
}

.fusion-portfolio-item .fusion-portfolio-content {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 30px 20px;
  background: linear-gradient(transparent, rgba(0,0,0,.8));
}

.fusion-portfolio-item .fusion-portfolio-content h3 {
  color: #fff;
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0 0 5px;
}

.fusion-portfolio-item .fusion-portfolio-content p {
  color: rgba(255,255,255,.8);
  font-size: 13px;
  margin: 0;
}

/* =============================================
   Values Grid (4 columns)
   ============================================= */
.fusion-counters-box {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
}

.fusion-counter-box {
  flex: 1;
  padding: 30px 20px;
}

.fusion-counter-box .counter-value {
  font-family: var(--h1_typography-font-family);
  font-size: 48px;
  font-weight: 700;
  color: var(--primary_color);
  line-height: 1;
  margin-bottom: 10px;
}

.fullwidth-bg-dark .fusion-counter-box .counter-value {
  color: #fff;
}

.fusion-counter-box h4 {
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
}

/* =============================================
   Personnel Hero
   ============================================= */
.fusion-page-header {
  position: relative;
  min-height: 400px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.fusion-page-header img.page-header-bg {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}

.fusion-page-header .fusion-page-header-overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(135deg, rgba(26,23,27,.75), rgba(192,15,50,.4));
}

.fusion-page-header .fusion-page-header-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--site_width);
  margin: 0 auto;
  padding: 0 var(--hundredp_padding);
}

.fusion-page-header .fusion-page-header-content h1 {
  color: #fff;
  font-size: 36px;
  text-transform: uppercase;
  margin-bottom: 15px;
}

.fusion-page-header .fusion-page-header-content p {
  color: rgba(255,255,255,.9);
  font-size: 16px;
  max-width: 600px;
}

/* =============================================
   Employment Hero
   ============================================= */
.fusion-empleo-hero {
  position: relative;
  min-height: 350px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(135deg, var(--primary_color), #780404);
}

.fusion-empleo-hero .empleo-bg {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  opacity: .15;
  background-size: cover;
  background-position: center;
}

.fusion-empleo-hero .empleo-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 40px var(--hundredp_padding);
}

.fusion-empleo-hero .empleo-content h1 {
  color: #fff;
  font-size: 42px;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 15px;
}

.fusion-empleo-hero .empleo-content p {
  color: rgba(255,255,255,.9);
  font-size: 18px;
  max-width: 600px;
  margin: 0 auto;
}

/* =============================================
   Contact / CTA
   ============================================= */
.fusion-contact-box {
  max-width: 600px;
  margin: 0 auto;
  background: #fff;
  padding: 40px;
  text-align: center;
}

.fusion-contact-box h3 {
  margin-bottom: 20px;
}

.fusion-contact-box p {
  margin-bottom: 25px;
}

.fusion-contact-box .fusion-button {
  font-size: 16px;
  padding: 15px 35px;
}

/* Feature Boxes (Personnel page) */
.fusion-feature-boxes {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
}

.fusion-feature-box {
  flex: 1;
  min-width: 250px;
  max-width: 33%;
  text-align: center;
  padding: 30px 20px;
  background: #fff;
  border-radius: 0;
  box-shadow: none;
}

.fusion-feature-box .feature-icon-circle {
  width: 60px;
  height: 60px;
  background-color: var(--primary_color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 15px;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  font-family: var(--h1_typography-font-family);
}

.fusion-feature-box h4 {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 10px;
}

/* Brands/Logos */
.fusion-brands {
  text-align: center;
}

.fusion-brands img {
  max-width: 800px;
  margin: 0 auto;
  display: block;
  opacity: .8;
  transition: opacity .3s;
}

.fusion-brands img:hover {
  opacity: 1;
}

/* =============================================
   Footer
   ============================================= */
.fusion-footer {
  background-color: var(--footer_bg_color);
  border-top: var(--footer_border_size) solid var(--footer_border_color);
}

.fusion-footer-widget-area {
  padding-top: var(--footer_area_padding-top);
  padding-bottom: var(--footer_area_padding-bottom);
}

.fusion-footer-widget-area .fusion-row {
  display: flex;
  flex-wrap: wrap;
}

.fusion-footer-widget-area .fusion-column {
  flex: 1;
  padding: 0 var(--footer_widgets_padding);
}

.fusion-footer-widget-area .widget-title {
  color: var(--footer_headings_color);
  font-family: var(--footer_headings_font-family), Arial, Helvetica, sans-serif;
  font-size: var(--footer_headings_font-size);
  font-weight: var(--footer_headings_font-weight);
  text-transform: uppercase;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: var(--footer_divider_line_size) solid var(--footer_divider_color);
  letter-spacing: 1px;
}

.fusion-footer-widget-area p {
  color: var(--footer_text_color);
  font-size: 13px;
  line-height: 1.7;
}

.fusion-footer-widget-area ul li {
  margin-bottom: 8px;
}

.fusion-footer-widget-area ul li a {
  color: var(--footer_link_color);
  font-size: 13px;
}

.fusion-footer-widget-area ul li a:hover {
  color: var(--footer_link_color_hover);
}

.fusion-footer-widget-area .contact-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.fusion-footer-widget-area .contact-info span {
  color: var(--footer_text_color);
  font-size: 13px;
}

.fusion-footer-widget-area .footer-logo-img {
  max-width: 180px;
  margin-bottom: 15px;
  opacity: .9;
}

/* Copyright */
.fusion-footer-copyright-area {
  background-color: var(--copyright_bg_color);
  border-top: var(--copyright_border_size) solid var(--copyright_border_color);
  padding-top: var(--copyright_padding-top);
  padding-bottom: var(--copyright_padding-bottom);
}

.fusion-copyright-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: var(--site_width);
  margin: 0 auto;
  padding: 0 var(--hundredp_padding);
}

.fusion-copyright-notice {
  color: var(--copyright_text_color);
  font-size: var(--copyright_font_size);
}

.fusion-copyright-notice a {
  color: var(--copyright_link_color);
}

.fusion-copyright-notice a:hover {
  color: var(--copyright_link_color_hover);
}

.fusion-copyright-links {
  display: flex;
  gap: 20px;
}

.fusion-copyright-links a {
  color: var(--copyright_link_color);
  font-size: var(--copyright_font_size);
}

.fusion-copyright-links a:hover {
  color: var(--copyright_link_color_hover);
}

/* =============================================
   Scroll to Top
   ============================================= */
.fusion-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 40px;
  height: 40px;
  background-color: var(--primary_color);
  color: #fff;
  border: none;
  border-radius: var(--totop_border_radius);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all .3s;
  z-index: 9999;
}

.fusion-to-top::before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(-45deg) translateY(2px);
}

.fusion-to-top.visible {
  opacity: 1;
  visibility: visible;
}

.fusion-to-top:hover {
  background-color: var(--button_gradient_top_color_hover);
}

/* =============================================
   Animations
   ============================================= */
.fusion-animated {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .6s ease, transform .6s ease;
}

.fusion-animated.fusion-animated-visible {
  opacity: 1;
  transform: translateY(0);
}

.fusion-animated-left {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity .6s ease, transform .6s ease;
}

.fusion-animated-left.fusion-animated-visible {
  opacity: 1;
  transform: translateX(0);
}

.fusion-animated-right {
  opacity: 0;
  transform: translateX(30px);
  transition: opacity .6s ease, transform .6s ease;
}

.fusion-animated-right.fusion-animated-visible {
  opacity: 1;
  transform: translateX(0);
}

/* =============================================
   Responsive - Tablet (max-width: 1024px)
   ============================================= */
@media all and (max-width: 1024px) {
  .fusion-columns {
    flex-wrap: wrap;
  }

  .fusion-content-boxes {
    flex-wrap: wrap;
  }

  .fusion-content-box-shortcode {
    flex: 0 0 33.333%;
  }

  .fusion-image-text {
    flex-direction: column;
    gap: 30px;
  }

  .fusion-image-text.reverse {
    flex-direction: column;
  }

  .fusion-counters-box {
    flex-wrap: wrap;
  }

  .fusion-counter-box {
    flex: 0 0 50%;
  }

  .fusion-portfolio-item {
    flex: 0 0 50%;
  }

  .fusion-footer-widget-area .fusion-row {
    flex-wrap: wrap;
  }

  .fusion-footer-widget-area .fusion-column {
    flex: 0 0 50%;
    margin-bottom: 25px;
  }

  .fusion-feature-box {
    max-width: 50%;
  }
}

/* =============================================
   Responsive - Mobile (max-width: 800px)
   ============================================= */
@media only screen and (max-width: 800px) {
  .fusion-mobile-menu-toggle {
    display: block;
  }

  .fusion-main-menu {
    display: none;
    position: absolute;
    top: var(--nav_height);
    left: 0; right: 0;
    background-color: var(--mobile_menu_background_color);
    border-bottom: 1px solid var(--mobile_menu_border_color);
    z-index: 999;
    flex-direction: column;
  }

  .fusion-main-menu.fusion-mobile-open {
    display: flex;
  }

  .fusion-main-menu > ul.fusion-menu {
    flex-direction: column;
    width: 100%;
  }

  .fusion-main-menu > ul.fusion-menu > li > a {
    height: var(--mobile_menu_nav_height);
    padding: 0 var(--mobile_nav_padding);
    border-top: none;
    border-bottom: 1px solid var(--mobile_menu_border_color);
    font-family: "PT Sans", Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #333;
  }

  .fusion-main-menu > ul.fusion-menu > li > a:hover {
    background-color: var(--mobile_menu_hover_color);
    border-top-color: transparent;
  }

  .fusion-main-menu > ul.fusion-menu > li > ul.sub-menu {
    position: static;
    width: 100%;
    border-top: none;
    box-shadow: none;
  }

  .fusion-content-box-shortcode {
    flex: 0 0 50%;
  }

  .fusion-portfolio-item {
    flex: 0 0 100%;
  }

  .fusion-counter-box {
    flex: 0 0 100%;
  }

  .fusion-footer-widget-area .fusion-column {
    flex: 0 0 100%;
  }

  .fusion-copyright-content {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }

  .fusion-slider-content h1 {
    font-size: 28px;
  }

  .fusion-slider-content p {
    font-size: 15px;
  }

  .fusion-slider-container {
    min-height: 400px;
  }

  .fusion-contact-box {
    padding: 25px;
  }

  .fusion-feature-boxes {
    flex-direction: column;
  }

  .fusion-feature-box {
    max-width: 100%;
  }

  .fusion-top-header {
    display: none;
  }

  .fusion-page-title-bar {
    min-height: var(--page_title_mobile_height);
  }
}

@media only screen and (max-width: 640px) {
  .fusion-content-box-shortcode {
    flex: 0 0 100%;
  }

  .fusion-slider-content h1 {
    font-size: 24px;
  }
}
