/*
Theme Name: Heads Child Theme
Template: heads
Theme URI: https://heads.themerex.net/
Description: Heads Child Theme
Author: ThemeREX
Author URI: https://themerex.net/
Version: 1.0
Tested up to: 6.8
Requires at least: 5.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, e-commerce, portfolio, grid-layout, one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-image-header, featured-images, flexible-header, footer-widgets, full-width-template, microformats, post-formats, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks
Text Domain: heads
*/


/* =Child-Theme customization starts here
------------------------------------------------------------ */

/* dapper-deploy: combined overrides BEGIN */

/* ========================================================================
 * dapper-deploy combined overrides.
 *   (1) Kit-level CSS variable declarations.
 *   (2) Header menu-link colour rules.
 *   (3) Mobile hamburger toggle + slide-out drawer rules.
 * Safe to remove between the BEGIN/END markers in this file.
 * ======================================================================== */

/* (1) Kit CSS variables */
.elementor-kit-5{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-color-theme_color_bg_color:#FFFFFF;--e-global-color-theme_color_bg_color_2:#EFEFEF;--e-global-color-theme_color_bd_color:#DEDFE1;--e-global-color-theme_color_title:#111010;--e-global-color-theme_color_text:#86898C;--e-global-color-theme_color_meta:#ACAFB2;--e-global-color-theme_color_link:#E42727;--e-global-color-theme_color_hover:#D61A1A;--e-global-color-theme_color_alt_bg_color:#0F0F0F;--e-global-color-theme_color_alt_bg_color_2:#1A1A1A;--e-global-color-theme_color_alt_bd_color:#2C2C2C;--e-global-color-theme_color_alt_title:#F5F5F5;--e-global-color-theme_color_alt_text:#A3A3A3;--e-global-color-theme_color_alt_meta:#7A7A7A;--e-global-color-theme_color_alt_link:#E42727;--e-global-color-theme_color_alt_hover:#D61A1A;--e-global-typography-theme_font_p-font-family:"Inter";--e-global-typography-theme_font_p-font-size:16px;--e-global-typography-theme_font_p-font-weight:400;--e-global-typography-theme_font_p-text-transform:none;--e-global-typography-theme_font_p-font-style:normal;--e-global-typography-theme_font_p-line-height:1.625em;--e-global-typography-theme_font_p-letter-spacing:0px;--e-global-typography-theme_font_post-font-family:"inherit";--e-global-typography-theme_font_post-font-weight:inherit;--e-global-typography-theme_font_post-text-transform:inherit;--e-global-typography-theme_font_post-font-style:inherit;--e-global-typography-theme_font_post-text-decoration:inherit;--e-global-typography-theme_font_h1-font-family:"Oswald";--e-global-typography-theme_font_h1-font-size:57px;--e-global-typography-theme_font_h1-font-weight:500;--e-global-typography-theme_font_h1-text-transform:uppercase;--e-global-typography-theme_font_h1-font-style:normal;--e-global-typography-theme_font_h1-text-decoration:none;--e-global-typography-theme_font_h1-line-height:1.105em;--e-global-typography-theme_font_h1-letter-spacing:0px;--e-global-typography-theme_font_h2-font-family:"Oswald";--e-global-typography-theme_font_h2-font-size:47px;--e-global-typography-theme_font_h2-font-weight:500;--e-global-typography-theme_font_h2-text-transform:uppercase;--e-global-typography-theme_font_h2-font-style:normal;--e-global-typography-theme_font_h2-text-decoration:none;--e-global-typography-theme_font_h2-line-height:1.13em;--e-global-typography-theme_font_h2-letter-spacing:0px;--e-global-typography-theme_font_h3-font-family:"Oswald";--e-global-typography-theme_font_h3-font-size:35px;--e-global-typography-theme_font_h3-font-weight:500;--e-global-typography-theme_font_h3-text-transform:uppercase;--e-global-typography-theme_font_h3-font-style:normal;--e-global-typography-theme_font_h3-text-decoration:none;--e-global-typography-theme_font_h3-line-height:1.115em;--e-global-typography-theme_font_h3-letter-spacing:0px;--e-global-typography-theme_font_h4-font-family:"Oswald";--e-global-typography-theme_font_h4-font-size:28px;--e-global-typography-theme_font_h4-font-weight:500;--e-global-typography-theme_font_h4-text-transform:uppercase;--e-global-typography-theme_font_h4-font-style:normal;--e-global-typography-theme_font_h4-text-decoration:none;--e-global-typography-theme_font_h4-line-height:1.215em;--e-global-typography-theme_font_h4-letter-spacing:0px;--e-global-typography-theme_font_h5-font-family:"Oswald";--e-global-typography-theme_font_h5-font-size:23px;--e-global-typography-theme_font_h5-font-weight:500;--e-global-typography-theme_font_h5-text-transform:uppercase;--e-global-typography-theme_font_h5-font-style:normal;--e-global-typography-theme_font_h5-text-decoration:none;--e-global-typography-theme_font_h5-line-height:1.215em;--e-global-typography-theme_font_h5-letter-spacing:0px;--e-global-typography-theme_font_h6-font-family:"Oswald";--e-global-typography-theme_font_h6-font-size:19px;--e-global-typography-theme_font_h6-font-weight:500;--e-global-typography-theme_font_h6-text-transform:uppercase;--e-global-typography-theme_font_h6-font-style:normal;--e-global-typography-theme_font_h6-text-decoration:none;--e-global-typography-theme_font_h6-line-height:1.265em;--e-global-typography-theme_font_h6-letter-spacing:0px;--e-global-typography-theme_font_logo-font-family:"Oswald";--e-global-typography-theme_font_logo-font-size:35px;--e-global-typography-theme_font_logo-font-weight:500;--e-global-typography-theme_font_logo-text-transform:uppercase;--e-global-typography-theme_font_logo-font-style:normal;--e-global-typography-theme_font_logo-text-decoration:none;--e-global-typography-theme_font_logo-line-height:1.115em;--e-global-typography-theme_font_logo-letter-spacing:0px;--e-global-typography-theme_font_button-font-family:"Oswald";--e-global-typography-theme_font_button-font-size:16px;--e-global-typography-theme_font_button-font-weight:500;--e-global-typography-theme_font_button-text-transform:uppercase;--e-global-typography-theme_font_button-font-style:normal;--e-global-typography-theme_font_button-text-decoration:none;--e-global-typography-theme_font_button-line-height:19px;--e-global-typography-theme_font_button-letter-spacing:0px;--e-global-typography-theme_font_input-font-family:"inherit";--e-global-typography-theme_font_input-font-size:15px;--e-global-typography-theme_font_input-font-weight:400;--e-global-typography-theme_font_input-text-transform:none;--e-global-typography-theme_font_input-font-style:normal;--e-global-typography-theme_font_input-text-decoration:none;--e-global-typography-theme_font_input-line-height:1.6em;--e-global-typography-theme_font_input-letter-spacing:0px;--e-global-typography-theme_font_info-font-family:"inherit";--e-global-typography-theme_font_info-font-size:14px;--e-global-typography-theme_font_info-font-weight:400;--e-global-typography-theme_font_info-text-transform:none;--e-global-typography-theme_font_info-font-style:normal;--e-global-typography-theme_font_info-text-decoration:none;--e-global-typography-theme_font_info-line-height:1.5em;--e-global-typography-theme_font_info-letter-spacing:0px;--e-global-typography-theme_font_menu-font-family:"Inter";--e-global-typography-theme_font_menu-font-size:16px;--e-global-typography-theme_font_menu-font-weight:500;--e-global-typography-theme_font_menu-text-transform:none;--e-global-typography-theme_font_menu-font-style:normal;--e-global-typography-theme_font_menu-text-decoration:none;--e-global-typography-theme_font_menu-line-height:1.5em;--e-global-typography-theme_font_menu-letter-spacing:0px;--e-global-typography-theme_font_submenu-font-family:"Inter";--e-global-typography-theme_font_submenu-font-size:15px;--e-global-typography-theme_font_submenu-font-weight:500;--e-global-typography-theme_font_submenu-text-transform:none;--e-global-typography-theme_font_submenu-font-style:normal;--e-global-typography-theme_font_submenu-text-decoration:none;--e-global-typography-theme_font_submenu-line-height:1.4em;--e-global-typography-theme_font_submenu-letter-spacing:0px;}
.elementor-kit-5{--e-global-typography-theme_font_h1-font-size:45px;--e-global-typography-theme_font_h2-font-size:36px;--e-global-typography-theme_font_h3-font-size:28px;--e-global-typography-theme_font_h4-font-size:22px;--e-global-typography-theme_font_h5-font-size:20px;--e-global-typography-theme_font_h6-font-size:18px;--e-global-typography-theme_font_logo-font-size:28px;}
.elementor-kit-5{--e-global-typography-theme_font_p-font-size:15px;--e-global-typography-theme_font_h1-font-size:36px;--e-global-typography-theme_font_h2-font-size:31px;--e-global-typography-theme_font_h3-font-size:26px;--e-global-typography-theme_font_h5-font-size:19px;--e-global-typography-theme_font_h6-font-size:17px;--e-global-typography-theme_font_logo-font-size:26px;--e-global-typography-theme_font_button-font-size:15px;}

/* (2) Header menu-link colour rules */
.elementor-4411 .elementor-element.elementor-element-41ed2d5e .trx-addons-main-nav-menu > .trx-addons-nav-menu-item > .trx-addons-menu-link .trx-addons-dropdown-icon{font-size:11px;margin:-1px 0px 0px 6px;color:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-41ed2d5e .trx-addons-main-nav-menu > .trx-addons-nav-menu-item > .trx-addons-menu-link{color:var( --e-global-color-theme_color_alt_title );padding:0px 15px 0px 15px;}
.elementor-4411 .elementor-element.elementor-element-41ed2d5e .trx-addons-main-nav-menu > .trx-addons-nav-menu-item > .trx-addons-menu-link .trx-addons-dropdown-icon svg path{fill:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-52009e28 .trx-addons-list-items .trx-addons-icon-list-icon{font-size:20px;line-height:20px;color:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-52009e28 .trx-addons-list-items .trx-addons-icon-list-icon svg{fill:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-52009e28 .trx-addons-icon-list-text{color:var( --e-global-color-theme_color_alt_title );font-size:16px;line-height:22px;}
.elementor-4411 .elementor-element.elementor-element-7e28b6fb .trx-addons-list-items .trx-addons-icon-list-icon{font-size:20px;line-height:20px;color:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-7e28b6fb .trx-addons-list-items .trx-addons-icon-list-icon svg{fill:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-7e28b6fb .trx-addons-icon-list-text{color:var( --e-global-color-theme_color_alt_title );font-size:16px;line-height:22px;}
.elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-main-nav-menu > .trx-addons-nav-menu-item > .trx-addons-menu-link{font-size:23px;line-height:1.2em;color:var( --e-global-color-theme_color_alt_title );padding:7px 0px 7px 0px;}
.elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-main-nav-menu > .trx-addons-nav-menu-item > .trx-addons-menu-link .trx-addons-dropdown-icon{font-size:13px;margin:0px 0px 0px 8px;color:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-main-nav-menu > .trx-addons-nav-menu-item > .trx-addons-menu-link .trx-addons-dropdown-icon svg path{fill:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-main-nav-menu .trx-addons-submenu-item:hover > .trx-addons-submenu-link{color:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-main-nav-menu .trx-addons-submenu-item:hover > .trx-addons-submenu-link .trx-addons-dropdown-icon{color:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-main-nav-menu .trx-addons-submenu-item:hover > .trx-addons-submenu-link .trx-addons-dropdown-icon svg path{fill:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-main-nav-menu .trx-addons-submenu .trx-addons-active-item > .trx-addons-submenu-link,
					 .elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-main-nav-menu .trx-addons-submenu .current-menu-ancestor > .trx-addons-submenu-link,
					 .elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-main-nav-menu .trx-addons-submenu .current-menu-item > .trx-addons-submenu-link{color:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-main-nav-menu .trx-addons-submenu .trx-addons-active-item > .trx-addons-submenu-link .trx-addons-dropdown-icon,
					 .elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-main-nav-menu .trx-addons-submenu .current-menu-ancestor > .trx-addons-submenu-link .trx-addons-dropdown-icon,
					 .elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-main-nav-menu .trx-addons-submenu .current-menu-item > .trx-addons-submenu-link .trx-addons-dropdown-icon{color:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-main-nav-menu .trx-addons-submenu .trx-addons-active-item > .trx-addons-submenu-link .trx-addons-dropdown-icon svg path,
					 .elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-main-nav-menu .trx-addons-submenu .current-menu-ancestor > .trx-addons-submenu-link .trx-addons-dropdown-icon svg path,
					 .elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-main-nav-menu .trx-addons-submenu .current-menu-item > .trx-addons-submenu-link .trx-addons-dropdown-icon svg path{fill:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-hamburger-toggle i{font-size:24px;color:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-hamburger-toggle svg path{fill:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-mobile-menu-outer-container .trx-addons-mobile-menu-close i{font-size:24px;color:var( --e-global-color-theme_color_alt_title );}
.elementor-4411 .elementor-element.elementor-element-3fda53c9 .trx-addons-mobile-menu-outer-container .trx-addons-mobile-menu-close svg path{fill:var( --e-global-color-theme_color_alt_title );}

/* (3) Mobile hamburger + drawer */
/* ====================================================================
 * dapper-deploy mobile header & hamburger drawer fixes.
 *
 * Two issues:
 *  1. Hamburger toggle on the dark hero is rendered with dark colours so
 *     it visually disappears.
 *  2. When the hamburger drawer opens it has a transparent background;
 *     against the page's white body, the light menu items (white text on
 *     white) become invisible.
 *
 * Strategy: force the toggle to render in the same light off-white the
 * desktop nav uses, and force a dark solid background on the drawer so
 * the light items + chevrons + close button are readable. Selectors
 * cover the half-dozen class-name variants trx_addons / Heads have
 * shipped across versions so the fix is graceful across versions.
 *
 * Scoped to <=1024px so desktop layout stays untouched.
 * ==================================================================== */

@media (max-width: 1024px) {

  /* ----------------------------------------------------------------
   *  (1) Hamburger toggle / mobile-nav button — make icon visible
   *      against the dark hero. Targets both the wrapper and the bars
   *      / SVG / pseudo elements that the various trx versions use.
   * ---------------------------------------------------------------- */
  header.top_panel .trx-addons-ham-slide,
  header.top_panel .trx-addons-ham-button,
  header.top_panel .trx-addons-mobile-button,
  header.top_panel button.elementor-menu-toggle,
  header.top_panel .trx-addons-mobile-toggle,
  header.top_panel .elementor-widget-trx_elm_nav_menu .trx-addons-ham-icon,
  header.top_panel .trx-addons-ham-icon {
    color: #F5F5F5 !important;
  }

  header.top_panel .trx-addons-ham-slide i,
  header.top_panel .trx-addons-ham-slide svg,
  header.top_panel .trx-addons-ham-slide svg * {
    color: #F5F5F5 !important;
    fill:  #F5F5F5 !important;
  }

  /* The bar-style hamburger uses 3 spans / pseudo-elements coloured
     via background-color, not text colour. */
  header.top_panel .trx-addons-ham-icon-bar,
  header.top_panel .trx-addons-ham-slide .trx-addons-ham-icon-bar,
  header.top_panel .trx-addons-ham-icon::before,
  header.top_panel .trx-addons-ham-icon::after,
  header.top_panel .trx-addons-ham-icon span,
  header.top_panel .trx-addons-mobile-toggle .trx-addons-mobile-toggle-bar,
  header.top_panel button.elementor-menu-toggle__bar {
    background-color: #F5F5F5 !important;
  }
}


/* ====================================================================
 *  (2) Mobile drawer when open — give it a solid dark background and
 *      ensure every item, chevron and close-button is readable.
 *      No media-query needed: the drawer only renders on mobile
 *      breakpoints anyway, and the dark colours look fine on the
 *      tablet breakpoint too if it ever appears there.
 * ==================================================================== */

.trx-addons-mobile-nav,
.trx-addons-mobile-nav .trx-addons-mobile-nav-menu,
.trx-addons-mobile-menu,
.trx-addons-ham-menu,
.trx-addons-slide-menu,
.trx-addons-slide-menu-effect-slide.trx-addons-slide-menu-active .trx-addons-slide-menu-container,
[class*="trx-addons-mobile-nav-menu"]:not([style*="display: none"]) {
  background-color: #111010 !important;
}

.trx-addons-mobile-nav,
.trx-addons-mobile-menu,
.trx-addons-ham-menu,
.trx-addons-slide-menu {
  color: #F5F5F5 !important;
}

/* Menu items: link text + every span trx_addons wraps it in */
.trx-addons-mobile-nav a,
.trx-addons-mobile-nav .menu-item > a,
.trx-addons-mobile-nav .trx-addons-menu-link,
.trx-addons-mobile-nav .trx-addons-menu-link-text,
.trx-addons-mobile-nav-menu a,
.trx-addons-mobile-nav-menu .menu-item > a,
.trx-addons-mobile-menu a,
.trx-addons-mobile-menu .menu-item > a,
.trx-addons-ham-menu a,
.trx-addons-ham-menu .menu-item > a,
.trx-addons-slide-menu a,
.trx-addons-slide-menu .menu-item > a {
  color: #F5F5F5 !important;
}

/* Hover / current item — use the theme's red accent for affordance */
.trx-addons-mobile-nav a:hover,
.trx-addons-mobile-nav .current-menu-item > a,
.trx-addons-mobile-nav .current_page_item > a,
.trx-addons-mobile-nav-menu a:hover,
.trx-addons-mobile-nav-menu .current-menu-item > a,
.trx-addons-mobile-menu a:hover,
.trx-addons-ham-menu a:hover,
.trx-addons-ham-menu .current-menu-item > a,
.trx-addons-slide-menu a:hover {
  color: #E42727 !important;
}

/* Dropdown chevrons inside drawer items */
.trx-addons-mobile-nav .trx-addons-dropdown-icon,
.trx-addons-mobile-nav .trx-addons-dropdown-icon svg,
.trx-addons-mobile-nav .trx-addons-dropdown-icon svg *,
.trx-addons-mobile-nav-menu .trx-addons-dropdown-icon,
.trx-addons-mobile-menu .trx-addons-dropdown-icon,
.trx-addons-ham-menu .trx-addons-dropdown-icon,
.trx-addons-slide-menu .trx-addons-dropdown-icon {
  color: #F5F5F5 !important;
  fill:  #F5F5F5 !important;
}

/* Close (X) button on the drawer */
.trx-addons-ham-close,
.trx-addons-mobile-close,
.trx-addons-mobile-nav-close,
.trx-addons-mobile-toggle-close,
.trx-addons-slide-menu-close,
[class*="ham-close"],
[class*="mobile-close"] {
  color: #F5F5F5 !important;
  background-color: transparent !important;
}
.trx-addons-ham-close::before,
.trx-addons-ham-close::after,
.trx-addons-mobile-close::before,
.trx-addons-mobile-close::after,
.trx-addons-slide-menu-close::before,
.trx-addons-slide-menu-close::after {
  background-color: #F5F5F5 !important;
}

/* Dividers / borders between drawer items */
.trx-addons-mobile-nav-menu .menu-item,
.trx-addons-mobile-nav .menu-item,
.trx-addons-ham-menu .menu-item,
.trx-addons-slide-menu .menu-item {
  border-color: rgba(245, 245, 245, 0.10) !important;
}


/* dapper-deploy: combined overrides END */

/* dapper-deploy: sticky header parity BEGIN */
/* When the header becomes sticky, the row must stay dark like the local site.
   Live sometimes misses Elementor's generated sticky-background rule, so this
   child-theme fallback keeps the white nav/phone/social items readable. */
body.trx_addons_page_scrolled .elementor-4411 .elementor-element.elementor-element-1003d790.sc_layouts_row_fixed,
body.trx_addons_page_scrolled .elementor-4411 .elementor-element.elementor-element-1003d790.sc_layouts_row_fixed_on,
.elementor-4411 .elementor-element.elementor-element-1003d790.sc_layouts_row_fixed_from_start.sc_layouts_row_fixed_on {
  background-color: var(--e-global-color-theme_color_alt_bg_color, #0F0F0F) !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

/* The sticky row uses separate widgets for navigation, phone/contact details,
   and social/icon links. These selectors only touch those header widgets, not
   the green Contact button or normal page links. */
body.trx_addons_page_scrolled .elementor-4411 .elementor-element.elementor-element-1003d790.sc_layouts_row_fixed .trx-addons-main-nav-menu > .trx-addons-nav-menu-item > .trx-addons-menu-link,
body.trx_addons_page_scrolled .elementor-4411 .elementor-element.elementor-element-1003d790.sc_layouts_row_fixed .trx-addons-main-nav-menu > .trx-addons-nav-menu-item > .trx-addons-menu-link .trx-addons-dropdown-icon,
body.trx_addons_page_scrolled .elementor-4411 .elementor-element.elementor-element-1003d790.sc_layouts_row_fixed .trx-addons-icon-list-text,
body.trx_addons_page_scrolled .elementor-4411 .elementor-element.elementor-element-1003d790.sc_layouts_row_fixed .trx-addons-icon-list-icon,
body.trx_addons_page_scrolled .elementor-4411 .elementor-element.elementor-element-1003d790.sc_layouts_row_fixed [class*="social"] a,
body.trx_addons_page_scrolled .elementor-4411 .elementor-element.elementor-element-1003d790.sc_layouts_row_fixed [class*="social"] i {
  color: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
}

body.trx_addons_page_scrolled .elementor-4411 .elementor-element.elementor-element-1003d790.sc_layouts_row_fixed .trx-addons-dropdown-icon svg path,
body.trx_addons_page_scrolled .elementor-4411 .elementor-element.elementor-element-1003d790.sc_layouts_row_fixed .trx-addons-icon-list-icon svg,
body.trx_addons_page_scrolled .elementor-4411 .elementor-element.elementor-element-1003d790.sc_layouts_row_fixed .trx-addons-icon-list-icon svg *,
body.trx_addons_page_scrolled .elementor-4411 .elementor-element.elementor-element-1003d790.sc_layouts_row_fixed [class*="social"] svg,
body.trx_addons_page_scrolled .elementor-4411 .elementor-element.elementor-element-1003d790.sc_layouts_row_fixed [class*="social"] svg * {
  fill: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
}
/* dapper-deploy: sticky header parity END */

/* dapper-deploy: homepage mobile subtitle parity BEGIN */
/* This hero subtitle sits on the dark patterned homepage background. If
   Elementor serves the default title color here, it becomes black-on-dark on
   mobile, so keep only this known subtitle on the alternate light title color. */
.elementor-4475 .elementor-element.elementor-element-27a705be .elementor-heading-title {
  color: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
}
/* dapper-deploy: homepage mobile subtitle parity END */

/* dapper-deploy: homepage pricing-menu readability BEGIN */
/* The Services & Rates descriptions sit on the green homepage panel. The
   imported widget leaves them on the theme's neutral gray text color, which
   has poor contrast there. Keep this scoped to the exact homepage widget and
   match the readable title/price color. */
.elementor-4475 .elementor-element.elementor-element-45695f8f .trx-addons-restaurant-menu-description {
  color: var(--e-global-color-theme_color_title, #111010) !important;
}

.elementor-4475 .elementor-element.elementor-element-45695f8f .trx-addons-restaurant-menu .trx-addons-price-title-connector {
  border-bottom-color: var(--e-global-color-theme_color_title, #111010) !important;
}
/* dapper-deploy: homepage pricing-menu readability END */

/* dapper-deploy: mobile menu theme parity BEGIN */
/* Match the original Heads mobile drawer structure: the full-screen wrapper is
   dark, while the menu list itself stays transparent instead of becoming a
   visible black box inside a light overlay. */
@media (max-width: 1024px) {
  .trx-addons-mobile-menu-outer-container {
    background-color: var(--e-global-color-theme_color_alt_bg_color, #0F0F0F) !important;
  }

  .trx-addons-mobile-menu-outer-container .trx-addons-mobile-menu-container,
  .trx-addons-mobile-menu-outer-container ul.trx-addons-mobile-menu {
    background-color: transparent !important;
  }

  .trx-addons-mobile-menu-outer-container .trx-addons-mobile-menu a,
  .trx-addons-mobile-menu-outer-container .trx-addons-mobile-menu .menu-item > a,
  .trx-addons-mobile-menu-outer-container .trx-addons-mobile-menu .trx-addons-menu-link {
    color: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  .trx-addons-mobile-menu-outer-container .trx-addons-mobile-menu .current-menu-item > a,
  .trx-addons-mobile-menu-outer-container .trx-addons-mobile-menu .current_page_item > a,
  .trx-addons-mobile-menu-outer-container .trx-addons-mobile-menu .trx-addons-active-item > a,
  .home .trx-addons-mobile-menu-outer-container .trx-addons-mobile-menu > li:first-child > a {
    color: var(--e-global-color-theme_color_alt_text, #A3A3A3) !important;
  }

  /* Light inner pages, such as Contact, use a white header. Keep the closed
     hamburger dark on that light surface, but keep the opened drawer controls
     light once they sit on the dark slide-out menu. */
  body:not(.home) header.top_panel_custom_header-main-light-logo-menu-button-with-title .trx-addons-hamburger-toggle,
  body:not(.home) header.top_panel_custom_header-main-light-logo-menu-button-with-title .trx-addons-mobile-menu-icon {
    color: var(--e-global-color-theme_color_title, #111010) !important;
  }

  body:not(.home) header.top_panel_custom_header-main-light-logo-menu-button-with-title .trx-addons-hamburger-toggle svg,
  body:not(.home) header.top_panel_custom_header-main-light-logo-menu-button-with-title .trx-addons-hamburger-toggle svg *,
  body:not(.home) header.top_panel_custom_header-main-light-logo-menu-button-with-title .trx-addons-mobile-menu-icon svg,
  body:not(.home) header.top_panel_custom_header-main-light-logo-menu-button-with-title .trx-addons-mobile-menu-icon svg * {
    fill: var(--e-global-color-theme_color_title, #111010) !important;
    color: var(--e-global-color-theme_color_title, #111010) !important;
  }

  .trx-addons-mobile-menu-outer-container.trx-addons-vertical-toggle-open .trx-addons-mobile-menu-close,
  .trx-addons-mobile-menu-outer-container.trx-addons-vertical-toggle-open .trx-addons-mobile-menu-close i,
  .trx-addons-mobile-menu-outer-container.trx-addons-vertical-toggle-open .trx-addons-mobile-menu-close svg,
  .trx-addons-mobile-menu-outer-container.trx-addons-vertical-toggle-open .trx-addons-mobile-menu-close svg *,
  .trx-addons-mobile-menu-outer-container.trx-addons-vertical-toggle-open .trx-addons-mobile-menu-close path {
    color: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
    fill: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
    opacity: 1 !important;
  }
}
/* dapper-deploy: mobile menu theme parity END */

/* dapper-deploy: mobile homepage image visibility BEGIN */
/* Elementor marks entrance-animation widgets as .elementor-invisible until its
   scroll observer reaches them. On long mobile screenshots that observer may
   not run before the capture, leaving image slots and text blocks blank. Keep
   this scoped to the mobile homepage so normal desktop animation behaviour is
   preserved. */
@media (max-width: 1024px) {
  body.home .elementor-4475 .elementor-invisible,
  body.home .elementor-4475 .elementor-invisible img {
    visibility: visible !important;
    opacity: 1 !important;
  }
}
/* dapper-deploy: mobile homepage image visibility END */

/* dapper-deploy: surface color consistency BEGIN */
/* The imported Elementor templates mix two color systems: theme schemes
   (light/dark variables) and widget-level SVG colors. When a widget moves
   from a light surface to a dark one, links and SVG paths can keep their old
   dark or white values. These rules keep the intent simple:
   dark surfaces get light text/icons, and SVG social icons follow the text
   color of the surface they are placed on. */
.elementor-4411 .elementor-element.elementor-element-52009e28 a,
.elementor-4411 .elementor-element.elementor-element-52009e28 .trx-addons-icon-list-text,
.elementor-4411 .elementor-element.elementor-element-7e28b6fb a,
.elementor-4411 .elementor-element.elementor-element-7e28b6fb .trx-addons-icon-list-text {
  color: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
}

.elementor-4411 .elementor-element.elementor-element-52009e28 svg,
.elementor-4411 .elementor-element.elementor-element-52009e28 svg *,
.elementor-4411 .elementor-element.elementor-element-7e28b6fb svg,
.elementor-4411 .elementor-element.elementor-element-7e28b6fb svg * {
  fill: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
  color: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
}

/* Main dark footer: make the footer surface explicit so text, link and social
   icon colors are not calculated against a light inherited background. */
.elementor-4427 {
  background-color: var(--e-global-color-theme_color_alt_bg_color, #0F0F0F) !important;
  color: var(--e-global-color-theme_color_alt_text, #A3A3A3) !important;
}

.elementor-4427 .elementor-heading-title,
.elementor-4427 .sc_item_title,
.elementor-4427 .widget_title {
  color: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
}

.elementor-4427 p,
.elementor-4427 a:not(.elementor-button),
.elementor-4427 .elementor-icon-list-text,
.elementor-4427 .trx-addons-icon-list-text {
  color: var(--e-global-color-theme_color_alt_text, #A3A3A3) !important;
}

.elementor-4427 a:not(.elementor-button):hover,
.elementor-4427 a:not(.elementor-button):focus {
  color: var(--e-global-color-theme_color_alt_link, #E42727) !important;
}

/* Social icons are SVG files. Their visible color is fill, not font color.
   Force SVG fill to follow the surrounding text color, then define the footer
   social color once. This prevents white icons on light sections and dark
   icons on dark sections. */
.elementor-widget-social-icons .elementor-social-icon,
.elementor-widget-social-icons .elementor-social-icon i {
  color: var(--e-global-color-theme_color_title, #111010) !important;
}

.elementor-widget-social-icons .elementor-social-icon svg,
.elementor-widget-social-icons .elementor-social-icon svg * {
  fill: currentColor !important;
  color: currentColor !important;
}

.elementor-4427 .elementor-widget-social-icons .elementor-social-icon,
.elementor-4427 .elementor-widget-social-icons .elementor-social-icon i {
  color: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
}

.elementor-4427 .elementor-widget-social-icons .elementor-social-icon svg,
.elementor-4427 .elementor-widget-social-icons .elementor-social-icon svg *,
.elementor-4427 .elementor-widget-social-icons .elementor-social-icon svg path {
  fill: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
  color: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
  opacity: 1 !important;
}

/* Keep generic scheme blocks predictable if Elementor places social or icon
   widgets inside a dark/light section outside the header/footer templates. */
.scheme_dark .elementor-widget-social-icons .elementor-social-icon,
.scheme_dark .trx-addons-icon-list-icon,
.scheme_dark .trx-addons-icon-list-text,
.scheme_dark .trx-addons-icon-list-text a {
  color: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
}

.scheme_default .elementor-widget-social-icons .elementor-social-icon {
  color: var(--e-global-color-theme_color_title, #111010) !important;
}
/* dapper-deploy: surface color consistency END */

/* dapper-deploy: pricing image masonry BEGIN */
/* The pricing cards are supplied as finished images, so the Elementor pricing
   table widget is the wrong rendering target. This masonry grid is inserted
   as one Elementor HTML widget on the Pricing page and only styles that block. */
.dapper-pricing-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 32px);
  align-items: start;
  margin-top: 35px;
}

.elementor .dapper-pricing-gallery .dapper-pricing-card {
  display: block;
  overflow: hidden;
  margin: 0;
  border: 1px solid var(--e-global-color-theme_color_bd_color, #DEDFE1);
  border-radius: 26px;
  background: var(--e-global-color-theme_color_bg_color, #FFFFFF);
  box-shadow: 0 18px 45px rgba(17, 16, 16, 0.10);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.elementor .dapper-pricing-gallery .dapper-pricing-card:nth-child(3n+2) {
  margin-top: 34px !important;
}

.elementor .dapper-pricing-gallery .dapper-pricing-card:nth-child(3n) {
  margin-top: 68px !important;
}

.elementor .dapper-pricing-gallery .dapper-pricing-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px rgba(17, 16, 16, 0.16);
}

.elementor .dapper-pricing-gallery .dapper-pricing-card img {
  display: block;
  width: 100%;
  height: auto;
  cursor: zoom-in;
}

@media (max-width: 1024px) {
  .dapper-pricing-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .elementor .dapper-pricing-gallery .dapper-pricing-card:nth-child(3n+2),
  .elementor .dapper-pricing-gallery .dapper-pricing-card:nth-child(3n) {
    margin-top: 0 !important;
  }

  .elementor .dapper-pricing-gallery .dapper-pricing-card:nth-child(even) {
    margin-top: 28px !important;
  }
}

@media (max-width: 767px) {
  .dapper-pricing-gallery {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .elementor .dapper-pricing-gallery .dapper-pricing-card,
  .elementor .dapper-pricing-gallery .dapper-pricing-card:nth-child(even) {
    margin-top: 0 !important;
  }
}
/* dapper-deploy: pricing image masonry END */

/* dapper-deploy: pricing lightbox BEGIN */
/* Lightweight viewer for the pricing images. It is scoped to the generated
   pricing gallery so normal Elementor image links and theme lightboxes are
   not affected. */
.dapper-pricing-lightbox {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: clamp(18px, 4vw, 54px);
  background: rgba(17, 16, 16, 0.88);
}

.dapper-pricing-lightbox.is-open {
  display: flex;
}

.dapper-pricing-lightbox__image {
  display: block;
  max-width: min(94vw, 1180px);
  max-height: 88vh;
  width: auto;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.45);
}

.dapper-pricing-lightbox__close {
  position: absolute;
  top: 20px;
  right: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(245, 245, 245, 0.35);
  border-radius: 999px;
  background: rgba(17, 16, 16, 0.55);
  color: #F5F5F5;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.dapper-pricing-lightbox__close:hover,
.dapper-pricing-lightbox__close:focus {
  background: #E42727;
  color: #FFFFFF;
}

body.dapper-pricing-lightbox-open {
  overflow: hidden;
}
/* dapper-deploy: pricing lightbox END */

/* dapper-deploy: contact form panel parity BEGIN */
/* ThemeREX wraps the Contact form in this Elementor container and gives that
   container a white background over the parallax image. During the Dapper
   content edits the same container became transparent, which made the form
   look unfinished and hard to separate from the photo. Keep this scoped to the
   Contact page and exact Elementor container so other MetForm widgets keep
   their own section styling. */
.elementor-4665 .elementor-element.elementor-element-423913ec,
.elementor-4665 .elementor-element.elementor-element-423913ec .mf-form-wrapper,
.elementor-4665 .elementor-element.elementor-element-423913ec .metform-form-content {
  background-color: var(--e-global-color-theme_color_bg_color, #FFFFFF) !important;
}
/* dapper-deploy: contact form panel parity END */

/* dapper-deploy: homepage address panel parity BEGIN */
/* The ThemeREX homepage places the address details on a white card inside the
   parallax/location section. The imported Dapper content kept the same
   Elementor section ID but lost the card background, so the text sat directly
   on the parallax area. Keep the fix scoped to the homepage address panel. */
.elementor-4475 .elementor-element.elementor-element-1516eb5a {
  background-color: var(--e-global-color-theme_color_bg_color, #FFFFFF) !important;
}
/* dapper-deploy: homepage address panel parity END */

/* dapper-deploy: footer social icon final override BEGIN */
/* The site body stays in the normal light scheme, so the generic light-scheme
   social-icon rule correctly makes social icons dark in regular white areas.
   The footer is a dark Elementor template inside that same light-scheme body,
   which means it needs this more specific footer-only rule after the generic
   scheme rule. Keep this last so the footer icons remain visible without
   changing social icons in light sections. */
body.scheme_default .elementor-4427 .elementor-widget-social-icons .elementor-social-icon,
body.scheme_default .elementor-4427 .elementor-widget-social-icons .elementor-social-icon i {
  color: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
  --e-social-icon-icon-color: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
}

body.scheme_default .elementor-4427 .elementor-widget-social-icons .elementor-social-icon svg,
body.scheme_default .elementor-4427 .elementor-widget-social-icons .elementor-social-icon svg *,
body.scheme_default .elementor-4427 .elementor-widget-social-icons .elementor-social-icon svg path {
  fill: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
  color: var(--e-global-color-theme_color_alt_title, #F5F5F5) !important;
  opacity: 1 !important;
}
/* dapper-deploy: footer social icon final override END */
