/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* ==========================================================================
   Tom Smyth Mentoring — site header
   ========================================================================== */
#site-header{
  position:sticky; top:0; z-index:100; width:100%;
  background:#000B26; padding:22px 64px;
  display:flex; align-items:center; justify-content:space-between; gap:0;
}
#site-header #site-logo{ height:20px; width:auto; max-width:none; display:block; flex:0 0 auto; }
#header-right{ display:flex; align-items:center; gap:34px; flex:0 0 auto; }
#site-header .elementor-widget-nav-menu{ width:auto; flex:0 0 auto; }
#site-header .elementor-nav-menu--main.elementor-nav-menu__container{ width:auto; }
#site-header .elementor-nav-menu--main .elementor-nav-menu{ width:auto; flex-wrap:nowrap; }
#header-right{ margin-inline-start:auto; width:max-content; max-width:100%; padding:0; }
#site-header .elementor-widget-nav-menu > .elementor-widget-container{ width:auto; }
#site-header #header-cta{ flex:0 0 auto; }
#site-header .elementor-nav-menu--main .elementor-nav-menu{ flex-wrap:nowrap; }

/* nav links */
#site-header .elementor-nav-menu--main .elementor-item{
  font-family:"Inter",sans-serif; font-size:14.5px; font-weight:500;
  color:#C7D4E8; fill:#C7D4E8; padding:0; white-space:nowrap; letter-spacing:normal; line-height:normal;
}
#site-header .elementor-nav-menu--main .elementor-item:hover,
#site-header .elementor-nav-menu--main .elementor-item:focus,
#site-header .elementor-nav-menu--main .elementor-item.elementor-item-active{
  color:#FFFFFF; fill:#FFFFFF;
}
#site-header .elementor-nav-menu--main .elementor-nav-menu a:before,
#site-header .elementor-nav-menu--main .elementor-nav-menu a:after{ display:none; }
#site-header .elementor-nav-menu--main{ --e-nav-menu-horizontal-menu-item-margin:17px; }
#site-header .elementor-nav-menu--main .elementor-nav-menu > li > a{ padding-inline:0; }

/* Book a Call button */
#site-header #header-cta{
  display:inline-flex; align-items:center; justify-content:center;
  background:#0279DF; color:#FFFFFF; fill:#FFFFFF;
  font-family:"Inter",sans-serif; font-size:14px; font-weight:600; line-height:1.4;
  padding:14px 26px; border-radius:8px; border:0; text-decoration:none; line-height:normal;
  white-space:nowrap; transition:opacity .15s ease;
}
#site-header #header-cta:hover{ opacity:.88; color:#FFFFFF; }

/* the homepage-style pages (tsm-nav-a) had no hover colour on the links */
body.tsm-nav-a #site-header .elementor-nav-menu--main .elementor-item:not(.elementor-item-active):hover{ color:#C7D4E8; fill:#C7D4E8; }

/* the plain pages used the padded 1600px wordmark file (letters sit 7px in, box is 195px wide) */
body.tsm-nav-b #site-header #site-logo{ content:url(/wp-content/uploads/2026/09/wordmark-white.png); }

/* the Book a Call menu item only appears inside the plain pages' mobile menu */
#site-header .elementor-nav-menu--main .tsm-menu-cta,
body.tsm-nav-a #site-header .elementor-nav-menu--dropdown .tsm-menu-cta{ display:none; }

/* the hidden menu item is the real last child, so drop the trailing gap on the last visible link */
#site-header .elementor-nav-menu--main .elementor-nav-menu > li:has(+ li.tsm-menu-cta) > a{ margin-inline-end:0; }

/* ---- toggle: Elementor's icons replaced with the original glyphs ---- */
#site-header .elementor-menu-toggle{
  color:#FFFFFF; background:transparent; padding:0; border:0; cursor:pointer;
  display:none; align-items:center; justify-content:center;
}
#site-header .elementor-menu-toggle svg,
#site-header .elementor-menu-toggle i{ display:none; }
body.tsm-nav-a #site-header .elementor-menu-toggle{ width:auto; height:22px; }
body.tsm-nav-a #site-header .elementor-menu-toggle::before{
  content:"\2630"; font-size:22px; line-height:1; color:#FFFFFF; font-family:initial; /* the original inherited the browser's default font */
}
body.tsm-nav-b #site-header .elementor-menu-toggle{ width:40px; height:40px; }
body.tsm-nav-b #site-header .elementor-menu-toggle::before{
  content:""; display:block; width:20px; height:1.5px; background:#FFFFFF;
  box-shadow:0 -7px 0 #FFFFFF, 0 7px 0 #FFFFFF;
}

