/* TSI Vacations master header. All rules scoped: safe beside existing Elementor HTML. */
#tsi-shared-header,#tsi-shared-header *{box-sizing:border-box}
#tsi-shared-header{--tsi-green:#194d3a;--tsi-deep:#103c31;--tsi-ink:#20362f;--tsi-serif:Georgia,"Times New Roman",serif;--tsi-sans:"Aptos","Segoe UI",Arial,sans-serif;position:relative;z-index:90;width:100%;background:#fff;color:var(--tsi-ink);font-family:var(--tsi-sans);font-size:14px;line-height:1.4;text-align:left}
#tsi-shared-header a{text-decoration:none;color:inherit}
#tsi-shared-header button{font-family:inherit;cursor:pointer}
#tsi-shared-header .tsi-sh-utility{min-height:34px;background:#103e32;color:#edf5f0;letter-spacing:1.7px;font-size:10px;line-height:1.4}
#tsi-shared-header .tsi-sh-utility-inner{max-width:1448px;padding:9px 4.7%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
#tsi-shared-header .tsi-sh-utility-inner span:nth-child(2){white-space:nowrap;letter-spacing:1.1px}
#tsi-shared-header .tsi-sh-utility-inner i{font-style:normal;margin:0 6px}
#tsi-shared-header .tsi-sh-utility-inner b{font-weight:400;margin:0 14px;color:#acc8b8}
#tsi-shared-header .tsi-sh-utility a:hover{text-decoration:underline;color:#fff}
#tsi-shared-header .tsi-sh-white{background:#fff;border-bottom:1px solid #edf1ee}
#tsi-shared-header .tsi-sh-inner{min-height:68px;padding:0 4.7%;max-width:1448px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
#tsi-shared-header .tsi-sh-brand{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;min-width:226px;white-space:nowrap;line-height:1}
#tsi-shared-header .tsi-sh-logo{display:block;width:60px;height:54px;object-fit:contain;max-width:none;border:0}
#tsi-shared-header .tsi-sh-brand-text strong{display:block;font:normal 26px/1.08 var(--tsi-serif);color:#194737;letter-spacing:.25px}
#tsi-shared-header .tsi-sh-brand-text small{display:block;margin-top:6px;font:400 8px/1.2 var(--tsi-sans);letter-spacing:2.1px;color:#607d6d}
#tsi-shared-header .tsi-sh-nav{display:flex;justify-content:flex-end;align-items:center;gap:clamp(9px,1.45vw,22px);min-width:0;min-height:68px}
#tsi-shared-header .tsi-sh-group{position:relative;display:flex;align-items:center;align-self:stretch}
#tsi-shared-header .tsi-sh-nav-line{display:flex;align-items:center;white-space:nowrap}
#tsi-shared-header .tsi-sh-label,#tsi-shared-header .tsi-sh-single,#tsi-shared-header .tsi-sh-parent{position:relative;display:inline-flex;align-items:center;border:0;background:transparent;padding:12px 0;color:#20362f;font-weight:600;font-size:11px;line-height:1.2;white-space:nowrap;transition:color .18s}
#tsi-shared-header .tsi-sh-label:hover,#tsi-shared-header .tsi-sh-single:hover,#tsi-shared-header .tsi-sh-parent:hover{color:#1b7852}
#tsi-shared-header .tsi-sh-label.tsi-sh-active,#tsi-shared-header .tsi-sh-single.tsi-sh-active{color:#194d3a}
#tsi-shared-header .tsi-sh-label.tsi-sh-active::after,#tsi-shared-header .tsi-sh-single.tsi-sh-active::after{content:"";height:2px;background:#196046;position:absolute;left:0;right:0;bottom:3px}
#tsi-shared-header .tsi-sh-caret{background:transparent;border:0;font-size:13px;color:#224c3a;padding:9px 0 9px 4px;margin-left:1px;line-height:1}
#tsi-shared-header .tsi-sh-parent{padding:12px 0;gap:5px}
#tsi-shared-header .tsi-sh-dropdown{position:absolute;left:-18px;top:calc(100% - 2px);z-index:100;min-width:248px;width:max-content;max-width:min(330px,88vw);padding:10px 0;background:#fff;border:1px solid #dce7df;box-shadow:0 15px 35px rgba(21,57,43,.12);opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .18s,transform .18s,visibility .18s}
#tsi-shared-header .tsi-sh-group-right .tsi-sh-dropdown{left:auto;right:-5px}
#tsi-shared-header .tsi-sh-dropdown a{display:block;padding:11px 18px;color:#32463b;font-size:12px;line-height:1.35;font-weight:500;white-space:normal;border-left:2px solid transparent;transition:background .14s,color .14s,border-color .14s}
#tsi-shared-header .tsi-sh-dropdown a:hover,#tsi-shared-header .tsi-sh-dropdown a:focus-visible{background:#f0f5f1;color:#194d3a;border-left-color:#196046}
@media (min-width:1101px){
 #tsi-shared-header .tsi-sh-group:hover .tsi-sh-dropdown,#tsi-shared-header .tsi-sh-group:focus-within .tsi-sh-dropdown,#tsi-shared-header .tsi-sh-group.tsi-sh-open .tsi-sh-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
}
#tsi-shared-header .tsi-sh-cta{display:inline-block;white-space:nowrap;background:#194d3a;color:#fff!important;padding:13px 16px;font-size:10px;font-weight:700;letter-spacing:.25px;border:1px solid #194d3a;transition:background .18s,box-shadow .18s}
#tsi-shared-header .tsi-sh-cta:hover{background:#246b50;box-shadow:0 2px 9px rgba(0,0,0,.13)}
#tsi-shared-header .tsi-sh-mobile-toggle{display:none;background:#fff;color:#103c31;border:1px solid #d5e1d7;padding:9px 12px;font-size:11px;font-weight:700;letter-spacing:1px;align-items:center;gap:10px}
#tsi-shared-header .tsi-sh-bars{display:inline-flex;flex-direction:column;gap:4px}
#tsi-shared-header .tsi-sh-bars i{display:block;width:17px;height:1px;background:#164333}
@media (max-width:1100px){
 #tsi-shared-header .tsi-sh-inner{min-height:71px;flex-wrap:wrap;padding:7px 4.7%}
 #tsi-shared-header .tsi-sh-mobile-toggle{display:inline-flex}
 #tsi-shared-header .tsi-sh-nav{display:none;min-height:0;width:100%;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 13px;border-top:1px solid #e7eee8}
 #tsi-shared-header .tsi-sh-nav.tsi-sh-mobile-open{display:flex}
 #tsi-shared-header .tsi-sh-group{display:block;border-bottom:1px solid #eef2ee}
 #tsi-shared-header .tsi-sh-nav-line{justify-content:space-between}
 #tsi-shared-header .tsi-sh-label,#tsi-shared-header .tsi-sh-single,#tsi-shared-header .tsi-sh-parent{display:flex;padding:15px 3px;font-size:13px;line-height:1.35}
 #tsi-shared-header .tsi-sh-caret{padding:15px 16px;font-size:15px;min-width:44px;min-height:44px}
 #tsi-shared-header .tsi-sh-parent{width:100%;justify-content:space-between}
 #tsi-shared-header .tsi-sh-label.tsi-sh-active::after,#tsi-shared-header .tsi-sh-single.tsi-sh-active::after{bottom:8px;left:3px;right:0}
 #tsi-shared-header .tsi-sh-dropdown,#tsi-shared-header .tsi-sh-group-right .tsi-sh-dropdown{position:static;display:none;opacity:1;visibility:visible;transform:none;min-width:0;max-width:none;width:100%;padding:0 0 7px 15px;box-shadow:none;border:0;border-left:1px solid #dce7df;background:#fbfcfb}
 #tsi-shared-header .tsi-sh-group.tsi-sh-open .tsi-sh-dropdown{display:block}
 #tsi-shared-header .tsi-sh-dropdown a{font-size:12px;padding:10px 13px}
 #tsi-shared-header .tsi-sh-single{border-bottom:1px solid #eef2ee}
 #tsi-shared-header .tsi-sh-cta{text-align:center;margin-top:13px;font-size:11px;padding:14px}
}
@media (max-width:580px){
 #tsi-shared-header .tsi-sh-utility{font-size:8px;letter-spacing:.8px}
 #tsi-shared-header .tsi-sh-utility-inner{display:block;text-align:center;padding:6px 12px}
 #tsi-shared-header .tsi-sh-utility-inner span{display:block}
 #tsi-shared-header .tsi-sh-utility-inner span:nth-child(2){letter-spacing:.4px;margin-top:4px}
 #tsi-shared-header .tsi-sh-inner{padding:7px 4%}
 #tsi-shared-header .tsi-sh-logo{height:45px;width:49px}
 #tsi-shared-header .tsi-sh-brand{min-width:0;gap:6px}
 #tsi-shared-header .tsi-sh-brand-text strong{font-size:22px}
 #tsi-shared-header .tsi-sh-brand-text small{font-size:6px;letter-spacing:1.7px}
}
