.elementor-kit-8{--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;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===== GLOBAL HEADER SYSTEM =====
   The header lives in ONE Elementor template: TT GLOBAL HEADER (ID 1292).
   Every page renders it through a Template widget, so editing that one
   template changes the header everywhere. Do not paste a header onto a page. */

/* 1. Global header slot */
.elementor > .elementor-element:first-child .elementor-widget-template,
.elementor > .elementor-element:first-child .elementor-widget-template > .elementor-widget-container{margin:0 !important;padding:0 !important;width:100% !important;max-width:none !important}

/* 2. Header shell */
header.elementor-element > .e-con-inner{max-width:1400px !important}
header.elementor-element{gap:12px !important}
header.elementor-element .elementor-widget-nav-menu{margin-left:auto !important;margin-right:auto !important}

/* 3. Burger toggle */
@media (max-width:1200px){
.elementor-menu-toggle{width:46px !important;height:46px !important;min-width:46px !important;flex:0 0 auto !important;padding:0 !important;align-items:center !important;justify-content:center !important;box-sizing:border-box !important;border-radius:14px !important}
.elementor-menu-toggle svg{width:24px !important;height:24px !important;min-width:24px !important;fill:currentColor !important}
.elementor-menu-toggle i{font-size:24px !important;line-height:1 !important}
header.elementor-element .elementor-widget-nav-menu{margin-left:auto !important;margin-right:0 !important}
}

/* 4. Purple bar + white nav */
header.elementor-element{background-color:#3B1E63 !important;border-bottom:2px solid #C8A44D !important;box-shadow:0 4px 20px rgba(43,21,72,.18) !important}
header.elementor-element .elementor-heading-title{color:#FFFFFF !important}
header.elementor-element .elementor-nav-menu--main .elementor-item{color:#FFFFFF !important}
header.elementor-element .elementor-nav-menu--main .elementor-item:hover,
header.elementor-element .elementor-nav-menu--main .elementor-item:focus,
header.elementor-element .elementor-nav-menu--main .elementor-item.highlighted{color:#FFFFFF !important}
header.elementor-element .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item::before,
header.elementor-element .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item::after{background-color:rgba(255,255,255,.20) !important;border-radius:999px !important}
header.elementor-element .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#3B1E63 !important}
header.elementor-element .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active::before,
header.elementor-element .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active::after{background-color:#C8A44D !important}
header.elementor-element .elementor-nav-menu--main .sub-arrow{display:inline-flex !important;align-items:center !important;margin-left:6px !important}
header.elementor-element .elementor-nav-menu--main .sub-arrow svg{fill:#C8A44D !important;width:12px !important;height:12px !important;transition:transform .25s ease}
header.elementor-element .elementor-nav-menu--main .menu-item-has-children:hover .sub-arrow svg{transform:translateY(1px)}
header.elementor-element .elementor-nav-menu--main .elementor-item-active .sub-arrow svg{fill:#3B1E63 !important}
header.elementor-element .elementor-menu-toggle{color:#FFFFFF !important;border:1px solid rgba(255,255,255,.45) !important;background:rgba(255,255,255,.16) !important}

/* 5. Header buttons */
header.elementor-element .elementor-button{border-radius:999px !important;transition:background-color .25s ease, color .25s ease, border-color .25s ease, transform .2s ease, box-shadow .25s ease !important}
header.elementor-element .elementor-widget-button:not(.tt-phone-btn) .elementor-button{background-color:#C8A44D !important;color:#3B1E63 !important}
header.elementor-element .elementor-widget-button:not(.tt-phone-btn) .elementor-button:hover{background-color:#B8933F !important;color:#2A1348 !important;transform:translateY(-2px);box-shadow:0 10px 26px rgba(200,164,77,.45) !important}
header.elementor-element .tt-phone-btn .elementor-button{display:inline-flex !important;align-items:center !important;justify-content:center !important;background-color:rgba(255,255,255,.10) !important;color:#FFFFFF !important;border:1.5px solid rgba(255,255,255,.55) !important;font-weight:600 !important;font-size:14px !important;line-height:1 !important;padding:0 24px !important;height:46px !important;min-height:46px !important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
header.elementor-element .tt-phone-btn .elementor-button .elementor-button-content-wrapper{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:9px !important}
header.elementor-element .tt-phone-btn .elementor-button .elementor-button-icon,
header.elementor-element .tt-phone-btn .elementor-button .elementor-button-icon svg{color:#C8A44D !important;fill:#C8A44D !important;margin:0 !important}
header.elementor-element .tt-phone-btn .elementor-button:hover{background-color:rgba(255,255,255,.22) !important;color:#FFFFFF !important;border-color:#FFFFFF !important;transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.20) !important}
header.elementor-element .tt-phone-btn .elementor-button:hover .elementor-button-icon,
header.elementor-element .tt-phone-btn .elementor-button:hover .elementor-button-icon svg{color:#FFFFFF !important;fill:#FFFFFF !important}
@media (max-width:1200px){
header.elementor-element .tt-phone-btn .elementor-button-text{display:none !important}
header.elementor-element .tt-phone-btn .elementor-button{width:46px !important;height:46px !important;min-height:46px !important;padding:0 !important}
header.elementor-element .tt-phone-btn .elementor-button .elementor-button-content-wrapper{gap:0 !important}
header.elementor-element .tt-phone-btn .elementor-button-icon{margin:0 !important}
}
@media (max-width:479px){header.elementor-element .tt-phone-btn{display:none !important}}

/* 6. MOBILE / TABLET PANEL + SUB-MENUS */
@media (max-width:1200px){
header.elementor-element nav.elementor-nav-menu--dropdown.elementor-nav-menu--dropdown.elementor-nav-menu__container{max-height:calc(100vh - 130px) !important;overflow-y:auto !important;overflow-x:hidden !important;background-color:#FFFFFF !important}
header.elementor-element nav.elementor-nav-menu--dropdown .elementor-item{color:#3B1E63 !important;font-weight:600 !important}
header.elementor-element nav.elementor-nav-menu--dropdown .elementor-item:hover,
header.elementor-element nav.elementor-nav-menu--dropdown .elementor-item.highlighted,
header.elementor-element nav.elementor-nav-menu--dropdown .elementor-item[aria-expanded='true']{background-color:#3B1E63 !important;color:#FFFFFF !important;border-radius:12px !important}
header.elementor-element nav.elementor-nav-menu--dropdown .elementor-item:hover .sub-arrow svg,
header.elementor-element nav.elementor-nav-menu--dropdown .elementor-item.highlighted .sub-arrow svg,
header.elementor-element nav.elementor-nav-menu--dropdown .elementor-item[aria-expanded='true'] .sub-arrow svg{fill:#FFFFFF !important}
header.elementor-element nav.elementor-nav-menu--dropdown .elementor-item.elementor-item-active{background-color:#C8A44D !important;color:#3B1E63 !important;border-radius:12px !important}
header.elementor-element nav.elementor-nav-menu--dropdown a.has-submenu{display:flex !important;align-items:center !important;justify-content:center !important;gap:8px}
header.elementor-element nav.elementor-nav-menu--dropdown a.has-submenu .sub-arrow{margin:0 !important;transition:transform .25s ease}
header.elementor-element nav.elementor-nav-menu--dropdown .sub-arrow svg{fill:#3B1E63 !important;width:14px !important;height:14px !important}
header.elementor-element nav.elementor-nav-menu--dropdown a[aria-expanded='true'] .sub-arrow{transform:rotate(180deg)}
header.elementor-element nav.elementor-nav-menu--dropdown ul.sub-menu.elementor-nav-menu--dropdown{position:static !important;width:100% !important;max-width:none !important;min-width:0 !important;left:auto !important;right:auto !important;top:auto !important;margin:4px 0 6px !important;padding:6px !important;box-shadow:none !important;border-radius:12px !important;background-color:#F1ECF8 !important;height:auto !important;max-height:none !important;transform:none !important}
header.elementor-element nav.elementor-nav-menu--dropdown li > a[aria-expanded='true'] + ul.sub-menu.elementor-nav-menu--dropdown{display:block !important}
header.elementor-element nav.elementor-nav-menu--dropdown ul.sub-menu.elementor-nav-menu--dropdown .elementor-sub-item{color:#3B1E63 !important;padding:12px 14px !important;border-radius:10px !important;font-weight:600 !important;text-align:center !important;justify-content:center !important}
header.elementor-element nav.elementor-nav-menu--dropdown ul.sub-menu.elementor-nav-menu--dropdown .elementor-sub-item:hover,
header.elementor-element nav.elementor-nav-menu--dropdown ul.sub-menu.elementor-nav-menu--dropdown .elementor-sub-item.highlighted,
header.elementor-element nav.elementor-nav-menu--dropdown ul.sub-menu.elementor-nav-menu--dropdown .elementor-sub-item.elementor-item-active{background-color:#3B1E63 !important;color:#FFFFFF !important}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){.elementor-invisible{visibility:visible !important;animation:none !important}}

/* 7. FONT-METRIC FALLBACKS (CLS fix) */
@font-face{font-family:'Poppins-fallback';src:local('Arial');size-adjust:112%;ascent-override:105%;descent-override:35%;line-gap-override:0%}
@font-face{font-family:'Roboto-fallback';src:local('Arial');size-adjust:100%;ascent-override:92%;descent-override:24%;line-gap-override:0%}
body,button,input,select,textarea{font-family:Roboto,'Roboto-fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
h1,h2,h3,h4,h5,h6,.elementor-heading-title{font-family:Poppins,'Poppins-fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}

/* 8. Image aspect-ratio to prevent CLS */
.elementor-widget-image img,.elementor-widget-image-carousel img{height:auto}
img[width][height]{aspect-ratio:attr(width) / attr(height)}

/* ===== 9. FOUC GUARD - header paints before its own CSS arrives =====
   The header is a nested Template widget, so Elementor only discovers the
   nav-menu widget AFTER <head> has been sent: widget-nav-menu.min.css and
   post-1292.css are printed near the END of the document (~char 165000 of
   175000). Until they load the header painted as raw <ul> lists with
   full-size SVG icons on every page. THIS kit stylesheet is in <head>, so the
   rules below give the header its correct shape at first paint.
   NOTE 1: the header is an e-con-boxed container, so the layout lives on
   > .e-con-inner. Do NOT set --flex-direction on the header itself: it would
   inherit into the logo group and split TYCOON Tours / SCOTLAND onto one line.
   NOTE 2: the menu must be flex-wrap:nowrap here. The nav box is only ~366px
   wide until post-1292.css lands and wrap pushes More Tours + About onto a
   second line for the first few hundred ms.
   Keep in sync with sections 2-6. Single quotes only in attribute .elementor-kit-8s -
   double quotes get escaped into the generated file and kill the rule. */
header.elementor-element{width:100%}
header.elementor-element > .e-con-inner{flex-direction:row !important;align-items:center !important;justify-content:space-between !important;flex-wrap:nowrap !important}
header.elementor-element .elementor-nav-menu,
header.elementor-element .elementor-nav-menu ul{list-style:none;margin:0;padding:0}
header.elementor-element .elementor-nav-menu a{text-decoration:none;display:flex;align-items:center;line-height:1;white-space:nowrap}
header.elementor-element nav.elementor-nav-menu--main ul.elementor-nav-menu{display:flex;flex-wrap:nowrap;align-items:center}
header.elementor-element nav.elementor-nav-menu--main ul.elementor-nav-menu > li{position:relative;flex:0 0 auto}
header.elementor-element nav.elementor-nav-menu--main ul.sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;z-index:9999;background-color:#FFFFFF}
header.elementor-element nav.elementor-nav-menu--main li:hover > ul.sub-menu{display:block}
header.elementor-element nav.elementor-nav-menu--dropdown ul.sub-menu{display:none}
header.elementor-element .elementor-menu-toggle svg{width:24px;height:24px}
header.elementor-element .elementor-menu-toggle .elementor-menu-toggle__icon--close{display:none}
header.elementor-element .elementor-menu-toggle[aria-expanded='true'] .elementor-menu-toggle__icon--close,
header.elementor-element .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--close{display:block}
header.elementor-element .elementor-menu-toggle[aria-expanded='true'] .elementor-menu-toggle__icon--open,
header.elementor-element .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open{display:none}
@media (min-width:1201px){
header.elementor-element .elementor-menu-toggle{display:none !important}
header.elementor-element nav.elementor-nav-menu--dropdown{display:none !important}
}
@media (max-width:1200px){
header.elementor-element nav.elementor-nav-menu--main{display:none !important}
header.elementor-element nav.elementor-nav-menu--dropdown{display:none}
header.elementor-element .elementor-menu-toggle[aria-expanded='true'] + nav.elementor-nav-menu--dropdown,
header.elementor-element .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown{display:block}
}

/* ===== 10. STICKY HEADER (desktop / tablet / mobile) =====
   Sticky goes on the header SLOT (.elementor > first child), NOT on
   header.elementor-element itself: the header's own parent is only as tall as
   the header, so a sticky header would have zero room to travel and would
   never stick. The slot's parent is .elementor (full page height), which is
   what makes it work. Verified no ancestor sets overflow:hidden or a
   transform - either one silently disables position:sticky.
   Because sticky keeps the header in normal flow, no body padding offset is
   needed and the hero is not covered. */
.elementor > .elementor-element:first-child{position:sticky !important;top:0 !important;z-index:9999 !important;width:100% !important}
/* keep the sticky bar clear of the WP admin bar for logged-in users (the admin
   bar is fixed down to 600px, then becomes absolute and scrolls away) */
body.admin-bar .elementor > .elementor-element:first-child{top:32px !important}
@media screen and (max-width:782px){body.admin-bar .elementor > .elementor-element:first-child{top:46px !important}}
@media screen and (max-width:600px){body.admin-bar .elementor > .elementor-element:first-child{top:0 !important}}
/* slightly stronger shadow so the bar reads as floating above content */
header.elementor-element{box-shadow:0 6px 22px rgba(43,21,72,.24) !important}/* End custom CSS */