/* ---- dropdowns ---- */
#site-header .elementor-nav-menu--dropdown{ z-index:99; background-color:#000B26; margin-top:0; }
/* SmartMenus' clearfix would become an extra flex row */
#site-header .elementor-nav-menu--dropdown .elementor-nav-menu::before,
#site-header .elementor-nav-menu--dropdown .elementor-nav-menu::after{ display:none; }
#site-header .elementor-nav-menu--dropdown .elementor-nav-menu{ display:flex; flex-direction:column; }
#site-header .elementor-nav-menu--dropdown a,
#site-header .elementor-nav-menu--dropdown a.elementor-item-active,
#site-header .elementor-nav-menu--dropdown a:hover{
  font-family:"Inter",sans-serif; font-weight:500; color:#C7D4E8; background:transparent;
  line-height:normal; letter-spacing:normal; border:0;
}
/* homepage style: a panel hanging off the right edge */
body.tsm-nav-a #site-header .elementor-nav-menu--dropdown{
  position:absolute; top:100%; right:0; left:auto; width:auto; min-width:268px; max-width:80vw; /* 220px + padding: the original was content-box */
  border-radius:0 0 0 12px; box-shadow:0 16px 28px rgba(0,0,0,.35);
}
body.tsm-nav-a #site-header .elementor-nav-menu--dropdown .elementor-nav-menu{
  align-items:flex-end; text-align:right; gap:16px; padding:18px 24px 22px;
}
body.tsm-nav-a #site-header .elementor-nav-menu--dropdown a{ padding:0; font-size:13.5px; justify-content:flex-end; }
/* plain pages: a full-width menu under the bar, ending with the Book a Call button */
body.tsm-nav-b #site-header .elementor-nav-menu--dropdown{ border-radius:0; box-shadow:none; }
body.tsm-nav-b #site-header .elementor-nav-menu--dropdown .elementor-nav-menu{
  gap:2px; padding:8px 24px 24px; border-top:1px solid rgba(255,255,255,.08);
}
body.tsm-nav-b #site-header .elementor-nav-menu--dropdown a{ padding:12px 0; font-size:15px; justify-content:flex-start; }
body.tsm-nav-b #site-header .elementor-nav-menu--dropdown a.elementor-item-active{ color:#FFFFFF; }
body.tsm-nav-b #site-header .elementor-nav-menu--dropdown .tsm-menu-cta{ margin-top:12px; }
body.tsm-nav-b #site-header .elementor-nav-menu--dropdown .tsm-menu-cta a{
  justify-content:center; background:#0279DF; color:#FFFFFF; font-size:15px; font-weight:600;
  line-height:normal; padding:12px 0; border-radius:8px;
}
/* the nav widget and the dropdown are positioned against the sticky bar, not the widget */
#site-header .elementor-widget-nav-menu,
#site-header .elementor-widget-nav-menu > .elementor-widget-container,
#header-right{ position:static; }

@media (max-width:1100px){
  #site-header{ padding:18px 32px; }
  body.tsm-nav-a #header-right{ gap:18px; }
  body.tsm-nav-a #site-header .elementor-nav-menu--main{ --e-nav-menu-horizontal-menu-item-margin:9px; }
  body.tsm-nav-a #site-header .elementor-nav-menu--main .elementor-item{ font-size:13.5px; }
}
@media (max-width:860px){
  #site-header .elementor-menu-toggle{ display:flex; }
}
@media (max-width:859px){
  body.tsm-nav-b #site-header #header-cta{ display:none; }
  /* the plain pages' menu sat in the flow under the bar and pushed the page down:
     unwrap the widget so the dropdown becomes a full-width row of the bar itself */
  body.tsm-nav-b #site-header{ flex-wrap:wrap; }
  body.tsm-nav-b #header-right,
  body.tsm-nav-b #site-header .elementor-widget-nav-menu,
  body.tsm-nav-b #site-header .elementor-widget-nav-menu > .elementor-widget-container{ display:contents; }
  body.tsm-nav-b #site-header .elementor-nav-menu--dropdown{
    position:static; order:5; flex:0 0 calc(100% + 64px); width:auto; max-width:none;
    margin:18px -32px -18px;
  }
}
@media (max-width:560px){
  #site-header{ padding:16px 20px; }
  body.tsm-nav-b #site-header .elementor-nav-menu--dropdown{ flex-basis:calc(100% + 40px); margin:16px -20px -16px; }
}

/* the original pages use the browser's default font smoothing (Hello sets antialiased on body) */
body{ -webkit-font-smoothing:auto; -moz-osx-font-smoothing:auto; }

/* sticky header: the template's wrapper is exactly as tall as the header, which would leave
   #site-header no room to stick, so the wrapper itself sticks to the top of the page */
.elementor:has(> #site-header){ position:sticky; top:0; z-index:100; }
body.admin-bar .elementor:has(> #site-header){ top:32px; }
@media (max-width:782px){ body.admin-bar .elementor:has(> #site-header){ top:46px; } }
@media (max-width:600px){ body.admin-bar .elementor:has(> #site-header){ top:0; } }
