/* Shared local globe; scoped to company and executive contact profiles. */
.tns-profile-globe-shell { height: auto; max-width: none; padding: 0; background: none; border: 0; box-shadow: none; border-radius: 0; }
.tns-profile-globe-shell::before, .tns-profile-globe-shell > .biz-globe-legend, .tns-profile-globe-shell > .biz-globe-zoom, .tns-profile-globe-shell > .biz-globe-hint { display: none; }
#cardGlobe.tns-profile-globe, #biz-globe.tns-profile-globe {
    width: 100%; height: auto; max-height: none; aspect-ratio: auto; box-sizing: border-box;
    overflow: hidden; border: 1px solid #28404d; background: #0f202c; color: #dce5e9;
    padding: 20px; text-align: left; cursor: auto; font: 400 13px/1.5 Inter, Arial, sans-serif;
}
.tns-profile-globe * { box-sizing: border-box; }
.tns-globe-regions { display: flex; flex-wrap: wrap; gap: 5px; }
.tns-profile-globe button {
    appearance: none; border: 1px solid #36505f; background: transparent; color: #dce5e9;
    font: inherit; min-height: 40px; padding: 7px 13px; border-radius: 2px; cursor: pointer;
    box-shadow: none; text-transform: none; letter-spacing: normal;
}
.tns-profile-globe button:hover { background: #1c3545; color: #fff; }
.tns-profile-globe button:disabled { opacity: .35; cursor: default; }
.tns-globe-regions button[aria-pressed="true"] { background: #dce5e9; border-color: #dce5e9; color: #11232f; }
.tns-profile-globe :focus-visible { outline: 2px solid #9cdae0; outline-offset: 3px; }
.tns-globe-stage { position: relative; height: 400px; margin-top: 12px; }
.tns-globe-canvas { height: 100%; width: 100%; }
.tns-globe-canvas canvas { display: block; }
.tns-globe-loading { position: absolute; inset: 35% 12% auto; margin: 0; text-align: center; color: #b8cbd4; }
.tns-globe-loading[hidden] { display: none; }
.tns-globe-loading button { margin-top: 10px; }
.tns-profile-globe .tns-globe-hint { margin: 0 0 14px; color: #a7bac6; text-align: center; font-size: 11px; }
.tns-globe-controls { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; padding: 16px 0; border-top: 1px solid #28404d; }
.tns-globe-controls button:first-child, .tns-globe-controls button:nth-child(2) { min-width: 40px; font-size: 19px; line-height: 1; }
.tns-profile-globe .tns-globe-status { margin: 0; text-align: center; min-height: 20px; color: #c7d7df; font-size: 12px; }
.tns-globe-directory { padding-top: 18px; }
.tns-globe-directory label { display: block; margin-bottom: 7px; color: #afc0ca; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.tns-globe-select { width: 100%; max-width: 100%; min-height: 44px; padding: 10px; border: 1px solid #36505f; border-radius: 2px; background: #132a39; color: #e6edf1; font: inherit; }
.tns-profile-globe .tns-globe-note { color: #94aeba; margin: 13px 0 0; font-size: 10px; line-height: 1.6; }
#cardGlobe .tns-globe-stage { height: 400px; }
@media (max-width: 600px) {
    #cardGlobe.tns-profile-globe, #biz-globe.tns-profile-globe { padding: 13px; }
    .tns-globe-stage, #cardGlobe .tns-globe-stage { height: 300px; }
    .tns-profile-globe button { min-height: 44px; padding: 7px 10px; font-size: 12px; }
}
@media print { .tns-profile-globe-shell, .tns-profile-globe { display: none !important; } }
